Google cloud platform 如何在Google云平台上使用python为BigQuery用户授予个人权限

Google cloud platform 如何在Google云平台上使用python为BigQuery用户授予个人权限,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我需要使用python脚本为GCP中的用户帐户设置非常细粒度的访问控制 我知道,通过UI/gcloud util,我可以为它提供角色/大查询。用户,但它有许多我不希望此服务帐户拥有的其他权限 如何通过python脚本授予个人权限?转到您的,单击一个数据集右侧的箭头,然后单击进入共享数据集 然后在此处添加用户的电子邮件: 您可以从3个可用角色中选择一个:查看器/所有者/编辑器 在每个数据集中对每个用户执行此操作 通过Python脚本进行更新 您可以使用下面的Python脚本来完成 代码将类似于

我需要使用python脚本为GCP中的用户帐户设置非常细粒度的访问控制

我知道,通过UI/gcloud util,我可以为它提供角色/大查询。用户,但它有许多我不希望此服务帐户拥有的其他权限

如何通过python脚本授予个人权限?

转到您的,单击一个数据集右侧的箭头,然后单击进入
共享数据集

然后在此处添加用户的电子邮件:

您可以从3个可用角色中选择一个:查看器/所有者/编辑器

在每个数据集中对每个用户执行此操作

通过Python脚本进行更新

您可以使用下面的Python脚本来完成

代码将类似于:

从google.cloud导入bigquery
client=bigquery.client()
dataset=client.get_数据集(client.dataset('dataset1'))
entry=bigquery.AccessEntry(
角色='READER',
实体\u type='userByEmail',
实体_id='2〕user1@example.com')
断言条目不在dataset.access\u条目中
条目=列表(dataset.access\u条目)
条目。追加(条目)
dataset.access\u条目=条目
dataset=client.update_dataset(dataset,['access_entries'])#API请求
#在dataset.access\u条目中断言条目

您是否尝试过使用此JSON API执行此操作?您是否可以对您尝试执行的操作更具体一点?@GrahamPolley我创建了类似test1、test2、test3的数据集。我有很多用户,比如user1、user2、user3。我想授予访问权限,比如user1应该只访问test1数据集,并使用python脚本对test1数据集执行操作。我还是不明白。@GrahamPolley数据集名称:test1,test2用户名:user1,user2用户1应该只访问test1数据集。user1不能在test2数据集上执行任何操作。他应该能够使用pythonGood one只访问test1数据集,但我想使用python来完成这个过程script@Pradeep我更新了答案,添加了Python脚本。