Создание корпоративного приложения из мультитенантного приложения в идентификаторе Microsoft Entra
В этой статье вы узнаете, как создать корпоративное приложение в клиенте с помощью идентификатора клиента для мультитенантного приложения. Корпоративное приложение — это субъект-служба в арендаторе. Субъекта-служба, описанный в этой статье, является локальным представлением (экземпляром приложения) глобального объекта приложения в одном арендаторе или каталоге.
Прежде чем приступить к добавлению приложения с помощью любого из этих вариантов, проверьте, присутствует ли уже корпоративное приложение в арендаторе, выполнив попытку входа в приложение. Если вход выполнен успешно, корпоративное приложение уже существует в арендаторе.
Если вы убедились, что приложение не в вашем клиенте, перейдите к любому из следующих способов добавления корпоративного приложения в клиент.
Необходимые компоненты
Чтобы добавить корпоративное приложение в клиент Microsoft Entra, вам потребуется:
- Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
- Одна из следующих ролей: администратор облачных приложений или администратор приложений.
- Идентификатор клиента (также называемый appId в Microsoft Graph) мультитенантного приложения.
Создание корпоративного приложения
Если вам отображается URL-адрес для предоставления согласия администратора, перейдите по URL-адресу через веб-браузер, чтобы предоставить согласие администратора на уровне арендатора для приложения. Предоставление приложению согласия администратора на уровне арендатора добавит его в арендатор. URL-адрес согласия администратора на уровне арендатора имеет следующий формат:
https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=248e869f-0e5c-484d-b5ea1fba9563df41&redirect_uri=https://www.your-app-url.com
Где:
{client-id}
представляет собой идентификатор клиента приложения (также известный как appId).
Примечание.
Если вы пытаетесь использовать корпоративное приложение, и субъект-служба еще не создан в клиенте, Entra ответит на ошибку (401) Неавторизованная ошибка: "Клиентское приложение {appId} отсутствует субъект-служба в клиенте {tenantId}". Чтобы устранить эту проблему, выполните согласие с URL-адресом согласия администратора, как упоминалось выше, создадут экземпляр субъекта-службы в клиенте и устранят проблему.
Запустите
connect-MgGraph -Scopes "Application.ReadWrite.All"
и войдите по крайней мере с ролью администратора облачных приложений.Выполните следующую команду, чтобы создать корпоративное приложение:
New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
Чтобы удалить созданное корпоративное приложение, выполните следующую команду:
Remove-MgServicePrincipal -ServicePrincipalId bbbbbbbb-1111-2222-3333-cccccccccccc
Для работы с Microsoft Graph можно использовать клиент API, например Graph Explorer .
Предоставьте клиентскому приложению
Application.ReadWrite.All
разрешение.Чтобы создать корпоративное приложение, выполните следующий запрос. Идентификатор приложения — это идентификатор клиента приложения.
POST https://graph.microsoft.com/v1.0/servicePrincipals Content-type: application/json { "appId": "00001111-aaaa-2222-bbbb-3333cccc4444" }
Чтобы удалить созданное корпоративное приложение, выполните запрос.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals(appId='00001111-aaaa-2222-bbbb-3333cccc4444')
Чтобы создать корпоративное приложение, выполните следующую команду:
az ad sp create --id 00001111-aaaa-2222-bbbb-3333cccc4444
Чтобы удалить созданное корпоративное приложение, выполните следующую команду:
az ad sp delete --id bbbbbbbb-1111-2222-3333-cccccccccccc