用户 [X] 无权访问用户 [X:importSshPublicKey]

tso*_*orn 3 google-cloud-platform

我正在尝试跑步cloud compute os-login ssh-keys add:我明白了

ERROR: (gcloud.compute.os-login.ssh-keys.add) 
User [X] does not have permission to access user [X:importSshPublicKey] (or it may not exist): 
Insufficient IAM permissions. 
The instance belongs to an external organization. 
You must be granted the roles/compute.osLoginExternalUser IAM role 
on the external organization to configure POSIX account information.
Run Code Online (Sandbox Code Playgroud)

其中 X 在两种情况下都是同一用户。如何通过gcloud命令行添加我需要的权限?

Joh*_*ley 5

确定您当前使用的帐户(会员)

gcloud auth list
Run Code Online (Sandbox Code Playgroud)

列出 Google Cloud 项目:

gcloud projects list
Run Code Online (Sandbox Code Playgroud)

使用以下命令。将 PROJECT_ID 替换为项目 ID(不是项目名称)。将 MEMBER 替换为上面帐户的电子邮件地址。

对于服务帐户:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:MEMBER --role=roles/compute.osLoginExternalUser
Run Code Online (Sandbox Code Playgroud)

对于用户帐户:

gcloud projects add-iam-policy-binding PROJECT_ID --member=user:MEMBER --role=roles/compute.osLoginExternalUser
Run Code Online (Sandbox Code Playgroud)

要修改项目的 IAM 设置,您需要该权限resourcemanager.projects.setIamPolicy。如果您没有此权限,您将需要请求项目管理员为您执行此任务。

此权限是项目 IAM 管理员角色roles/resourcemanager.projectIamAdmin或组织管理员角色 的一部分roles/resourcemanager.organizationAdmin

云 IAM 概述

了解角色

gcloud 项目 add-iam-policy-binding