我正在尝试创建一个仅具有特定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:[email protected]" \
--role='roles/pubsub.editor'
获取服务帐户json文件:
gcloud iam service-accounts keys create \
--iam-account "[email protected]" \
service-account.json
使用此服务帐户json凭据我被拒绝创建对此主题的订阅。
如果我将此用户的权限授予整个项目的pubsub,我可以创建对此主题的订阅,但我不想给这个服务帐户提供那么多的权限。
gcloud projects add-iam-policy-binding myproject \
--member="serviceAccount:[email protected]" \
--role='roles/pubsub.editor'
我试图使用它,它似乎不起作用:qazxsw poi
我在这里错过了什么吗?我本以为这个用户对该主题的角色绑定是否足够的权限?
事实证明,订阅本身也有权限。您需要授予服务帐户的权限才能附加到服务帐户。
使用此命令:https://cloud.google.com/sdk/gcloud/reference/alpha/pubsub/topics/add-iam-policy-binding