GCP 中的服务帐户模拟是处理开发人员凭据和权限的最佳方式吗?
Is service account impersonation in GCP the best way to handle developer credentials and permissions?
在 GCP 中,服务帐户模拟是一种创建临时 IAM 凭据以作为开发人员执行操作的方法(请参阅 here). This has been described as equivalent to assuming a role in AWS - see this other question。
我的问题是:
- 这是在 google 云中执行此操作的 recommended/canonical 方式吗,即围绕服务帐户分组权限并允许开发人员模拟该服务帐户?
- 或者创建自定义角色并将它们直接分配给开发人员身份(而不是通过服务帐户间接分配)是否更好?但是,当然你失去了短期生活证书的优势。
如果第一个选项有效,这也意味着您最终将拥有与 AWS 中的角色一样多的服务账户。
在一般中,您应该将 IAM 角色授予组,然后将开发人员添加到适当的组。
例如,您可能希望授予所有开发人员对项目的“编辑”权限。为此,请向项目授予 group:ll-developers@yourcompany.com
Editor 角色。然后,使用 LDAP 或 G Suite 确保所有开发人员都是该组的成员。
您可以为开发人员提供 actAs
服务帐户的能力,但审计日志和主体将是服务帐户,而不是开发人员。
在 GCP 中,服务帐户模拟是一种创建临时 IAM 凭据以作为开发人员执行操作的方法(请参阅 here). This has been described as equivalent to assuming a role in AWS - see this other question。
我的问题是:
- 这是在 google 云中执行此操作的 recommended/canonical 方式吗,即围绕服务帐户分组权限并允许开发人员模拟该服务帐户?
- 或者创建自定义角色并将它们直接分配给开发人员身份(而不是通过服务帐户间接分配)是否更好?但是,当然你失去了短期生活证书的优势。
如果第一个选项有效,这也意味着您最终将拥有与 AWS 中的角色一样多的服务账户。
在一般中,您应该将 IAM 角色授予组,然后将开发人员添加到适当的组。
例如,您可能希望授予所有开发人员对项目的“编辑”权限。为此,请向项目授予 group:ll-developers@yourcompany.com
Editor 角色。然后,使用 LDAP 或 G Suite 确保所有开发人员都是该组的成员。
您可以为开发人员提供 actAs
服务帐户的能力,但审计日志和主体将是服务帐户,而不是开发人员。