我们有一个场景,在我们的gcp项目中,我们有几个iam用户,除了@gmail.com之外,还有不同的电子邮件id域,现在我们需要限制这一点,只允许@gmail.com用户访问。
首先,我们需要从我们的项目中识别出所有现有的非@gmail.com用户,并删除他们。
我们使用下面的过滤器从iam-users中识别出所有的@gmail.com用户。
gcloud projects get-iam-policy <project id> --flatten="bindings[].members" --format="table(bindings.members)" --filter="@gmail.com"
同样,我们需要过滤掉所有iam用户与我们的项目中的其他电子邮件域
发布于 2021-06-15 07:14:25
你不能否定过滤器。您需要获取所有成员,并使用grep -v
删除gmail.com
# With IAM on project
gcloud projects get-iam-policy <project id> --flatten="bindings[].members" --format="table(bindings.members)" | sort | uniq | grep -v gmail.com
# With asset inventory
gcloud asset search-all-iam-policies --flatten="policy.bindings[].members" --format="table(policy.bindings.members)" | sort | uniq | grep -v gmail.com
资产清点很棒,因为它还可以找到在资源级别授予的帐户,而不仅仅是项目级别的帐户。一切都取决于你需要什么。
发布于 2021-06-14 17:04:13
除了转到您的IAM页面之外,我还不确定如何识别所有这些内容,但不确定GCP文档下面的域限制。
资源管理器提供了域限制约束,可以在组织策略中使用它来限制基于域的资源共享。此约束允许您限制允许在身份和访问管理策略中使用的身份集。
你可以在这里查看指南:Restricting identities by domain
https://stackoverflow.com/questions/67973956
复制相似问题