无法将存储管理员角色添加到 GCP 服务帐户
Can't add Storage Admin role to GCP service account
我正在查看 GCP 控制面板中的 IAM 服务帐户选项卡。我正在编辑服务帐户。我单击“授予访问权限”,输入我正在创建的服务帐户的电子邮件并尝试添加存储管理员。
但是,列表中没有这个选项。
此外,通过 CLI 执行此操作的看似等效的尝试失败了:
gcloud projects add-iam-policy-binding my-project-id \
--member='serviceAccount:github-actions@my-project-id.iam.gserviceaccount.com' \
--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.
很明显,我不明白应该如何为服务帐户授予角色。
不清楚你在做什么。两个重要的概念。服务帐户既可以是身份,也可以是资源。您正在将服务帐户作为屏幕截图中的资源进行管理。您的 CLI 命令正在将资源作为项目中的身份分级角色进行管理。
您的 CLI 命令在项目中指定了一个 custom 角色。您是创建自定义角色还是尝试使用现有的 Google Cloud IAM 角色?
您很可能想这样做:
gcloud projects add-iam-policy-binding my-project-id \
--member='serviceAccount:github-actions@my-project-id.iam.gserviceaccount.com' \
--role='roles/storage.admin'
请注意 角色名称 指定方式的不同。
创建服务帐户后,您可以转到 IAM 页面添加存储管理员角色。
- 转到 IAM 页面
- 单击添加
- 输入新主体(输入您创建的服务帐户)
- Select 期望的角色。 (在您的案例存储管理员中)。
- 保存
如果您仍想使用创建服务帐户窗格添加角色,请不要使用存储搜索,而是向下滚动到 所有角色 > 将鼠标悬停在 云存储 > Select 存储管理员.
您还可以使用云执行 John Hanley 提到的操作 Shell。
我正在查看 GCP 控制面板中的 IAM 服务帐户选项卡。我正在编辑服务帐户。我单击“授予访问权限”,输入我正在创建的服务帐户的电子邮件并尝试添加存储管理员。
但是,列表中没有这个选项。
此外,通过 CLI 执行此操作的看似等效的尝试失败了:
gcloud projects add-iam-policy-binding my-project-id \
--member='serviceAccount:github-actions@my-project-id.iam.gserviceaccount.com' \
--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.
很明显,我不明白应该如何为服务帐户授予角色。
不清楚你在做什么。两个重要的概念。服务帐户既可以是身份,也可以是资源。您正在将服务帐户作为屏幕截图中的资源进行管理。您的 CLI 命令正在将资源作为项目中的身份分级角色进行管理。
您的 CLI 命令在项目中指定了一个 custom 角色。您是创建自定义角色还是尝试使用现有的 Google Cloud IAM 角色?
您很可能想这样做:
gcloud projects add-iam-policy-binding my-project-id \
--member='serviceAccount:github-actions@my-project-id.iam.gserviceaccount.com' \
--role='roles/storage.admin'
请注意 角色名称 指定方式的不同。
创建服务帐户后,您可以转到 IAM 页面添加存储管理员角色。
- 转到 IAM 页面
- 单击添加
- 输入新主体(输入您创建的服务帐户)
- Select 期望的角色。 (在您的案例存储管理员中)。
- 保存
如果您仍想使用创建服务帐户窗格添加角色,请不要使用存储搜索,而是向下滚动到 所有角色 > 将鼠标悬停在 云存储 > Select 存储管理员.
您还可以使用云执行 John Hanley 提到的操作 Shell。