Назад | Перейти на главную страницу

Аутентификация Google Admin SDK с сервисным аккаунтом

Моя команда в настоящее время разрабатывает приложение для вывода списка пользователей домена моей компании в GCP, используя Admin SDK, в целях адаптации и отстранения от работы.

Для этого мы используем учетную запись службы и добавили admin.directory.user.readonly в расширенных настройках администратора Google к нему. API Admin SDK активирован, и мы видим учетную запись службы в области учетных данных.

Когда мы вызываем https://www.googleapis.com/admin/directory/v1/users конечная точка с параметрами viewType = domain_public и domain = [наш домен], при использовании токена доступа, созданного с помощью oauth2l, получаем следующее сообщение:

{
   "error": {
       "errors": [
           {
               "domain": "global",
               "reason": "forbidden",
               "message": "Not Authorized to access this resource/api"
           }
       ],
       "code": 403,
       "message": "Not Authorized to access this resource/api"
   }
}

Могут ли применяться какие-либо ограничения домена, о которых мы не имеем представления?

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

oauth2l не поддерживает делегирование всего домена, если я правильно помню.