遵循 gcloud 文档
gcloud iam 服务帐户
将 IAM 策略绑定(bind)添加到 IAM 服务帐号
https://cloud.google.com/sdk/gcloud/reference/iam/service-accounts/add-iam-policy-binding
示例部分
要将“roles/editor”角色的 IAM 策略绑定(bind)添加到服务账户“test-proj1@example.domain.com”,请运行:
gcloud iam service-accounts add-iam-policy-binding \
test-proj1@example.domain.com \
--member='serviceAccount:test-proj1@example.domain.com' \
--role='roles/editor'
gcloud 项目 add-iam-policy-binding
添加 IAM 策略绑定(bind) 对于一个项目
https://cloud.google.com/sdk/gcloud/reference/projects/add-iam-policy-binding
示例部分
要将“roles/editor”角色的 IAM 策略绑定(bind)添加到服务账户“test-proj1@example.domain.com”,请运行:
gcloud projects add-iam-policy-binding \
test-proj1@example.domain.com \
--member='serviceAccount:test-proj1@example.domain.com' \
--role='roles/editor'
gcloud 组织 add-iam-policy-binding
添加 IAM 策略绑定(bind) 为组织
https://cloud.google.com/sdk/gcloud/reference/organizations/add-iam-policy-binding
示例部分
要将“roles/editor”角色的 IAM 策略绑定(bind)添加到服务账户“test-proj1@example.domain.com”,请运行:
gcloud organizations add-iam-policy-binding \
test-proj1@example.domain.com \
--member='serviceAccount:test-proj1@example.domain.com' \
--role='roles/editor'
有谁知道这三个命令是否实际上相同?
在此先感谢您的帮助。
乔纳森。
最佳答案
你必须像这样阅读命令
gcloud <resourceType> add-iam-policy-binding <resourceName> --member=<accountToGrantOnTheResource> --role=<roleToGrantOnTheResource>
困惑来自服务帐户的二元性(我保证,没有量子的东西!)。服务帐户可以是身份和资源。您可以授予某人成为服务帐户的编辑者,而另一个人成为该服务帐户的查看者->您的第一个示例,您授予服务帐户自己的编辑者。例如,它将能够更新自己的描述。
在您的另外两个示例中,您授予您的服务帐户(作为身份)作为资源项目(项目的所有资源,服务帐户本身,如果它属于该项目)和组织的编辑。
关于google-cloud-platform - gcloud 对 add-iam-policy-binding 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61875357/