【问题标题】:Create an IAM role / group with access to specific Cloud Storage bucket(s)创建有权访问特定 Cloud Storage 存储桶的 IAM 角色/组
【发布时间】:2021-04-07 20:26:03
【问题描述】:

我的目标是制定一个可以附加到多个用户或服务帐户的安全策略,以授予对特定 GCS 存储桶的读取权限。到目前为止,我只能:

  1. 创建一个对所有 GCS 存储桶具有广泛读取权限的 IAM 角色,并将其附加到我创建的每个服务帐户/用户(不是我想要的,因为它授予的权限过于广泛)

或:

  1. 从 GCS 存储桶中,在我创建每个用户/服务帐户时授予它们特定的读取访问权限(不是我想要的,因为它是手动的且容易出错,并且没有解耦,例如,如果我想更改访问级别或存储桶名称,我必须对所有用户执行此操作)。

我真正想要的是能够创建一个角色来限制对特定存储桶的访问,或者拥有某种“组”概念,我可以将用户和服务帐户添加到其中,并且授予整个组对存储桶的读取权限。

在 AWS IAM 中使用组或角色很容易做到这一点。但据我所知,GCP 角色有点不同,GCP 组实际上是电子邮件地址组。虽然我想我可以为此使用组,但感觉很笨拙,而且不是实现此目的的正确方法。

所以我的问题是,有没有办法创建服务帐户/用户列表,并授予他们对特定资源(即 GCS 存储桶)的有限权限,而无需手动管理每个成员?

我在Google Cloud Platform creating custom IAM role and limiting access to a storage bucket 中看到了答案,但这不是我想要的,因为这是我在上面#2 中建议的。

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage google-iam


    【解决方案1】:

    您的想法是创建一个组并授予该组的权限。那么,在这个组中,你可以添加用户帐户和服务帐户,对吧?

    如果是这样,请使用Groups API。您可以授予该组对所需资源和正确角色的权限。

    然后您可以在该组中添加电子邮件:用户帐户有电子邮件,也有服务帐户。

    因此,您可以通过 API 调用自动执行所有操作,而无需手动操作。

    【讨论】:

    • 这行得通,谢谢,我想这可能是最好的选择,只是感觉很奇怪,因为团体并不特别认为是 IAM 原生的。我觉得奇怪的是,在 GCP 中你不能对角色进行细粒度的资源级别控制,例如拥有像“ImageViewer”这样的角色,它只能访问带有一些图像的特定 GCS 存储桶。但我想它就是这样......
    • 有没有办法对存储桶中的对象(csv 文件)创建这样的访问控制。例如,我希望只有在存储桶中上传 csv 文件的人才能访问他上传到存储桶中的那个文件,而不是任何其他文件..
    • 在bucket中,可以使用ACL on the object,但不推荐,因为监控和审核比较困难。
    猜你喜欢
    • 2019-10-31
    • 2020-05-01
    • 1970-01-01
    • 2023-02-21
    • 2020-12-03
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多