问题描述
我的目标是制定一个安全策略,我可以将其附加到多个用户或服务帐户,授予对特定 GCS 存储桶的读取访问权限。到目前为止,我只能:
或:
我真正想要的是能够创建一个角色来限制对特定存储桶的访问,或者有某种“组”的概念,我可以将用户和服务帐户添加到其中,并且授予整个组对存储桶的读取权限。
在 AWS IAM 中使用组或角色很容易做到这一点。但据我所知,GCP 角色有点不同,GCP 组实际上是一组电子邮件地址。虽然我想我可以为此使用组,但感觉非常笨拙,而且不是实现此目的的正确方法。
所以我的问题是,有没有一种方法可以创建服务帐户/用户列表,并授予他们对特定资源(即 GCS 存储桶)的有限权限,而无需手动管理每个成员?
我在 Google Cloud Platform creating custom IAM role and limiting access to a storage bucket 中看到了答案,但这不是我要找的,因为这是我在上面 #2 中建议的。
解决方法
您的想法是创建一个组并授予该组的权限。那么,在这个组中,您可以添加用户帐户和服务帐户,对吗?
如果是,请使用 Groups API。您可以使用正确的角色对该组授予所需资源的权限。
然后您可以在该组中添加电子邮件:用户帐户有电子邮件,但也有服务帐户。
因此,您可以通过 API 调用自动执行所有操作,无需手动操作。