Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Permissions 我如何允许他人在BigQuery中阅读我的信息\u SCHEMA.SCHEMATA?_Permissions_Google Bigquery_Information Schema - Fatal编程技术网

Permissions 我如何允许他人在BigQuery中阅读我的信息\u SCHEMA.SCHEMATA?

Permissions 我如何允许他人在BigQuery中阅读我的信息\u SCHEMA.SCHEMATA?,permissions,google-bigquery,information-schema,Permissions,Google Bigquery,Information Schema,我可以授予哪些特权让世界上的每个人都可以查询我的信息模式?i、 e.我希望每个人都能跑: select * from `projectid`.INFORMATION_SCHEMA.SCHEMATA 现在我回来了: Access Denied: Table projectid:INFORMATION_SCHEMA.SCHEMATA: User does not have permission to query table projectid:INFORMATION_SCHEMA.SCHEMATA

我可以授予哪些特权让世界上的每个人都可以查询我的信息模式?i、 e.我希望每个人都能跑:

select * from `projectid`.INFORMATION_SCHEMA.SCHEMATA
现在我回来了:

Access Denied: Table projectid:INFORMATION_SCHEMA.SCHEMATA: User does not have permission to query table projectid:INFORMATION_SCHEMA.SCHEMATA

通常在BigQuery中,您在数据集级别设置权限。例如,此查询将针对任何人运行,因为数据集对所有人都是公共的:

选择*
来自'fh-bigquery.flights.INFORMATION\u SCHEMA.TABLES`
但你不能这样做:

选择*
来自'fh-bigquery.INFORMATION\u SCHEMA.SCHEMATA`
这是因为您需要项目级权限才能查看我的所有数据集,即使是我尚未公开的数据集

如果您确实希望与世界共享所有数据集的架构,那么您可以使用
bigquery.datasets.get
权限为此创建一个自定义角色:

然后您需要将此角色分配给所有用户,但这不是一个选项

在项目级别,您可以将此角色分配给以下角色之一:

Google Account email: user@gmail.com
Google Group: admins@googlegroups.com
Service account: server@example.gserviceaccount.com
G Suite domain: example.com
在这种情况下,有一种选择:

  • 创建一个谷歌群组
  • 把这个新角色交给这个新的谷歌集团
  • 让这个谷歌群组免费加入
  • 告诉人们“嘿,如果你想看我的项目模式,加入这个小组”
然后一切都会好起来