将具有角色的用户添加到应用注册

时间:2017-09-22 19:49:06

标签: azure-active-directory azure-ad-graph-api

我可以看到您可以使用图形API创建应用注册,但是是否可以将用户和角色添加到应用注册中?

2 个答案:

答案 0 :(得分:2)

如果要将用户分配给该应用程序,则在其中一个指定的应用程序角色中,您需要在该用户上设置appRoleAssignment。如果使用Azure AD Graph api,您可以使用下面的rest api:

https://graph.windows.net/{tenant-id}/users/{username}/appRoleAssignments?api-version={api-version}
Content-Type:application/json
Authorization: Bearer {token}
{
    "id": "RoleID", 
    "principalId":  "UserObjectID", 
    "principalType": "User", 
    "resourceId":  "servicePrincipalID"
}

id :这是您要分配的角色的ID。这些ID可以在Application的Manifest中找到。或者您可以使用下面的api来获取为您的应用程序定义的特定角色(appRoles声明):

https://graph.windows.net/{tenant}/applications/{ObjectIDOfApplication}?api-version=1.6

principalId :这是您要分配角色的用户的Obeject ID。

principalType :如果您要将此角色分配给用户,则将其设置为字符串User

resourceId :应用程序的服务主体ID。要获取服务主体ID,您可以使用以下api(objectId声明):

https://graph.windows.net/{tenant}/servicePrincipals?api-version=1.6&$filter=appId eq 'appid'

答案 1 :(得分:1)

Microsoft Graph Beta端点中提供了应用程序角色分配:请参阅Update approleassignment

为了让您了解如何向用户添加应用角色分配,我建议您查看GitHub上Configure.ps1示例的active-directory-dotnet-webapp-roleclaims PowerShell脚本,该脚本会创建测试用户给定角色并更新应用程序注册。这是在PowerShell中,但您应该能够使其适应使用MSGraph