1

我正在编写一个应用程序,该应用程序在 gcp 上的不同项目中完成一项小工作。用户通过电子邮件将服务帐户(来自我的项目)作为 IAM 策略中的成员添加到他的项目。然后他分配一些权限,应用程序就可以完成它的工作。

该应用程序可以在连接的项目中增长,所以我的问题是:

服务帐户可以加入的项目数量是否有上限?

我读到不应该在“每个用户”的基础上创建服务帐户,也不应该创建太多服务帐户。所以我认为我不应该为每个项目创建一个服务帐户。另一方面,对我来说,拥有一个拥有不同客户项目权利的帐户似乎很奇怪。

是否有以可扩展且安全的方式处理“多项目”服务帐户的最佳实践?

4

1 回答 1

-1

“服务帐户可以加入的项目数量是否有上限?”

服务帐户用于调用服务的 Google API。由于您必须从另一个项目(称为此项目 B)添加一个服务帐户作为项目成员(称为此项目 A)才能在项目 A 中为其分配角色/权限,我相信以下限制也适用于您的问题。

我在一个项目中最多可以拥有多少个服务帐户?

您可以在一个项目中创建 100 个服务帐号。如果您需要在一个项目中创建超过 100 个服务帐号,请联系您的客户经理。

谷歌 IAM 常见问题

您可以使用 IAM API、GCP 控制台或 gcloud 命令行工具为每个项目创建最多 100 个服务帐号(包括默认的 Compute Engine 服务帐号和 App Engine 服务帐号)。这些默认服务帐户和您明确创建的服务帐户是用户管理的服务帐户。

谷歌服务帐号

最佳实践

  • 限制谁可以充当服务帐户。作为服务帐户用户的用户可以间接访问该服务帐户有权访问的所有资源。因此,将 serviceAccountUser 角色授予用户时要小心。

  • 仅授予服务帐户实现其目标所需的最低权限集。了解如何为特定资源的服务帐号授予角色。

  • 为每个服务创建仅具有该服务所需权限的服务帐户。

  • 使用服务帐户的显示名称来跟踪服务帐户。创建服务帐户时,使用服务帐户的用途填充其显示名称。

  • 为您的服务帐户定义命名约定。

  • 实施流程以自动轮换用户管理的服务帐户密钥。

  • 利用 IAM 服务帐户 API 实施密钥轮换。

  • 使用 serviceAccount.keys.list() 方法或控制台中的 Logs Viewer 页面审核服务帐户和密钥。

  • 不要通过在 Google App Engine 或 Google Compute Engine 上运行实例来删除正在使用的服务帐户。

了解服务帐户

于 2018-10-22T04:28:09.373 回答