【问题标题】:How to grant access to storage.buckets.list in GCP Firestore?如何授予对 GCP Firestore 中 storage.buckets.list 的访问权限?
【发布时间】:2021-11-23 08:44:00
【问题描述】:

我创建了一个新的 Firestore 项目,并希望能够创建、更新和删除,但只是尝试列出存储桶会给我以下错误:

<user>@<project>.iam.gserviceaccount.com does not have storage.buckets.list access to the Google Cloud projec

在 GCP 中搜索过滤角色时,似乎没有特定的存储或存储桶角色。同样,唯一的 firestore 角色是 Firestore Service Agent,但看不到如何应用它。

我认为我对 IAM、原则、角色感到困惑。看起来 IAM 附加了权限和角色,并且原则是用户的另一个名称?

无论哪种方式,我如何将正确的角色和权限应用于我的服务帐户凭据,以便我可以列出存储桶?

编辑: 截图

【问题讨论】:

    标签: google-cloud-platform permissions roles google-iam google-cloud-iam


    【解决方案1】:

    如果您希望您的服务账户拥有对存储桶的完全访问权限,您可以为其授予 IAM 角色 Storage Admin。 IAM 角色实际上包含了一堆权限,在这个例子中,它包含了storage.buckets.list 和许多其他权限。

    如果您想对服务帐户权限进行更多限制,您可以在此处定义一些其他角色:https://cloud.google.com/storage/docs/access-control/iam-roles。例如,如果服务帐户只需要读取存储桶中的信息,您可以为其赋予角色Storage Object Viewer

    另一种方法是直接在每个存储桶中为您的服务帐号提供角色,而不是在 IAM 中定义角色。这样,您可以授予服务帐号访问单个存储桶的权限,而不是授予它访问项目所有存储桶的权限。

    【讨论】:

    • 如果我希望服务帐户拥有完全访问权限,我该怎么做?当我尝试添加权限时,我似乎看不到 storage.buckets.list 或类似内容的 iam 角色? (在原始帖子中添加了屏幕截图)
    • 要将角色添加到服务帐户,请转到 IAM 菜单而不是服务帐户菜单(选择左侧菜单中的第一项)。如果您的服务帐户已列出,请使用铅笔图标编辑其角色并添加角色Storage Admin。如果它不在列表中,请使用Add 选项添加它,然后为其赋予角色Storage Admin。同样,角色包含权限,因此如果服务帐户具有角色Storage Admin,它将具有权限storage.buckets.list 和许多其他权限。
    猜你喜欢
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    相关资源
    最近更新 更多