Когда вы проходите через процесс добавления нового необходимого разрешения, портал просматривает все объекты ServicePrincipal в вашем клиенте Azure AD. Для каждого объекта ServicePrincipal он затем просматривает атрибуты AppRoles и OAuth2Permissions , чтобы увидеть, является ли приложение, представленное этим объектом ServicePrincipal , публикация любых разрешений приложений или делегированных разрешений соответственно.
Итак, чтобы увидеть ресурс в списке доступных ресурсов (т. Е. API), сначала необходимо убедиться, что для этого ресурса существует объект ServicePrincipal в клиенте Azure AD (т. Е. В клиент Azure AD, в котором вы создаете регистрацию приложения клиентского приложения).
A ServicePrincipal объект для приложения обычно создается в вашем клиенте Azure AD, когда вы (или кто-то еще из вашего клиента) входите в систему и соглашаетесь с разрешениями, запрашиваемыми приложением. Если объект ServicePrincipal не существует в вашем клиенте, вы можете создать его вручную, ссылаясь на AppId .
приложения ресурса.
С помощью Azure AD PowerShell:
New-AzureADServicePrincipal -AppId "{app-id}"
С помощью Azure CLI:
az ad sp create --id "{app-id}"
Непосредственно с Azure AD Graph (например, с Azure AD Graph Explorer ):
POST https://graph.windows.net/myorganization/servicePrincipals
{ "appId": "{app-id}" }
Непосредственно с Microsoft Graph (бета) (например, с Microsoft Graph Explorer ):
POST https://graph.microsoft.com/beta/servicePrincipals
{ "appId": "{app-id}" }
Как только объект ServicePrincipal создан в вашем клиенте, если он публикует AppRoles или OAuth2Permissions , вы должны увидеть его в списке регистрации приложения, при выборе разрешения, которое требуется вашему приложению.
Примечание 1: Некоторые из описанных действий отличаются для ServicePrincipal объектов, ссылающихся на приложения и службу Microsoft.
Примечание 2: Как только объект ServicePrincipal существует в вашем клиенте Azure AD, любой, кто владеет регистрацией вспомогательного приложения, может аутентифицироваться (как приложение) в вашем клиенте и получить токен доступа. Само по себе это не предоставляет приложению доступ ни к чему (по крайней мере, к службам Microsoft), но на данном этапе пользователю проще случайно (или намеренно) предоставить этому приложению доступ к ресурсам вашей организации (например, в Azure, для Например, приложение будет отображаться в списке пользователей, групп или приложений, которым может быть предоставлен доступ к ресурсам подписки).