Google Admin SDK аутентификация с сервисной учетной записью - PullRequest
1 голос
/ 05 февраля 2020

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

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

Когда мы вызываем конечную точку https://www.googleapis.com/admin/directory/v1/users с параметрами viewType=domain_public и domain=[our 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"
   }
}

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

1 Ответ

2 голосов
/ 06 февраля 2020

У учетной записи службы нет прав на вызов Directory APi для вашего экземпляра G Suite. То, к чему у него есть доступ, - это действовать в качестве пользователя в вашем домене в контексте области действия API, к которой вы предоставили ему доступ.

При получении учетных данных учетной записи службы необходимо добавить * 1003. * параметр, чтобы вы выступали в роли администратора своего домена, а не учетной записи службы. См .:

https://developers.google.com/identity/protocols/OAuth2ServiceAccount

И некоторые примеры кода по адресу:

https://developers.google.com/admin-sdk/directory/v1/guides/delegation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...