Attribuer des rôles d’administration à l’aide de PIM pour les API de rôles Microsoft Entra

Privileged Identity Management (PIM) permet aux organisations de gérer l’accès administratif aux ressources dans Microsoft Entra ID. L’accès administratif peut être via des groupes assignables à un rôle ou des rôles Microsoft Entra. PIM permet de gérer les risques liés à l’accès privilégié en limitant le moment où l’accès est actif, en gérant l’étendue de l’accès et en fournissant un journal d’accès privilégié pouvant être audité.

Contoso souhaite attribuer des rôles d’administration à des principaux à l’aide de groupes de sécurité. L’entreprise attribue l’éligibilité au lieu de rôles d’administration actifs en permanence. Cette méthode est efficace des manières suivantes :

  • Supprimer des membres existants ou ajouter d’autres membres du groupe supprime également les administrateurs.
  • Les membres du groupe héritent de l’attribution de rôle éligible. Vous pouvez attribuer davantage de rôles à un groupe au lieu d’attribuer des rôles directement à des utilisateurs individuels.
  • L’attribution de l’éligibilité au lieu d’un privilège Administrateur utilisateur actif en permanence permet à l’entreprise d’appliquer l’accès juste-à-temps, qui accorde des autorisations temporaires pour effectuer les tâches privilégiées. Lorsqu’un membre du groupe doit utiliser les privilèges, il active son affectation pendant une période temporaire. Tous les enregistrements des activations de rôle peuvent être audité par l’entreprise.

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 à un rôle d’administration.
  • Accordez un accès juste-à-temps à un utilisateur en activant son affectation éligible.

Configuration requise

Pour suivre ce didacticiel, vous avez besoin des ressources et privilèges suivants :

  • Un locataire Microsoft Entra opérationnel avec une licence Microsoft Entra ID P2 ou Gouvernance Microsoft Entra ID activée.
  • Connectez-vous à un client API tel que Graph Explorer d’appeler Microsoft Graph avec un compte qui a au moins le rôle Administrateur de rôle privilégié.
    • [Facultatif] Démarrez une nouvelle session anonyme dans un autre navigateur. Vous vous connectez plus loin dans ce tutoriel. Un utilisateur de test activé pour l’authentification multifacteur et vous avez accès à son compte d’application Microsoft Authenticator.
  • Accordez-vous les autorisations déléguées suivantes : Group.ReadWrite.All, Directory.Read.AllRoleEligibilitySchedule.ReadWrite.Directory, et RoleAssignmentSchedule.ReadWrite.Directory.RoleManagement.ReadWrite.Directory

É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 vous 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/1ed8ac56-4827-4733-8f80-86adc2e67db5"
    ],
    "members@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
        "https://graph.microsoft.com/v1.0/users/7146daa8-1b4b-4a66-b2f7-cf593d03c8d2"
    ]
}

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",
    "@odata.id": "https://graph.microsoft.com/v2/29a4f813-9274-4e1b-858d-0afa98ae66d4/directoryObjects/e77cbb23-0ff2-4e18-819c-690f58269752/Microsoft.DirectoryServices.Group",
    "id": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "description": "IT Helpdesk to support Contoso employees",
    "displayName": "IT Helpdesk (User)",
    "groupTypes": [],
    "isAssignableToRole": true,
    "mailEnabled": false,
    "mailNickname": "userHelpdesk",
    "securityEnabled": true,
    "securityIdentifier": "S-1-12-1-3883711267-1310199794-258579585-1385637464",
    "visibility": "Private",
    "onPremisesProvisioningErrors": []
}

Étape 2 : Créer une demande unifiedRoleEligibilityScheduleRequest

Maintenant que vous disposez d’un groupe de sécurité assignable à un rôle, affectez-le comme éligible pour le rôle Administrateur d’utilisateurs pendant un an. Étendue de l’attribution éligible à l’ensemble de votre locataire. Cette étendue au niveau du locataire permet à l’administrateur utilisateur d’utiliser ses privilèges sur tous les utilisateurs de votre locataire, à l’exception des utilisateurs disposant de privilèges plus élevés tels que l’administrateur général.

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": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "scheduleInfo": {
        "startDateTime": "2021-07-01T00:00:00Z",
        "expiration": {
            "endDateTime": "2022-06-30T00: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": "64a8bd54-4591-4f6a-9c77-3e9cb1fdd29b",
    "status": "Provisioned",
    "createdDateTime": "2021-09-03T20:45:28.3848182Z",
    "completedDateTime": "2021-09-03T20:45:39.1194292Z",
    "action": "AdminAssign",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "64a8bd54-4591-4f6a-9c77-3e9cb1fdd29b",
    "justification": "Assign User Admin eligibility to IT Helpdesk (User) group",
    "createdBy": {
        "user": {
            "id": "1ed8ac56-4827-4733-8f80-86adc2e67db5"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-09-03T20:45:39.1194292Z",
        "expiration": {
            "type": "afterDateTime",
            "endDateTime": "2022-06-30T00:00:00Z"
        }
    },
    "ticketInfo": {}
}

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

Bien que les membres du groupe soient désormais éligibles pour le rôle Administrateur d’utilisateurs, ils ne peuvent toujours pas utiliser le rôle, sauf s’ils activent explicitement le rôle. Vous pouvez confirmer en vérifiant les attributions de rôles actuelles de l’utilisateur.

Demande

GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=principalId eq '7146daa8-1b4b-4a66-b2f7-cf593d03c8d2'

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/roleAssignments",
    "value": []
}

L’objet de réponse vide indique que l’utilisateur n’a pas de rôle Microsoft Entra existant dans Contoso. L’utilisateur va maintenant activer son rôle Administrateur d’utilisateurs éligible pendant une durée limitée.

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

Un ticket d’incident CONTOSO : Security-012345 a été déclenché dans le système de gestion des incidents de Contoso et l’entreprise exige que tous les jetons d’actualisation des employés soient invalidés. En tant que membre du support technique informatique, Aline est responsable de l’exécution de cette tâche.

Tout d’abord, 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. Vous pouvez utiliser un autre navigateur pour cette étape. Ce faisant, vous n’interromprez pas votre session active. Vous pouvez également interrompre votre session active en vous déconnectez de Graph Explorer et en vous reconnectant en tant que Aline.

Après vous être connecté, activez 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": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "scheduleInfo": {
        "startDateTime": "2024-03-25T15:13: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": "295edd40-4646-40ca-89b8-ab0b46b6f60e",
    "status": "Granted",
    "createdDateTime": "2021-09-03T21:10:49.6670479Z",
    "completedDateTime": "2021-09-04T15:13:00Z",
    "action": "SelfActivate",
    "principalId": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/",
    "isValidationOnly": false,
    "targetScheduleId": "295edd40-4646-40ca-89b8-ab0b46b6f60e",
    "justification": "Need to invalidate all app refresh tokens for Contoso users.",
    "createdBy": {
        "user": {
            "id": "7146daa8-1b4b-4a66-b2f7-cf593d03c8d2"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-09-04T15:13:00Z",
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Security-012345",
        "ticketSystem": "Contoso ICM"
    }
}

Vous pouvez confirmer votre affectation en exécutant GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal'). L’objet response retourne votre attribution de rôle nouvellement activée avec son status défini sur 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.

Étape 6 : Nettoyer les ressources

Connectez-vous en tant qu’administrateur général et supprimez les ressources suivantes que vous avez créées pour ce didacticiel : la demande d’éligibilité au rôle et le groupe Support informatique (utilisateurs).

Révoquer la demande d’éligibilité au rôle

Demande

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

{
    "action": "AdminRemove",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "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": "dcd11a1c-300f-4d17-8c7a-523830400ec8",
    "status": "Revoked",
    "action": "AdminRemove",
    "principalId": "e77cbb23-0ff2-4e18-819c-690f58269752",
    "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
    "directoryScopeId": "/"
}

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/e77cbb23-0ff2-4e18-819c-690f58269752

Conclusion

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

  • Lorsque vous avez rendu le groupe éligible pour le rôle d’administrateur, vous pouvez également attribuer un rôle actif au groupe et rendre les membres éligibles au groupe. Dans ce scénario, utilisez les API PIM pour les groupes.
  • L’utilisateur de test a requis l’authentification multifacteur pour activer son rôle. Cette exigence fait partie des paramètres du rôle Microsoft Entra et vous pouvez modifier les règles pour ne pas exiger l’authentification multifacteur.
  • Dans le cadre des règles configurables, vous pouvez également configurer les paramètres suivants :
    • Limitez la durée maximale autorisée pour l’activation du rôle.
    • Exiger ou ne pas exiger une justification et des informations de ticket pour activer le rôle.