Créer unifiedRoleAssignment

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Créez un objet unifiedRoleAssignment .

Cette API est disponible dans les déploiements cloud nationaux suivants.

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ✅ ✅ ✅

Autorisations

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Pour le fournisseur d’annuaire (Microsoft Entra ID)

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) RoleManagement.ReadWrite.Directory
Déléguée (compte Microsoft personnel) Non prise en charge.
Application RoleManagement.ReadWrite.Directory

Importante

Pour l’accès délégué à l’aide de comptes professionnels ou scolaires, l’utilisateur connecté doit disposer d’un rôle Microsoft Entra pris en charge ou d’un rôle personnalisé qui accorde les autorisations requises pour cette opération. Administrateur de rôle privilégié est le rôle le moins privilégié pris en charge pour cette opération.

Pour le fournisseur de gestion des droits d’utilisation

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) EntitlementManagement.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application Non prise en charge.

Pour un fournisseur Exchange Online

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) RoleManagement.ReadWrite.Exchange
Déléguée (compte Microsoft personnel) Non prise en charge.
Application RoleManagement.ReadWrite.Exchange

Requête HTTP

Créez une attribution de rôle pour le fournisseur d’annuaire :

POST /roleManagement/directory/roleAssignments

Créez une attribution de rôle pour le fournisseur de gestion des droits d’utilisation :

POST /roleManagement/entitlementManagement/roleAssignments

Créez une attribution de rôle pour le fournisseur Exchange Online :

POST /roleManagement/exchange/roleAssignments

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON d’un objet unifiedRoleAssignment .

Vous pouvez spécifier les propriétés suivantes lors de la création d’une unifiedRoleAssignment.

Propriété Type Description
appScopeId String Obligatoire. Identificateur de l’étendue spécifique de l’application lorsque l’étendue de l’affectation est spécifique à l’application. L’étendue d’une affectation détermine l’ensemble des ressources pour lesquelles le principal a obtenu l’accès. Les étendues d’application sont définies et comprises uniquement par une application de ressource.

Pour le fournisseur de gestion des droits d’utilisation, utilisez cette propriété pour spécifier un catalogue, par exemple /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997.

AppScopeId ou directoryScopeId doivent être spécifiés.
directoryScopeId String Obligatoire. Identificateur de l’objet d’annuaire représentant l’étendue de l’affectation. L’étendue d’une affectation détermine l’ensemble des ressources pour lesquelles le principal a obtenu l’accès. Les étendues d’annuaire sont des étendues partagées stockées dans l’annuaire qui sont comprises par plusieurs applications, contrairement aux étendues d’application qui sont définies et comprises par une application de ressource uniquement.

Pour le fournisseur de répertoire (Microsoft Entra ID), cette propriété prend en charge les formats suivants :
  • / Pour une étendue à l’échelle du client
  • /administrativeUnits/{administrativeunit-ID} pour étendre l’étendue à une unité administrative
  • /{application-objectID} pour étendre l’étendue à une application de ressource
  • /attributeSets/{attributeSet-ID} to scope to an attribute set

    Pour le fournisseur de gestion des droits d’utilisation, / pour une étendue à l’échelle du client. Pour étendre l’étendue à un catalogue de packages d’accès, utilisez la propriété appScopeId .

    Pour le fournisseur Exchange Online, cette propriété prend en charge les formats suivants :
  • / Pour une étendue à l’échelle du client
  • /Users/{ObjectId of user} pour étendre l’attribution de rôle à un utilisateur spécifique
  • /AdministrativeUnits/{ObjectId of AU} pour étendre l’attribution de rôle à une unité administrative
  • /Groups/{ObjectId of group} pour étendre l’attribution du rôle aux membres d’un groupe spécifique

    AppScopeId ou directoryScopeId doivent être spécifiés.
  • principalId String Obligatoire. Identificateur du principal auquel l’affectation est accordée.
    roleDefinitionId String Identificateur de unifiedRoleDefinition pour lequel l’affectation est destinée. En lecture seule. Prend en charge $filter (eq, in).

    Réponse

    En cas de réussite, cette méthode renvoie un 201 Created code de réponse et un nouvel objet unifiedRoleAssignment dans le corps de la réponse.

    Exemples

    Exemple 1 : créer une attribution de rôle avec l’étendue du client

    Demande

    L’exemple suivant illustre une demande. Remarque : utilisation de roleTemplateId pour roleDefinitionId. roleDefinitionId peut être l’ID de modèle à l’échelle du service ou le roleDefinitionId spécifique à l’annuaire.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    { 
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    Réponse

    L’exemple suivant illustre la réponse.

    Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "YUb1sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHVi2I-1",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    Exemple 2 : créer une attribution de rôle avec une étendue d’unité administrative

    Demande

    L’exemple suivant attribue le rôle d’administrateur utilisateur à un principal ayant une étendue d’unité administrative.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    Réponse

    L’exemple suivant illustre la réponse.

    Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "BH21sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHIWb7-1",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    Exemple 3 : Créer une attribution de rôle avec l’étendue du jeu d’attributs

    Demande

    L’exemple suivant attribue le rôle d’administrateur d’attribution d’attributs à un principal dont l’étendue du jeu d’attributs est nommée Ingénierie. Pour plus d’informations sur les attributs de sécurité personnalisés de Microsoft Entra et l’étendue de l’ensemble d’attributs, consultez Gérer l’accès aux attributs de sécurité personnalisés dans Microsoft Entra ID.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    Réponse

    L’exemple suivant illustre la réponse.

    Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "oz6hWDLGrkae4JwNQ81_PU-mYqx8m71OpqEQPdN1u",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    Exemple 4 : créer une attribution de rôle avec l’étendue du catalogue de packages d’accès

    Demande

    L’exemple suivant illustre une demande.

    POST https://graph.microsoft.com/beta/roleManagement/entitlementManagement/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    Réponse

    L’exemple suivant illustre la réponse.

    Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/entitlementManagement/roleAssignments/$entity",
        "id": "f3092518-7874-462e-93e9-0cd6c11ffc52",
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    Exemple 5 : créer une attribution de rôle pour un fournisseur Exchange Online avec une étendue d’unité administrative

    Demande

    L’exemple suivant illustre une demande.

    POST https://graph.microsoft.com/beta/roleManagement/exchange/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }
    

    Réponse

    L’exemple suivant illustre la réponse.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/exchange/roleAssignments/$entity",
        "id": "c5dd3ab8-374f-42e9-b163-eb7c54b53755",
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }