Microsoft Graph: приложение Daemon получает доступ к общим календарям только одного пользователя - PullRequest
0 голосов
/ 21 октября 2019

Мой сценарий:

  • Я хочу, чтобы пользователи могли делиться некоторыми своими календарями с приложением демона.
  • Я хочу приложение демона. иметь доступ на чтение и запись только к этим общим календарям.

Идея состоит в том, что пользователи могут "подписаться" на службу, просто создав календарь и поделившись им с демоном. а затем отменив это, чтобы отказаться. Я хочу избежать необходимости привлекать административный персонал для управления разрешениями. Я также хочу избежать создания некоторой программы для управления разрешениями. А часть общего доступа позволяет моему демону легко определить, с какими календарями он должен работать.

Мое решение:

  1. Создайте учетную запись службы с электронными письмами и календарями. Пользователи делятся нужными календарями с этой учетной записью.
  2. Создайте учетную запись приложения с правами календаря и электронной почты.
  3. Создайте группу безопасности с доступом к электронной почте и добавьте в нее учетную запись службы. group.
  4. используйте командлет New-ApplicationAccessPolicy PowerShell , чтобы ограничить доступ приложения только к группе безопасности.

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

Есть ли способ обойти это ограничение? Этот вопрос кажется похожим на другие вопросы, где приложение. если «ActAs» - конкретный пользователь, а остальные ответы обычно «не могут этого сделать».

Документация New-ApplicationAccessPolicy

Mail-Enabled-Документация группы безопасности

Решение должно использовать Java.

1 Ответ

0 голосов
/ 25 октября 2019

New-ApplicationAccessPolicy предназначен для ограничения доступа только приложений к определенным почтовым ящикам.

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

Поток кода устройства должен работать. Или используйте KeyVault (или его эквивалент) для хранения учетных данных учетной записи службы и используйте поток ROPC.

...