Сервисные аккаунты

В этом руководстве описывается, как получить доступ к Google Ads API с помощью сервисных аккаунтов.

Учетная запись службы — это учетная запись, принадлежащая вашему приложению, а не отдельному конечному пользователю. Учетные записи служб обеспечивают межсерверное взаимодействие между веб-приложением и службой Google. Ваше приложение вызывает API Google от имени учетной записи службы, поэтому пользователи не участвуют напрямую.

Учетные записи служб используют поток OAuth2, который не требует авторизации человека, вместо этого используется файл ключа, к которому имеет доступ только ваше приложение.

Использование сервисных учетных записей дает два ключевых преимущества:

  • Авторизация доступа к Google API выполняется на этапе настройки, что позволяет избежать сложностей, связанных с другими потоками OAuth2, требующими взаимодействия с пользователем.
  • Поток утверждений OAuth2 позволяет вашему приложению при необходимости выдавать себя за других пользователей.

Предварительные условия

  • Домен Google Workspace , которым вы владеете, например mydomain.com или mybusiness.com .
  • Токен разработчика API Google Рекламы и, при необходимости, тестовый аккаунт.
  • Клиентская библиотека для используемого вами языка.
  • Проект консоли Google API, настроенный для Google Ads API .
  • Пользователь Google Рекламы с разрешениями для аккаунта Google Рекламы, к которому вы хотите получить доступ. Google Реклама не поддерживает использование сервисных аккаунтов без выдачи себя за другое лицо.

Настройка доступа к сервисному аккаунту

Поскольку олицетворение пользователя контролируется только на уровне домена, для использования учетных записей служб и потока утверждений с помощью Google OAuth2 требуется, чтобы у вас был собственный домен, зарегистрированный в Google Workspace. После этого ваше приложение и его пользователи смогут выдавать себя за любого пользователя в домене.

  1. Начните с создания учетной записи службы и учетных данных .

    Загрузите ключ учетной записи службы в формате JSON и запишите идентификатор учетной записи службы.

  2. Сообщите идентификатор сервисного аккаунта и область действия API Google Рекламы ( https://www.googleapis.com/auth/adwords ) администратору своего домена.

    Попросите администратора домена делегировать полномочия на уровне домена вашему сервисному аккаунту.

  3. Если вы являетесь администратором домена, следуйте инструкциям Справочного центра .

Теперь вы можете использовать сервисный аккаунт для доступа к своему аккаунту Google Рекламы с помощью потока утверждений OAuth2.

Конфигурация клиентской библиотеки

Выберите язык ниже, чтобы получить инструкции по настройке клиентской библиотеки.

Проблемы безопасности

Поскольку служебный аккаунт имеет управление делегированием на уровне домена для вашего домена Google Workspace, важно защитить файл ключа, который позволяет служебному аккаунту получать доступ к сервисам Google, для которых он авторизован. Это особенно верно, поскольку эта учетная запись службы может выдавать себя за любого пользователя в домене.

Еще одна хорошая практика — разрешить учетным записям служб доступ только к минимально необходимому набору API. Это упреждающая мера, позволяющая ограничить объем данных, к которым может получить доступ злоумышленник, если ключевой файл служебной учетной записи скомпрометирован.