我有一个应用需要一组对平台上各种资源的权限。我想为这个应用设置多个(比如说 2 个)服务帐户,以将生产活动与开发活动分开。
一般是谷歌建议避免创建服务帐户组 (SA)。他们说 SA 对应于一个应用程序,而应用程序通常是唯一的。我认为在我的例子中它并不是真正唯一的。
所以我考虑创建一个组,但对所有权感到困惑。如果我创建了组,我就会自动成为该组的成员,所以我将获得所有权限。由于这个组是为应用程序准备的,我想避免根据我们在平台上运行的应用程序授予自己权限,这可能会很快升级。
有没有常规方法可以解决这个问题,或者我可能走错了方向?我在网上没有找到任何相关的讨论,所以很可能是这样 :) 欢迎任何建议!
谢谢你!
答案1
使用组不是必需的,也不推荐。
所有者账户是特殊的项目 IAM 成员。您不想限制所有者账户,您也不能这样做。
但是,您不应该将所有者帐户用于正常用途。仅当需要该帐户的权限时才使用该身份登录。
作为所有者,您已经拥有您创建的任何组或服务帐户的权限(所有者角色较低的组织除外)。使用最小权限原则,并为每个应用创建仅具有所需角色的服务帐户。
将服务帐号附加到服务(Compute Engine、Cloud Run、Functions 等),并且不将密钥分发给用户或应用。正确编写的应用将使用 ADC(应用默认凭据)从元数据服务获取凭据。