2017-07-25 57 views
0

我在想如何使用Azure AD Graph API創建新的appRoleAssignment。 (看起來較新的Microsoft Graph不支持創建應用程序角色分配)。我想使用默認角色。如何使用Azure AD Graph API創建新的AppRoleAssignment

var assignment = new Dictionary<string, string>(); 
assignment["id"] = "00000000-0000-0000-0000-000000000000"; 
assignment["principalId"] = "user-guid"; 
assignment["resourceId"] = "service-principal-guid"; 
var url = "https://graph.windows.net/{tenant.onmicrosoft.com}/servicePrinciapls/{service-principal-guid}/appRoleAssignments"; 

我也試過張貼到:

var url = "https://graph.windows.net/{tenant.onmicrosoft.com}/appRoleAssignments"; 

POST荷蘭國際集團在希望中的數據來創建任務,但它是給一個404錯誤。

assignment字典被轉換爲JSON併發布。

回答

1

this answer,我們討論了端點GET應用角色分配給用戶。同樣的端點是一個你會POST來創建一個新的應用程序角色分配:

POST https://graph.windows.net/{tenant-id}/users/{id}/appRoleAssignments?api-version=1.6 
... 

{ 
    "principalId":"{user-object-id}", 
    "resourceId":"{service-principal-object-id}", 
    "id":"00000000-0000-0000-0000-000000000000"  
} 

(在上面的例子中,我們使用00000000-0000-0000-0000-000000000000作爲應用程序的角色ID,因爲我們要創建一個默認分配(即「沒有角色「)。如果我們想將用戶分配給特定的應用角色,這將對應於ServicePrincipal對象中的idAppRole。)

1

而不是使用servicePrincipal集合,我們需要使用用戶實體爲用戶創建appRoleAssignment。這是給你參考的例子:

POST:https://graph.windows.net/{tenant}/users/{userObjectId}/appRoleAssignments?api-version=1.6 

authorization: Bearer {access_token} 
Content-Type: application/json 

{ 
    "id":"00000000-0000-0000-0000-000000000000", 
    "resourceId":"{servicePrincipId}", 
    "principalId":"{userObjectId}"  
} 
相關問題