Обычно в BigQuery вы устанавливаете разрешения на уровне набора данных. Например, этот запрос будет выполняться для всех, так как набор данных для всех публикуется c:
SELECT *
FROM `fh-bigquery.flights.INFORMATION_SCHEMA.TABLES`
Но вы не можете сделать это:
SELECT *
FROM `fh-bigquery.INFORMATION_SCHEMA.SCHEMATA`
Это потому, что вы Мне нужны разрешения на уровне проекта, чтобы увидеть все мои наборы данных, даже те, которые я не сделал publi c.
Если вы действительно хотите поделиться схемами всех ваших наборов данных с миром, то вы можете создать пользовательская роль как раз для этого, с разрешением 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
Один вариант в этом случае:
- Создайте группу Google.
- Дайте эту новую роль этой новой группе Google.
- Сделайте эту группу Google бесплатной для присоединения.
- Скажите людям "эй, если вы хочу посмотреть мой проект SCHEMATA, присоединяйся к этой группе ".
Тогда все будет работать.