Google cloud platform 用户[X]无权访问用户[X:importSshPublicKey]

Google cloud platform 用户[X]无权访问用户[X:importSshPublicKey],google-cloud-platform,Google Cloud Platform,我正在尝试运行云计算操作系统登录ssh密钥添加: 我明白了 其中,X在两种情况下都是同一用户。如何通过gcloud命令行添加我需要的权限?确定您正在使用的当前帐户(成员) gcloud auth list 列出谷歌云项目: gcloud projects list 使用以下命令。用项目ID(而不是项目名称)替换项目ID。用上面帐户的电子邮件地址替换成员 对于服务帐户: gcloud projects add-iam-policy-binding PROJECT_ID --member=ser

我正在尝试运行
云计算操作系统登录ssh密钥添加
:
我明白了


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

确定您正在使用的当前帐户(成员)

gcloud auth list
列出谷歌云项目:

gcloud projects list
使用以下命令。用项目ID(而不是项目名称)替换项目ID。用上面帐户的电子邮件地址替换成员

对于服务帐户:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:MEMBER --role=roles/compute.osLoginExternalUser
对于用户帐户:

gcloud projects add-iam-policy-binding PROJECT_ID --member=user:MEMBER --role=roles/compute.osLoginExternalUser
要修改项目上的IAM设置,您需要权限
resourcemanager.projects.setIamPolicy
。如果您没有此权限,则需要请求项目管理员为您执行此任务

此权限是项目IAM管理员角色
角色/resourcemanager.ProjectaAdmin
或组织管理员角色
角色/resourcemanager.organizationAdmin


执行命令时,我得到:
错误:(gcloud.projects.add iam policy binding)无效参数:策略成员的格式必须为“:”。
使用
--member=user:member
时,我得到
错误:(gcloud.projects.add iam policy binding)无效参数:此资源不支持Role roles/compute.osLoginExternalUser。
I更新了答案。如果阅读文档,则需要指定具有成员id的用户或serviceAccount。我不确定此角色是否支持该成员的服务帐户。您可能必须使用您的用户ID。
gcloud projects add-iam-policy-binding PROJECT_ID --member=user:MEMBER --role=roles/compute.osLoginExternalUser