【问题标题】:How to add a custom role to service account using gcloud如何使用 gcloud 将自定义角色添加到服务帐户
【发布时间】:2022-11-15 02:18:55
【问题描述】:

我创建了一个服务帐户:name@project.iam.gserviceaccount.com 和一个自定义角色mycustomrole

如何使用 gcloud 命令将自定义角色添加到此服务帐户?

当我尝试

gcloud projects add-iam-policy-binding my-project \
  --member="serviceAccount:myserviceaccount@myproject.iam.gserviceaccount.com" \
  --role=projects/myproject/roles/mycustomrole \
  --verbosity=debug

我收到一个错误:

ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: The role name must be in the form "roles/{role}", "organizations/{organization_id}/roles/{role}", or "projects/{project_id}/roles/{role}".

我已经试过了:

  --role=roles/mycustomrole
  --role=projects/myproject/roles/mycustomrole
  --role=projects/myproject/roles/customrole/mycustomrole

【问题讨论】:

  • 我能够重现您的错误如果我使用了不正确的角色名称。请尝试gcloud iam roles list --project=${PROJECT} --format="value(name)" 并确认确实存在名为mycustomrole 的项目级自定义角色。名称区分大小写。

标签: google-cloud-platform gcloud


【解决方案1】:

我尝试使用以下命令,它适用于我的情况:

gcloud projects add-iam-policy-binding my-project 
  --member="serviceAccount:my-sa@my-project.iam.gserviceaccount.com" 
  --role=projects/my-project/roles/my.role.name 
  --verbosity=debug

我能够将自定义角色 projects/my-project/roles/my.role.name 添加到 SA serviceAccount:my-sa@my-project.iam.gserviceaccount.com

对于自定义角色,您必须输入角色 ID,此 ID 显示在角色详细信息页面中:

您可以更新您的 gcloud 版本并重试吗?

gcloud components update

【讨论】:

    猜你喜欢
    • 2019-08-19
    • 2020-12-17
    • 2021-10-24
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2020-04-08
    • 2017-11-26
    • 2021-02-18
    相关资源
    最近更新 更多