Azure AD:如何为应用程序设置自定义权限?

问题描述 投票:2回答:1

我们将Azure AD应用程序配置为访问多个组织资源(使用掩码隐藏)(自定义资源,如Contoso Service)。我们想添加一个资源作为此设置的一部分。

任何人都可以指导我或分享文档链接:如何配置此自定义权限以显示在Azure AD配置仪表板的列表中?

enter image description here

azure azure-active-directory
1个回答
3
投票

当您通过体验添加新的必需权限时,门户网站将查看Azure AD租户中的所有ServicePrincipal对象。然后,对于每个ServicePrincipal对象,它会查看AppRoles和OAuth2Permissions属性,以查看该ServicePrincipal对象所代表的应用程序是分别发布任何应用程序权限还是委派权限。

因此,为了在可用资源列表(即API)中查看资源,首先需要确保Azure AD租户中存在该资源的ServicePrincipal对象(即,在您创建的Azure AD租户中)客户端应用程序的应用程序注册)。

当您(或租户中的其他人)登录并同意应用程序请求的权限时,通常会在Azure AD租户中创建应用程序的ServicePrincipal对象。如果租户中不存在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(beta)(例如使用Microsoft Graph Explorer):

POST https://graph.microsoft.com/beta/servicePrincipals

{ "appId": "{app-id}" }

在您的租户中创建ServicePrincipal对象后,如果它发布AppRoles或OAuth2Permissions,您应该在选择应用所需的权限时在应用注册体验中看到它。

注意1:所描述的某些行为因ServiceProrincipal对象引用Microsoft应用程序和服务而异。

注意2:Azure AD租户中存在ServicePrincipal对象后,拥有备份应用程序注册的任何人都可以在您的租户中进行身份验证(作为应用程序)并获取访问令牌。这本身并不允许应用程序访问任何内容(至少不是Microsoft服务),但此时用户不小心(或有意)授予该应用程序访问组织资源的权限(例如在Azure中,例如,应用程序将显示在可以授予访问订阅资源的用户,组或应用程序列表中。

© www.soinside.com 2019 - 2024. All rights reserved.