如何通过CLI批量移除BigQuery数据集权限?
在BigQuery中通过bq CLI批量移除数据集权限(无本地文件方式)
单条命令逐个执行
针对你的两个权限移除需求,直接执行以下命令(替换your-project-id为实际项目ID):
移除
abc@gmail.com对demo_aa数据集的roles/bigquery.dataOwner权限:bq remove --dataset your-project-id:demo_aa --member user:abc@gmail.com --role roles/bigquery.dataOwner移除
xyzGroupSA@gmail.com对demo_bb数据集的roles/bigquery.user权限:bq remove --dataset your-project-id:demo_bb --member group:xyzGroupSA@gmail.com --role roles/bigquery.user
一次性批量执行
如果需要一次性完成两个操作,可通过Shell命令串联实现,无需本地文件:
bq remove --dataset your-project-id:demo_aa --member user:abc@gmail.com --role roles/bigquery.dataOwner && \ bq remove --dataset your-project-id:demo_bb --member group:xyzGroupSA@gmail.com --role roles/bigquery.user
关键注意事项
- 权限验证:确保跳板机上的bq CLI已通过认证且拥有修改数据集IAM权限,可先用
bq show --dataset your-project-id:demo_aa测试访问权限。 - 成员前缀:用户账号需加
user:前缀,群组账号需加group:前缀,服务账号则用serviceAccount:,前缀错误会导致操作失败。 - 角色ID准确性:BigQuery角色ID为驼峰式命名,需严格匹配(如
roles/bigquery.dataOwner而非小写的dataowner)。 - 预测试:可添加
--dry_run参数进行模拟操作,确认命令无误后再执行实际移除:bq remove --dry_run --dataset your-project-id:demo_aa --member user:abc@gmail.com --role roles/bigquery.dataOwner
内容的提问来源于stack exchange,提问作者Debayan
相关产品推荐
相关产品推荐

