Учетная запись службы Google: делегирование полномочий на уровне домена для выдачи себя за ОДНОГО пользователя
Нам нужно получить доступ к Google Calendar API с серверным приложением, чтобы создавать события и приглашать участников. Google рекомендует использовать сервисный аккаунт для своих приложений.
Основная проблема здесь с посетителями, приглашающими на мероприятие, потому что учетная запись службы не может сделать это без делегирования полномочий в пределах домена (см. Img).
Организация не желает предоставлять сервисному аккаунту доступ ко ВСЕМ данным пользователя. Итак, я пытаюсь выяснить, можем ли мы делегировать делегирование полномочий в пределах домена ОДНОМУ пользователю домена? (ограничить доступ к использованию данных другого пользователя).
ps это только про API календаря Google.
1 ответ
Фактически, использование служебной учетной записи для доступа к Google Calendar API от имени пользователей заключается в том, что вы можете использовать одну служебную учетную запись для олицетворения разных пользователей по одному. Так что, если вы хотите выдать себя за одного пользователя, проблем возникнуть не должно. Вам просто нужно указать адрес электронной почты пользователя для олицетворения перед выполнением авторизованного вызова API.
После того, как вы делегируете полномочия на уровне домена учетной записи службы , вам необходимо подготовиться к выполнению авторизованного вызова API, где вам нужно указать пользователя для олицетворения.
Например, если вы проверите клиентскую библиотеку Google API для Java - Impersonation , GoogleCredential.Builder.setServiceAccountUser (String) . Этот метод принимает только один адрес электронной почты пользователя для выдачи себя за другое лицо.
ВАРИАНТ 1: (с использованием учетной записи службы)
Если вы хотите использовать в своем приложении служебную учетную запись, которая может выдавать себя только за определенного пользователя / пользователей, вы можете опубликовать приложение в Google Apps Marketplace . Затем вы можете ограничить доступ к этому приложению для определенного пользователя / пользователей или даже для организации с помощью консоли администратора. Включение или отключение приложения Google Workspace Marketplace для пользователей
ВАРИАНТ 2: (Без использования учетной записи службы)
Вы можете получить доступ к Google API через конкретного пользователя, а не через учетную запись службы. Вам просто нужно включить API и сгенерировать ключи API. См. Краткое руководство по API Календаря о том, как настроить и использовать API.