【发布时间】:2020-10-28 06:26:59
【问题描述】:
我有超过 100 名具有混合角色的 GCP 用户。这些用户是由不同的管理员通过 IAM 控制台手动创建的。我们想对项目进行一些清理。这些用户所需的角色只是项目查看器、bigquery 用户、bigquery 数据查看器和 bigquery jobuser。我想用一个命令来改变这 100 多个用户的角色。有没有办法做到这一点?
以下是我从 GCP 命令检索到的 IAM 列表示例
gcloud projects get-iam-policy example-project-id-1
出于安全原因,这只是一个虚拟数据和修改版本。
---
policy:
bindings:
- members:
- user:Sanaa.Keller@abc.com
- user:adam.skill@abc.com
- user:albert.withmore@abc.com
- user:alison.mcknight@abc.com
- user:andre.soretti@abc.com
- user:andrew.born@abc.com
- user:andrew.hill@abc.com
- user:andrew.ives@abc.com
- user:andrew.windridge@abc.com
- user:angela.hammond@abc.com
- user:anil.patel@abc.com
- user:anna.lynch@abc.com
- user:ben.carlson@abc.com
- user:elisabeth.morrison@abc.com
role: roles/editor
project: projects/926557397521
resource: //cloudresourcemanager.googleapis.com/projects/abc-staging
---
policy:
bindings:
- members:
- user:Sanaa.Keller@abc.com
- user:adam.skill@abc.com
- user:albert.withmore@abc.com
- user:alison.mcknight@abc.com
- user:andre.soretti@abc.com
- user:andrew.born@abc.com
- user:andrew.hill@abc.com
- user:andrew.ives@abc.com
- user:andrew.windridge@abc.com
- user:angela.hammond@abc.com
- user:anil.patel@abc.com
- user:anna.lynch@abc.com
- user:ben.carlson@abc.com
- user:elisabeth.morrison@abc.com
roles:roles/bigquery.dataEditor
project: projects/926557397521
resource: //cloudresourcemanager.googleapis.com/projects/abc-staging
---
policy:
bindings:
- members:
- user:Sanaa.Keller@abc.com
- user:adam.skill@abc.com
- user:albert.withmore@abc.com
- user:alison.mcknight@abc.com
- user:andre.soretti@abc.com
- user:andrew.born@abc.com
- user:andrew.hill@abc.com
- user:andrew.ives@abc.com
- user:andrew.windridge@abc.com
- user:angela.hammond@abc.com
- user:anil.patel@abc.com
- user:anna.lynch@abc.com
- user:ben.carlson@abc.com
- user:elisabeth.morrison@abc.com
roles:roles/bigquery.jobUser
project: projects/926557397521
resource: //cloudresourcemanager.googleapis.com/projects/abc-staging
---
policy:
bindings:
- members:
- user:brian.king@abc.com
role: roles/editor
project: projects/926557397521
resource: //iam.googleapis.com/projects/abc-staging/serviceAccounts/qlikview@abc-staging.iam.gserviceaccount.com
所以,我想从上面的示例中删除项目编辑角色,并简单地为他们分配 BigQuery Data Viewer 和 BigQuery Job User 角色
【问题讨论】:
-
对于
with single command,您正在寻找一个命令或一个简单的方法来做到这一点?我想到了 Terraform,但不确定您是在寻找一种命令操作还是一种自动方式。 -
我所说的使用单个命令是一种简单的方法,而不仅仅是一个命令。一种自动的方法
-
@busheriff 您是否有一个 .csv 文件,其中包含您想要更改权限的所有用户的列表?
-
您可以构建一个脚本来执行此操作,但作为一个简单的命令(或几个命令列表)并不“容易”。而且,如果他们拥有所有相同的角色,最好的方法是使用 Google 群组
-
嗨,我已经修改了问题,以便更清楚地展示我想做的事情
标签: google-cloud-platform google-bigquery google-iam