Использование сервисных аккаунтов

Использование сервисных аккаунтов в коннекторах с открытым кодом позволяет централизованно управлять доступом к ресурсам. В частности, вы можете делегировать доступ к данным, которые нельзя просмотреть с учетными данными обычного пользователя.

Чтобы понять, как работают сервисные аккаунты, прочитайте эту статью.

Возможности

  • Использование единых счетов для доступа к данным.
  • Реализация собственной логики управления доступом на уровне коннектора.
  • Делегирование доступа к данным или ресурсам, которые нельзя просмотреть с учетными данными обычного пользователя.

Реализация

  1. Создайте сервисный аккаунт для платформы, передающей вам данные.
  2. Предоставьте ему необходимые разрешения для доступа к ресурсам.
  3. Сохраните учетные данные сервисного аккаунта в свойствах скрипта коннектора.
  4. При выполнении коннектора используйте сохраненные учетные данные.
  5. Необязательно. Реализуйте логику управления доступом для фильтрации данных.

Пример: доступ к BigQuery с использованием дополнительных служб Студии данных и сервисного аккаунта

Предположим, вы разрабатываете решение для создания сводок на основе таблицы BigQuery. Если при этом будет использоваться коннектор BigQuery Студии данных, то пользователям потребуется разрешение на чтение таблицы BigQuery, а также платежный аккаунт для Google Cloud Platform (GCP). Ниже приведены инструкции, показывающие, как с помощью сервисного аккаунта настроить единые счета и делегировать доступ к данным BigQuery.

  1. Создайте сервисный аккаунт в нужном проекте GCP.
  2. Убедитесь, что сервисный аккаунт может создавать задания BigQuery и просматривать данные для требуемой таблицы. Подробнее об управлении доступом к BigQuery
  3. Создайте ключ для сервисного аккаунта и сохраните учетные данные в свойствах скрипта коннектора.
  4. Добавьте библиотеку OAuth2 Apps Script в проект Apps Script.
  5. Авторизуйте сервисный аккаунт и создайте токен доступа для функции getData. Задайте область действия OAuth2 (https://www.googleapis.com/auth/bigquery.readonly).
  6. Реализуйте отправку ответа getData с токеном доступа и другими элементами конфигурации.