Aangepaste beheerdersrollen toewijzen met behulp van de Microsoft Graph API in Microsoft Entra ID
U kunt automatiseren hoe u rollen toewijst aan gebruikersaccounts met behulp van de Microsoft Graph API. In dit artikel worden POST-, GET- en DELETE-bewerkingen voor roleAssignments beschreven.
Vereisten
- Licentie voor Microsoft Entra ID P1 of P2
- Beheerder voor bevoorrechte rollen
- Beheerderstoestemming bij het gebruik van Graph Explorer voor Microsoft Graph API
Raadpleeg Vereisten voor het gebruik van PowerShell of Graph Explorer voor meer informatie.
POST-bewerkingen op RoleAssignment
Gebruik de API Create unifiedRoleAssignment om de rol toe te wijzen.
Voorbeeld 1: Een roltoewijzing maken tussen een gebruiker en een roldefinitie
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
Hoofdtekst
{
"@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.
}
Respons
HTTP/1.1 201 Created
Voorbeeld 2: Een roltoewijzing maken waarbij de principal of roldefinitie niet bestaat
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Hoofdtekst
{
"@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.
}
Respons
HTTP/1.1 404 Not Found
Voorbeeld 3: Een roltoewijzing maken voor één resourcebereik
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Hoofdtekst
{
"@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
}
Respons
HTTP/1.1 201 Created
Voorbeeld 4: Een toegewezen roltoewijzing voor een beheereenheid maken op basis van een ingebouwde roldefinitie die niet wordt ondersteund
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Hoofdtekst
{
"@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
}
Respons
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."
}
}
}
Er is slechts een subset van ingebouwde rollen ingeschakeld voor het bereik van beheereenheden. Raadpleeg deze documentatie voor de lijst met ingebouwde rollen die worden ondersteund voor een beheereenheid.
GET-bewerkingen voor RoleAssignment
Gebruik de API List unifiedRoleAssignments om de roltoewijzing op te halen.
Voorbeeld 5: Roltoewijzingen ophalen voor een bepaalde principal
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId+eq+'<object-id-of-principal>'
Respons
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": "/"
}
]
}
Voorbeeld 6: Roltoewijzingen ophalen voor een bepaalde roldefinitie
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId+eq+'<object-id-or-template-id-of-role-definition>'
Respons
HTTP/1.1 200 OK
{
"value":[
{
"id": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1wIiSDKQoTVJrLE9etXyrY0-1"
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"directoryScopeId": "/"
}
]
}
Voorbeeld 7: Een roltoewijzing ophalen op id
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Respons
HTTP/1.1 200 OK
{
"id": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0uIiSDKQoTVJrLE9etXyrY0-1",
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "10dae51f-b6af-4016-8d66-8c2a99b929b3",
"directoryScopeId": "/"
}
Voorbeeld 8: Roltoewijzingen ophalen voor een bepaald bereik
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=directoryScopeId+eq+'/d23998b1-8853-4c87-b95f-be97d6c6b610'
Respons
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"
}
]
}
DELETE-bewerkingen voor RoleAssignment
Gebruik de Delete unifiedRoleAssignment-API om de roltoewijzing te verwijderen.
Voorbeeld 9: Een roltoewijzing tussen een gebruiker en een roldefinitie verwijderen.
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Respons
HTTP/1.1 204 No Content
Voorbeeld 10: Een roltoewijzing verwijderen die niet meer bestaat
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Respons
HTTP/1.1 404 Not Found
Voorbeeld 11: Een roltoewijzing verwijderen tussen de roldefinitie zelf en globale beheerder
DELETE https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments/lAPpYvVpN0KRkAEhdxReEJC2sEqbR_9Hr48lds9SGHI-1
Respons
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
}
}
}
We voorkomen dat gebruikers hun eigen rol globale beheerder verwijderen om een scenario te voorkomen waarin een tenant geen globale beheerders heeft. Het verwijderen van andere rollen die aan zichzelf zijn toegewezen, is toegestaan.
Volgende stappen
- U kunt het delen met ons op het forum voor Microsoft Entra-beheerdersrollen
- Zie Ingebouwde rollen van Microsoft Entra voor meer informatie over rolmachtigingen
- Raadpleeg een vergelijking van standaardmachtigingen voor gasten en leden voor meer informatie over de standaard gebruikersmachtigingen