Как создать учетную запись службы Google BigQuery с доступом к одному набору данных?

Есть ли способ предоставить доступ только для чтения к определенному набору данных BigQuery для данного идентификатора клиента?

Я пытался использовать служебную учетную запись, но это дает полный доступ ко всем наборам данных.

Также попытался создать учетную запись службы из другого приложения и добавил адрес электронной почты, созданный вместе с сертификатом, в представление BigQuery> Some Dataset> Share Dataset> Can, но это всегда приводит к ошибке 403 «Access not Configured».

Я использую серверный серверный поток, описанный в документации:

import httplib2

from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials

# REPLACE WITH YOUR Project ID
PROJECT_NUMBER = 'XXXXXXXXXXX'
# REPLACE WITH THE SERVICE ACCOUNT EMAIL FROM GOOGLE DEV CONSOLE
SERVICE_ACCOUNT_EMAIL = '[email protected]'

f = file('key.p12', 'rb')
key = f.read()
f.close()

credentials = SignedJwtAssertionCredentials(
    SERVICE_ACCOUNT_EMAIL,
    key,
    scope='https://www.googleapis.com/auth/bigquery.readonly')

http = httplib2.Http()
http = credentials.authorize(http)

service = build('bigquery', 'v2')
tables = service.tables()
response = tables.list(projectId=PROJECT_NUMBER, datasetId='SomeDataset').execute(http)

print(response)

Я в основном пытаюсь предоставить доступ только для чтения к приложению внешнего сервера к одному набору данных.

Ответы на вопрос(1)

Ваш ответ на вопрос