ATO*_*ATO 7 azure azure-active-directory
我在 Azure Active Directory -> 应用程序注册下注册了一个 API 应用程序。此 API 应用程序公开了可由组织内的客户端访问的端点。客户端不是用户,而是将访问端点的后台服务。
当我尝试授予客户端访问 API 应用程序的 API 权限时,我看到应用程序权限被禁用/变灰。设置 API 权限时是否需要做一些不同的事情。
请看附图。
有没有人遇到过这个问题,或者我在做什么傻事。我们组织中的 Azure 管理员告诉我他无法帮助解决这个问题,因为他以前从未见过这样的事情。
很可能您还没有为您的应用程序注册定义任何角色(即应用程序权限),因此当您尝试为客户端应用程序添加权限时,您只会看到一个委托权限选项。
如何定义角色/应用程序权限
转到 Azure 门户 > Azure AD > 应用注册 > API 应用程序注册 > 清单
在 Manifest JSON 中找到“appRoles”集合,如果它为空,请在此处添加您自己的 appRoles。例子:
"appRoles": [
{
"allowedMemberTypes": [
"Application"
],
"description": "Apps that have this role have the ability to invoke my API",
"displayName": "Can invoke my API",
"id": "fc803414-3c61-4ebc-a5e5-cd1675c14bbb",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "MyAPIValidClient"
}
]
Run Code Online (Sandbox Code Playgroud)
请注意,我将“allowedMemberTypes”保留为“应用程序”,因此它只能用作应用程序权限。另一种可能性是将“用户”作为 allowedMemberType,但这是针对不同的用例,当您想为用户分配角色而这不是您要查找的内容时。
现在,如果您转到要授予此角色(应用程序权限)的客户端应用程序注册,您应该能够看到“应用程序权限”已启用。
您还应该能够看到应用程序权限“MyAPIValidClient”,其描述可供选择。现在我在上面的例子中只定义了一个 Application Permission,但是正如你所看到的,它是一个数组,所以你也可以定义多个。只需确保为每个应用程序权限生成新的 GUID 作为“id”分配。
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |