Создание корпоративного приложения из мультитенантного приложения в идентификаторе 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-адресом согласия администратора, как упоминалось выше, создадут экземпляр субъекта-службы в клиенте и устранят проблему.

  1. Запустите connect-MgGraph -Scopes "Application.ReadWrite.All" и войдите по крайней мере с ролью администратора облачных приложений.

  2. Выполните следующую команду, чтобы создать корпоративное приложение:

    New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
    
  3. Чтобы удалить созданное корпоративное приложение, выполните следующую команду:

    Remove-MgServicePrincipal
       -ServicePrincipalId bbbbbbbb-1111-2222-3333-cccccccccccc
    
    

Для работы с Microsoft Graph можно использовать клиент API, например Graph Explorer .

  1. Предоставьте клиентскому приложению Application.ReadWrite.All разрешение.

  2. Чтобы создать корпоративное приложение, выполните следующий запрос. Идентификатор приложения — это идентификатор клиента приложения.

    POST https://graph.microsoft.com/v1.0/servicePrincipals
    Content-type: application/json
    
    {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
    
    
  3. Чтобы удалить созданное корпоративное приложение, выполните запрос.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals(appId='00001111-aaaa-2222-bbbb-3333cccc4444')
    
  1. Чтобы создать корпоративное приложение, выполните следующую команду:

    az ad sp create --id 00001111-aaaa-2222-bbbb-3333cccc4444
    
  2. Чтобы удалить созданное корпоративное приложение, выполните следующую команду:

    az ad sp delete --id bbbbbbbb-1111-2222-3333-cccccccccccc
    
    

Следующие шаги