首页 > 解决方案 > 未经授权的用户被添加到 GCP 角色

问题描述

将特定用户 (usera@company.com) 添加到项目(任何项目)中的编辑角色时,不会添加 usera@company.com。而是添加了 userz@gmail.com。无论我们使用 GCP 控制台、SDK(gcloud cli / Terraform)等,都会发生这种情况。

有趣的是userz是usera的儿子。这是唯一的共同点。他们不在同一家公司工作,也不共享笔记本电脑等。

任何想法?

如果需要,我可以添加编辑的屏幕截图。

标签: google-cloud-platformpermissionsgoogle-cloud-iam

解决方案


如果您使用 Cloud Console 添加成员,则 Console 使用 Google People API 自动完成名称。此列表来自帐户的(您在控制台中使用的)联系人列表。

注意如果您在控制台中打开例如 Chrome 的 DevTools 并在电子邮件中自动完成,则在“网络”选项卡上,您将看到调用,/v2/people/autocomplete并且您可以查看控制台收到的响应。这也可能显示不匹配。

怀疑您在显示 user@company.com 但实际上将 userz@gmail.com 作为该联系人(可能是默认)电子邮件地址的此帐户的 Google 联系人中存在不匹配。

打开联系人,搜索联系人并查看不匹配是否明显。

或者,使用gcloud(Cloud SDK) 发出命令:

PROJECT="[[YOUR-PROJECT-ID]]"
ACCOUNT="usera@company.com"

gcloud projects add-iam-policy-binding ${PROJECT} \
--member=user:${ACCOUNT} \
--role=roles/editor

推荐阅读