Синхронизация групп пользователей AD с серверной службой - PullRequest
0 голосов
/ 26 мая 2020

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

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

В Cognito я добавил в качестве стороннего поставщика удостоверений Azure AD через OID C. У меня также есть серверная служба, которая будет хранить роли пользователей в своей собственной базе данных. Теперь для пользователей, которые будут добавлены в пул пользователей через AD, мне нужно реплицировать их группы в AD в качестве роли в моей базе данных службы. (Итак, если у меня есть пользователь в AD, который является частью группы ADMIN, мне нужно получить эту группу и поместить ее в свою базу данных в качестве роли для этого специфицированного пользователя c).

Теперь идея состоит в том, чтобы использовать MS Graph для синхронизации групп с ролями в моем сервисе. Но дело в том, что тогда мне понадобятся учетные данные пользователя AD, у которого есть права на просмотр этой информации в AD. На самом деле это не то, чего я пытаюсь достичь sh.

Я предполагаю, что это можно сделать в сценарии «все сразу» (что потребует от пользователя «GODs» учетных данных AD, что не вариант) или по одному (когда они входят в Cognito через AD как Idp).

Итак, чтобы подвести итог, мой вопрос: могу ли я интегрировать вызов в MS Graph, когда пользователь входит в систему с его учетными данными ad (microsoft), что в некотором смысле я получаю информацию о его группе, когда он пытается войти в пул пользователей Cognito?

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

Если кто-нибудь может мне помочь, я был бы признателен

Спасибо

1 Ответ

0 голосов
/ 26 мая 2020

Вам не нужно интегрировать вызов в MS Graph.

Просто включите утверждение групп в свой токен, как указано здесь . Вам просто нужно изменить поле «groupMembershipClaims» в манифесте приложения:

"groupMembershipClaims": "SecurityGroup"

Тогда токен будет содержать идентификаторы групп, к которым принадлежит пользователь, как показано ниже:

{
  "groups": ["{group id}"]
}
...