Přiřazení vlastních rolí správce pomocí rozhraní Microsoft Graph API v Microsoft Entra ID
Pomocí rozhraní Microsoft Graph API můžete automatizovat způsob přiřazování rolí uživatelským účtům. Tento článek popisuje operace POST, GET a DELETE pro roleAssignments.
Požadavky
- Licence Microsoft Entra ID P1 nebo P2
- Správce privilegovaných rolí
- Souhlas správce při používání Graph Exploreru pro rozhraní Microsoft Graph API
Další informace najdete v tématu Požadavky pro použití PowerShellu nebo Graph Exploreru.
Operace POST s přiřazením role
K přiřazení role použijte rozhraní API Create unifiedRoleAssignment.
Příklad 1: Vytvoření přiřazení role mezi uživatelem a definicí role
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
Text
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "194ae4cb-b126-40b2-bd5b-6091b380977d",
"directoryScopeId": "/" // Don't use "resourceScope" attribute in Azure AD role assignments. It will be deprecated soon.
}
Odezva
HTTP/1.1 201 Created
Příklad 2: Vytvoření přiřazení role, kde neexistuje definice objektu zabezpečení nebo role
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Text
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "aaaaaaaa-bbbb-cccc-1111-2222222222229",
"roleDefinitionId": "194ae4cb-b126-40b2-bd5b-6091b380977d",
"directoryScopeId": "/" //Don't use "resourceScope" attribute in Azure AD role assignments. It will be deprecated soon.
}
Odezva
HTTP/1.1 404 Not Found
Příklad 3: Vytvoření přiřazení role pro jeden obor prostředků
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Text
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "aaaaaaaa-bbbb-cccc-1111-2222222222229",
"roleDefinitionId": "00000000-0000-0000-0000-000000000000", //role template ID of a custom role
"directoryScopeId": "/13ff0c50-18e7-4071-8b52-a6f08e17c8cc" //object ID of an application
}
Odezva
HTTP/1.1 201 Created
Příklad 4: Vytvoření přiřazení role s vymezeným oborem pro správu u předdefinované definice role, která není podporována
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Text
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "29232cdf-9323-42fd-ade2-1d097af3e4de", //role template ID of Exchange Administrator
"directoryScopeId": "/administrativeUnits/13ff0c50-18e7-4071-8b52-a6f08e17c8cc" //object ID of an administrative unit
}
Odezva
HTTP/1.1 400 Bad Request
{
"odata.error":
{
"code":"Request_BadRequest",
"message":
{
"message":"The given built-in role is not supported to be assigned to a single resource scope."
}
}
}
Pro nastavení rozsahu jednotek pro správu je povolena pouze podmnožina předdefinovaných rolí. Seznam předdefinovaných rolí podporovaných v rámci jednotky pro správu najdete v této dokumentaci.
Operace GET s přiřazením role
K získání přiřazení role použijte rozhraní API List unifiedRoleAssignments.
Příklad 5: Získání přiřazení rolí pro daný objekt zabezpečení
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId+eq+'<object-id-of-principal>'
Response
HTTP/1.1 200 OK
{
"value":[
{
"id": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0uIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "10dae51f-b6af-4016-8d66-8c2a99b929b3",
"directoryScopeId": "/"
} ,
{
"id": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1wIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"directoryScopeId": "/"
}
]
}
Příklad 6: Získání přiřazení rolí pro danou definici role
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId+eq+'<object-id-or-template-id-of-role-definition>'
Response
HTTP/1.1 200 OK
{
"value":[
{
"id": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1wIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"directoryScopeId": "/"
}
]
}
Příklad 7: Získání přiřazení role podle ID
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Response
HTTP/1.1 200 OK
{
"id": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0uIiSDKQoTVJrLE9etXyrY0-1",
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "10dae51f-b6af-4016-8d66-8c2a99b929b3",
"directoryScopeId": "/"
}
Příklad 8: Získání přiřazení rolí pro daný obor
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=directoryScopeId+eq+'/d23998b1-8853-4c87-b95f-be97d6c6b610'
Response
HTTP/1.1 200 OK
{
"value":[
{
"id": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0uIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "10dae51f-b6af-4016-8d66-8c2a99b929b3",
"directoryScopeId": "/d23998b1-8853-4c87-b95f-be97d6c6b610"
} ,
{
"id": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1wIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "00000000-0000-0000-0000-000000000000",
"directoryScopeId": "/d23998b1-8853-4c87-b95f-be97d6c6b610"
}
]
}
Operace DELETE s přiřazením rolí
K odstranění přiřazení role použijte rozhraní API Delete unifiedRoleAssignment.
Příklad 9: Odstranění přiřazení role mezi uživatelem a definicí role
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Response
HTTP/1.1 204 No Content
Příklad 10: Odstranění přiřazení role, které již neexistuje
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Response
HTTP/1.1 404 Not Found
Příklad 11: Odstranění přiřazení role mezi definicí role sebe a globálního správce
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Response
HTTP/1.1 400 Bad Request
{
"odata.error":
{
"code":"Request_BadRequest",
"message":
{
"lang":"en",
"value":"Removing self from Global Administrator built-in role is not allowed"},
"values":null
}
}
}
Zabráníme uživatelům v odstranění vlastní role globálního správce, aby se zabránilo scénáři, kdy má tenant nula globálních správců. Odebrání dalších rolí přiřazených k vlastnímu serveru je povolené.
Další kroky
- Neváhejte se s námi podělit na fóru pro správu Microsoft Entra
- Další informace o oprávněních rolí najdete v tématu Předdefinované role Microsoft Entra.
- Výchozí uživatelská oprávnění najdete v porovnání výchozích uživatelských oprávnění hostů a členů.