一旦启用 api,GCP 默认启用哪些服务帐户?
例如,我在我的项目中启用了 container.googleapis.com,我如何知道创建了哪些 SA 以及使用哪些角色?
谢谢
答案1
GCP 的工作方式不同。请查看文档:
Google Cloud Platform 会自动创建一个名为“Compute Engine 默认服务帐号”的服务帐号,并且 GKE 会将其与其创建的节点关联起来。根据项目的配置方式,默认服务帐号可能具有或不具有使用其他 Cloud Platform API 的权限。GKE 还会分配一些有限的访问范围计算实例。更新默认服务帐号的权限或为计算实例分配更多访问范围并不是从在 GKE 上运行的 Pod 向其他 Cloud Platform 服务进行身份验证的推荐方式。
从 GKE 上运行的应用程序向 Google Cloud Platform 服务进行身份验证的推荐方法是创建自己的 服务帐户。理想情况下,您必须为每个向 Cloud Platform API 发出请求的应用程序创建一个新的服务帐户。
你可以找到有关“Compute Engine 默认服务帐号”的更多信息在里面文档:
新项目附带 Compute Engine 默认服务帐户,可使用以下电子邮件识别:
[PROJECT_NUMBER][email protected]
Google 会创建 Compute Engine 默认服务帐户并自动将其添加到您的项目中,但您可以完全控制该帐户。
Compute Engine 默认服务帐号是使用 Cloud IAM 项目编辑者角色创建的,但您可以修改服务帐号的角色以安全地限制服务帐号可以访问的 Google API。
您可以从项目中删除此服务帐户,但这样做可能会导致任何依赖该服务帐户凭据的应用程序失败。如果您不小心删除了 Compute Engine 默认服务帐号,您可以在 30 天内尝试恢复该帐号。如需了解详情,请参阅创建和管理服务帐户。
另外,请查看文章服务帐号类型:
用户管理的服务帐号
当您使用 Cloud Console 创建新的 Google Cloud 项目时,如果您的项目启用了 Compute Engine API,则系统会默认为您创建一个 Compute Engine 服务帐号。可以使用电子邮件进行识别:
[email protected]
如果您的项目包含 App Engine 应用,则会默认在您的项目中创建默认的 App Engine 服务帐号。可以使用电子邮件进行识别:
[email protected]
不会自动创建其他用户管理服务帐户,
如果您在项目中创建服务帐户,您将为该服务帐户命名,并为其分配以下格式的电子邮件:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
您可以使用 IAM API、Cloud Console 或 gcloud 命令行工具为每个项目创建最多 100 个服务帐号(包括默认的 Compute Engine 服务帐号和 App Engine 服务帐号)。这些默认服务账户和你明确创建的服务账户都是用户管理的服务账户。
和
Google 管理的服务帐号
除了用户管理的服务帐号外,您还可能会在项目的 IAM 政策或 Cloud Console 中看到一些其他服务帐号。这些服务帐号由 Google 创建并拥有。这些帐号代表不同的 Google 服务,每个帐号都会自动获得 IAM 角色来访问您的 Google Cloud 项目。
创建服务帐号请关注创建和管理服务帐户部分创建服务帐号, 例如:
gcloud iam service-accounts create [SA-NAME] \
--description "[SA-DESCRIPTION]" \
--display-name "[SA-DISPLAY-NAME]"
检查现有的服务帐户请关注部分列出服务帐户, 例如:
gcloud iam service-accounts list
此外,请检查快速开始用于 GKE。