Можно ли манипулировать арендатором из другого арендатора в Azure?
Я новичок в Azure, и меня беспокоит один вопрос. Можно ли создать мультитенантную логику в Azure с одним «Общим» AAD, который содержит приложения-функции и другие арендаторы (более 20), которые должны использовать эти приложения для управления своими собственными арендаторами?
Например, есть приложение для управления пользователями (UserManagement). Когда эта функция «вызывается» из другого арендатора (арендатора «Б»), скажем, для добавления нового пользователя, она должна добавить пользователя только в вызываемый AAD (арендатор «Б»).
Я пытаюсь добиться этого, сохраняя учетные данные регистрации приложения в таблице или субъекте-службе — логика регистрации приложения, но это не дает никакого эффекта.
Спасибо .
1 ответ
Я согласен с @Tiny Wang, вам нужно создать многопользовательское приложение Azure AD для реализации вашего сценария.
Я попытался воспроизвести то же самое в своей среде и получил следующие результаты:
Я создал приложение Azure AD в TenantA:
Теперь я попытался войти в систему с пользователем TenantB, используя следующую конечную точку авторизации:
https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=https://jwt.ms
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345
Пользователю будет предложен экран, как показано ниже:
Как только пользователь принимает согласие,
TenantB
пользователь будет успешно авторизован.
Я сгенерировал токен доступа , используя следующие параметры:
https://login.microsoftonline.com/organizations/oauth2/v2.0/token
grant_type:authorization_code
client_id:ClientID
scope:https://graph.microsoft.com/.default
code:code
redirect_uri:https://jwt.ms
client_secret:ClientSecret
Если вы хотите, чтобы личные учетные записи Microsoft имели доступ к вашему приложению, зарегистрируйте свое приложение, как показано ниже, и используйте
common
конечная точка:
- В зависимости от ваших требований вы можете назначить разрешения API Azure AD и разрешить пользователям доступ к приложению.