将 IAM 策略绑定添加到 Google Pub/Sub 主题需要啥角色?
Posted
技术标签:
【中文标题】将 IAM 策略绑定添加到 Google Pub/Sub 主题需要啥角色?【英文标题】:What is the role required to add an IAM policy binding to a Google Pub/Sub topic?将 IAM 策略绑定添加到 Google Pub/Sub 主题需要什么角色? 【发布时间】:2020-11-20 12:11:44 【问题描述】:我正在尝试按照这些说明 https://cloud.google.com/pubsub/docs/dead-letter-topics#assigning_the_publisher_role 授予 Pub/Sub 将消息发布到死信队列的权限,但我遇到了 PERMISSION_DENIED
错误:
gcloud pubsub topics add-iam-policy-binding my-dead-letter-topic --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT" --role="roles/pubsub.publisher"
ERROR: (gcloud.pubsub.topics.add-iam-policy-binding) PERMISSION_DENIED: User not authorized to perform this action.
Google Cloud 控制台显示我需要pubsub.topics.setIamPolicy
权限:
我的问题是:我将如何获得该许可?我是否必须成为项目 IAM 管理员(参见You need permissions for this action. Required permission(s): resourcemanager.projects.setIamPolicy)?
【问题讨论】:
【参考方案1】:是的,没错。您需要被分配包含resourcemanager.projects.setIamPolicy
权限的角色之一。正如您所指出的,You need permissions for this action. Required permission(s): resourcemanager.projects.setIamPolicy 的答案概述了不同的角色选项。
建议使用项目 IAM 管理员,因为它是您可以被授予设置 IAM 政策的最具体的角色。
【讨论】:
我后来注意到 Pub/Sub 访问控制记录在这里:cloud.google.com/pubsub/docs/access-control#roles。 Pub/Sub 管理员 (roles/pubsub.admin
) 角色足以获得设置转发到死信主题所需的 pubsub.topics.setIamPolicy
和 pubsub.subscriptions.setIamPolicy
权限。以上是关于将 IAM 策略绑定添加到 Google Pub/Sub 主题需要啥角色?的主要内容,如果未能解决你的问题,请参考以下文章
Amazon Web Service S3 Access Denied with 看似不错的 IAM 策略
使用 Pulumi 将 IAM 托管策略附加到 IAM 用户不起作用