无法将存储管理员角色添加到 GCP 服务帐号

问题描述 投票:0回答:2

我正在查看 GCP 控制面板中的 IAM 服务帐户选项卡。我正在编辑服务帐户。我单击“授予访问权限”,输入我正在创建的服务帐户的电子邮件并尝试添加存储管理员。

但是列表中没有这样的选项。

此外,通过 CLI 执行此操作的看似等效的尝试失败了:

gcloud projects add-iam-policy-binding my-project-id \
  --member='serviceAccount:[email protected]' \
  --role='projects/my-project-id/roles/storage.admin'

ERROR: Policy modification failed. For a binding with condition, run "gcloud alpha iam policies lint-condition" to identify issues in condition.
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: Role (projects/my-project-id/roles/storage.admin) does not exist in the resource's hierarchy.

显然,我无法理解服务帐户应该如何被授予角色。

google-cloud-platform google-cloud-storage authorization google-iam role-base-authorization
2个回答
8
投票

创建服务帐户后,您可以转到 IAM 页面添加存储管理员角色。

  1. 前往 IAM 页面
  2. 点击添加
  3. 输入新主体(输入您创建的服务帐户)
  4. 选择所需的角色。 (在您的案例存储管理员中)。
  5. 保存

如果您仍想使用创建服务帐户窗格添加角色,请不要使用存储进行搜索,而是向下滚动到所有角色>悬停云存储>选择存储管理员

您还可以使用 Cloud Shell 执行 John Hanley 提到的操作。


1
投票

不清楚你在做什么。两个重要的概念。服务帐户既可以是身份,也可以是资源。您正在将服务帐户作为屏幕截图中的资源进行管理。您的 CLI 命令正在将资源作为项目中授予身份的角色进行管理。

您的 CLI 命令指定项目中的 custom 角色。您是否创建了自定义角色,或者是否尝试使用现有的 Google Cloud IAM 角色?

您很可能想这样做:

gcloud projects add-iam-policy-binding my-project-id \
  --member='serviceAccount:[email protected]' \
  --role='roles/storage.admin'

请注意指定角色名称的方式的差异。

© www.soinside.com 2019 - 2024. All rights reserved.