Как предоставить Team Drive доступ к служебной учетной записи, не включая совместное использование Team Drive с внешними сторонами? - PullRequest
0 голосов
/ 10 апреля 2019

Эта компания, в которой я работаю, недавно перешла на использование Team Drive, и у нас было несколько приложений, которые взаимодействовали бы с Google Drive с помощью API Google Drive.Вызовы API будут разрешаться с использованием учетных записей службы Google, а доступ к определенным файлам будет предоставляться приложению путем предоставления доступа к файлу с электронной почтой учетной записи службы так же, как вы делитесь файлом с обычным пользователем.Теперь, когда мы перешли на Team Drive, я не могу предоставить доступ к учетной записи службы, поскольку связанный с ней адрес электронной почты не считается частью нашей организации.Я также рассмотрел возможность добавления учетной записи службы в нашей организации в качестве обычного пользователя с помощью панели администратора Google, но она позволяет только создавать новых пользователей, но не включать уже существующих.Единственное решение, которое я нашел, - разрешить совместное использование с внешними сторонами, что позволило бы мне обмениваться файлами Team Drive с учетной записью службы, которая будет считаться внешней стороной.Это решение рискованно и некорректно, так как приложения, использующие Сервисную учетную запись, являются частью нашей организации.Мы также не хотим разрешать общий доступ к внешним сторонам в целом по соображениям безопасности.

Я выполнил действия, описанные в Как получить доступ к Team Drive с помощью служебной учетной записи в Google Drive .NET API v3 и они работают, но, как упоминалось выше, они требуют предоставления доступа к внешним сторонам, что нам не нужно.

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

Я также пытался делегировать полномочия для всего домена учетной записи службы, как описано в https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority,, но, насколько я понимаю, это не то, что я хочу, так какпозволит учетной записи службы выдавать себя за других пользователей, но у нас есть учетная запись службы для выполнения процессов, которые происходят автоматически и не связаны с конкретным пользователем.

Я также выполнил действияздесь указано https://developers.google.com/admin-sdk/reports/v1/guides/delegation#delegate_domain-wide_authority_to_your_service_account для внесения в белый список конкретной службы API через администратора GoogleИнтерфейс безопасности, но это, похоже, ничего не делает, и я не уверен, что он должен делать, поскольку я уже включил Drive API для этой учетной записи службы на панели APIs & Services, где я изначально создал учетную запись службы.

Мы используем R, и поэтому я использую пакет googledrive , который имеет функции для работы с Team Drives, такие как:

googledrive::drive_find()
googledrive::team_drive_find()
googledrive::team_drive_get(id = "team-drive-id")

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

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