Partager via


Attribuer des rôles privilégiés à l’aide de PIM pour les API de rôles Microsoft Entra

Privileged Identity Management (PIM) aide les organisations à réduire les risques associés à l’accès privilégié en limitant le moment où l’accès est actif, en gérant l’étendue d’accès et en fournissant un journal d’accès privilégié pouvant être audité. L’accès privilégié est généralement accordé à des fins administratives par le biais de groupes pouvant être attribués à un rôle ou de rôles d’administrateur.

Contoso souhaite déléguer certaines fonctions d’administration en attribuant des rôles Microsoft Entra aux utilisateurs via des groupes de sécurité. L’entreprise attribue l’éligibilité au lieu de rôles privilégiés actifs en permanence. Cette méthode est efficace pour les raisons suivantes :

  • La suppression ou l’ajout de membres du groupe entraîne également la suppression ou l’ajout d’administrateurs.
  • Les membres du groupe héritent des attributions de rôles. Vous pouvez attribuer davantage de rôles à un groupe au lieu d’attribuer des rôles directement à des utilisateurs individuels.
  • L’attribution d’éligibilité au lieu de privilèges actifs persistants applique l’accès juste-à-temps, en accordant des autorisations temporaires pour effectuer des tâches privilégiées. Lorsqu’un membre du groupe a besoin de privilèges, il active temporairement son affectation. Toutes les activations de rôle peuvent être auditables.

Vous pouvez modéliser l’éligibilité aux rôles par le biais de groupes de deux manières :

  • Accordez à un groupe une attribution de rôle permanente et rendez les principaux éligibles pour le groupe. Dans ce scénario, les membres du groupe activent leur appartenance au groupe pour obtenir des attributions de rôles actives.
  • Accordez à un groupe une attribution de rôle éligible et faites des principaux des membres permanents du groupe. Dans ce scénario, les membres du groupe activent leurs attributions de rôles pour obtenir des privilèges.

Dans ce tutoriel, vous apprenez à effectuer les opérations suivantes :

  • Créez un groupe de sécurité pouvant être attribué à un rôle.
  • Rendre un groupe de sécurité assignable à un rôle éligible pour un rôle privilégié.
  • Accordez un accès juste-à-temps à un utilisateur en activant son affectation éligible.

Configuration requise

Pour suivre ce didacticiel, vous avez besoin des éléments suivants :

  • Un locataire Microsoft Entra avec une licence Microsoft Entra ID P2 ou Gouvernance Microsoft Entra ID
  • Un client API tel que Graph Explorer connecté avec un compte qui a au moins le rôle Administrateur de rôle privilégié
  • Un utilisateur de test activé pour l’authentification multifacteur avec accès à son application Microsoft Authenticator
  • Autorisations déléguées :
    • Group.ReadWrite.All pour créer le groupe
    • RoleManagement.ReadWrite.Directory pour rendre le groupe assignable aux rôles et pour configurer et gérer les attributions de rôles éligibles et actifs. Cette autorisation doit être accordée à tous les utilisateurs du locataire.

Étape 1 : Créer un groupe de sécurité pouvant être attribué à un rôle

Attribuez-vous en tant que propriétaire du groupe et ajoutez-vous-même et l’utilisateur de test en tant que membres.

Demande : Créer un groupe assignable à un rôle

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json

{
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true,
    "isAssignableToRole": true,
    "owners@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/e2330663-f949-41b5-a3dc-faeb793e14c6"
    ],
    "members@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/e2330663-f949-41b5-a3dc-faeb793e14c6",
        "https://graph.microsoft.com/v1.0/users/d9771b4c-06c5-491a-92cb-3aa4e225a725"
    ]
}

Réponse

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
    "id": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "groupTypes": [],
    "isAssignableToRole": true,
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true
}

Étape 2 : Créer une demande unifiedRoleEligibilityScheduleRequest

Affectez le groupe de sécurité comme éligible au rôle Administrateur d’utilisateurs pendant un an. Étendue de l’attribution éligible à l’ensemble de votre locataire. L’étendue au niveau du locataire permet à l’administrateur utilisateur de gérer tous les utilisateurs de votre locataire, à l’exception des utilisateurs disposant de privilèges plus élevés comme les administrateurs généraux.

Demande

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests
Content-type: application/json

{
    "action": "AdminAssign",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:06:00Z",
        "expiration": {
            "endDateTime": "2026-03-21T00:00:00Z",
            "type": "AfterDateTime"
        }
    }
}

Réponse

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "12956159-24b8-4619-b9ea-8ce21f81a38f",
    "status": "Provisioned",
    "createdDateTime": "2025-03-21T11:07:23.4563591Z",
    "completedDateTime": "2025-03-21T11:07:24.8573295Z",
    "action": "adminAssign",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "targetScheduleId": "12956159-24b8-4619-b9ea-8ce21f81a38f",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "id": "e2330663-f949-41b5-a3dc-faeb793e14c6"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:07:24.8573295Z",
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2026-03-21T00:00:00Z",
            "duration": null
        }
    },
    "ticketInfo": {}
}

Étape 3 : Confirmer les attributions de rôles actuelles de l’utilisateur

Les membres du groupe sont désormais éligibles pour le rôle Administrateur d’utilisateurs, mais ne peuvent pas utiliser le rôle tant qu’ils ne l’ont pas activé. La requête suivante confirme les attributions de rôles actives existantes de l’utilisateur. La requête retourne une collection vide.

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId eq 'd9771b4c-06c5-491a-92cb-3aa4e225a725'

Étape 4 : L’utilisateur active lui-même son affectation éligible

Un ticket CONTOSO: Security-012345 d’incident nécessite l’invalidation de tous les jetons d’actualisation des employés. En tant que membre du support technique informatique, Aline souhaite résoudre cette tâche.

Démarrez l’application Authenticator sur votre téléphone et ouvrez le compte d’Aline Dupuy.

Connectez-vous à Graph Explorer en tant que Aline. La requête suivante montre comment activer votre rôle Administrateur d’utilisateurs pendant cinq heures.

Demande

Pour activer un rôle, appelez le point de roleAssignmentScheduleRequests terminaison. Dans cette demande, l’action UserActivate vous permet d’activer votre affectation éligible.

  • Pour principalId, indiquez la valeur de votre ID (Aline).
  • RoleDefinitionId est l’ID du rôle auquel vous êtes éligible, dans ce cas, le rôle Administrateur d’utilisateurs.
  • Entrez les détails du système de tickets qui fournit une justification vérifiable pour l’activation de la demande.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
Content-type: application/json

{
    "action": "SelfActivate",
    "principalId": "d9771b4c-06c5-491a-92cb-3aa4e225a725",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:46:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Réponse

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

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "fdde3804-2cd0-4349-b1f6-674927c94f0b",
    "status": "Provisioned",
    "createdDateTime": "2025-03-21T11:46:41.9645736Z",
    "completedDateTime": "2025-03-21T11:46:42.4165908Z",
    "action": "selfActivate",
    "principalId": "d9771b4c-06c5-491a-92cb-3aa4e225a725",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "fdde3804-2cd0-4349-b1f6-674927c94f0b",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "createdBy": {
        "user": {
            "id": "d9771b4c-06c5-491a-92cb-3aa4e225a725"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2025-03-21T11:46:42.4165908Z",
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Étape 5 : Confirmer l’attribution de rôle

Vous pouvez confirmer votre affectation en exécutant la requête suivante. L’objet response retourne votre attribution de rôle nouvellement activée avec son status défini sur Provisioned ou Granted. Avec votre nouveau privilège, effectuez toutes les actions autorisées dans les cinq heures pour lesquelles votre affectation est active. Après cinq heures, l’affectation active expire, mais grâce à votre appartenance au groupe Support informatique (utilisateurs), vous êtes éligible au rôle Administrateur d’utilisateurs.

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal')?$expand=roleDefinition

Étape 6 : Nettoyer les ressources

Connectez-vous en tant qu’administrateur de rôle privilégié et supprimez les ressources créées pour ce didacticiel.

Révoquer l’éligibilité au rôle pour le groupe

Demande

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests
Content-type: application/json

{
    "action": "AdminRemove",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/"
}

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/v1.0/$metadata#roleManagement/directory/roleEligibilityScheduleRequests/$entity",
    "id": "749ebf39-ffa9-4f43-aaaf-58e0d41f9efc",
    "status": "Revoked",
    "createdDateTime": "2025-03-21T12:03:14.551954Z",
    "action": "adminRemove",
    "principalId": "1189bbdd-1268-4a72-8c6d-6fe77d28f2e3",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "createdBy": {
        "user": {
            "displayName": null,
            "id": "e2330663-f949-41b5-a3dc-faeb793e14c6"
        }
    }
}

Supprimer le groupe Support informatique (utilisateurs)

La requête retourne un code de réponse 204 No Content .

DELETE https://graph.microsoft.com/v1.0/groups/d9771b4c-06c5-491a-92cb-3aa4e225a725

Conclusion

Dans ce tutoriel, vous avez appris à gérer les attributions de rôles privilégiés dans Microsoft Entra ID à l’aide d’API PIM.

  • Au lieu de rendre le groupe éligible pour le rôle privilégié, vous pouvez attribuer un rôle actif au groupe et rendre les membres éligibles pour le groupe à l’aide des API PIM pour les groupes.
  • L’authentification multifacteur était requise pour l’activation du rôle. Vous pouvez modifier cette exigence dans Microsoft Entra paramètres de rôle.
  • Vous pouvez également configurer :
    • Durée maximale autorisée pour l’activation du rôle.
    • Indique si des informations de justification et de ticket sont requises pour activer le rôle.