permissions - 主题的 GCP PubSub 权限
问题描述
我正在尝试创建一个仅对特定 pubsub 主题具有权限的服务帐户。
我创建一个主题:
gcloud pubsub topics create mytopic
然后创建一个服务帐户:
gcloud iam service-accounts create my-user \
--display-name "my-user"
然后尝试授予此服务帐户权限:
gcloud alpha pubsub topics add-iam-policy-binding mytopic \
--member="serviceAccount:my-user@myproject.iam.gserviceaccount.com" \
--role='roles/pubsub.editor'
获取服务帐号 json 文件:
gcloud iam service-accounts keys create \
--iam-account "my-user@myproject.iam.gserviceaccount.com" \
service-account.json
使用此服务帐户 json 凭据,我被拒绝创建对此主题的订阅。
如果我授予此用户对整个项目的 pubsub 的权限,我可以创建对此主题的订阅,但我不想为此服务帐户授予太多权限。
gcloud projects add-iam-policy-binding myproject \
--member="serviceAccount:my-user@myproject.iam.gserviceaccount.com" \
--role='roles/pubsub.editor'
我正在尝试使用它,但它似乎不起作用:https ://cloud.google.com/sdk/gcloud/reference/alpha/pubsub/topics/add-iam-policy-binding
我在这里错过了什么吗?我会认为这个用户与主题的角色绑定就足够了?
解决方案
事实证明,订阅本身也有权限。您需要授予服务帐户权限才能附加到它。
使用此命令: https ://cloud.google.com/sdk/gcloud/reference/alpha/pubsub/subscriptions/add-iam-policy-binding
推荐阅读
- docker - 设置卷时 Docker 运行权限问题
- typescript - 如果使用函数参数,则无法推断 Typescript 类型
- r - 使用 R 中的条件更改列中的特定值
- python - 获取 RDD 中每个键的最大值和最小值
- python - (Python) - 在答案区域输入总和
- c - 带有浮点数的 C 函数 while(*a++ = *b++)
- docker - docker run standard_init_linux.go:211: exec 用户进程导致“权限被拒绝”
- express - 带有 express 和 nuxt 的 Nodemon
- c - X11:_NET_FRAME_EXTENTS 窗口属性。与 XCB 的回报不一致
- python - 如何为 scapy 创建一个图层?