Zuweisen von Administratorrollen mithilfe von PIM für Microsoft Entra Rollen-APIs

Privileged Identity Management (PIM) ermöglicht Organisationen die Verwaltung des administrativen Zugriffs auf Ressourcen in Microsoft Entra ID. Der Administratorzugriff kann über Rollen zugewiesene Gruppen oder Microsoft Entra Rollen erfolgen. PIM trägt dazu bei, die Risiken des privilegierten Zugriffs zu verwalten, indem es den aktiven Zugriff beschränkt, den Zugriffsbereich verwaltet und ein überprüfbares Protokoll des privilegierten Zugriffs bereitstellt.

Contoso möchte Prinzipalen mithilfe von Sicherheitsgruppen Administratorrollen zuweisen. Das Unternehmen weist die Berechtigung anstelle dauerhaft aktiver Administratorrollen zu. Diese Methode ist auf folgende Weise effektiv:

  • Wenn Sie vorhandene Mitglieder entfernen oder weitere Gruppenmitglieder hinzufügen, werden auch Administratoren entfernt.
  • Gruppenmitglieder erben die berechtigte Rollenzuweisung. Sie können einer Gruppe weitere Rollen zuweisen, anstatt einzelnen Benutzern Rollen direkt zuzuweisen.
  • Das Zuweisen der Berechtigung anstelle einer dauerhaft aktiven Benutzeradministratorberechtigung ermöglicht es dem Unternehmen, just-in-time-Zugriff zu erzwingen, der temporäre Berechtigungen zum Ausführen der privilegierten Aufgaben gewährt. Wenn ein Gruppenmitglied die Berechtigungen verwenden muss, aktiviert es seine Zuweisung für einen temporären Zeitraum. Alle Datensätze von Rollenaktivierungen können vom Unternehmen überwacht werden.

In diesem Tutorial wird Folgendes vermittelt:

  • Create eine Sicherheitsgruppe mit Rollenzuweisung.
  • Legen Sie fest, dass eine Sicherheitsgruppe, die rollenzuweisbar ist, für eine Administratorrolle berechtigt ist.
  • Gewähren Sie einem Benutzer Just-in-Time-Zugriff, indem Sie seine berechtigte Zuweisung aktivieren.

Voraussetzungen

Für dieses Tutorial benötigen Sie die folgenden Ressourcen und Berechtigungen:

  • Ein Funktionierender Microsoft Entra Mandant mit aktivierter Microsoft Entra ID P2- oder Microsoft Entra ID Governance-Lizenz.
  • Melden Sie sich bei einem API-Client wie Graph Explorer an, um Microsoft Graph mit einem Konto aufzurufen, das mindestens über die Rolle Administrator für privilegierte Rollen verfügt.
    • [Optional] Starten Sie eine neue anonyme Sitzung in einem anderen Browser. Sie melden sich später in diesem Tutorial an. Ein Testbenutzer, der für MFA aktiviert ist und Sie Zugriff auf sein Microsoft Authenticator-App-Konto haben.
  • Gewähren Sie sich die folgenden delegierten Berechtigungen: Group.ReadWrite.All, Directory.Read.All, RoleEligibilitySchedule.ReadWrite.Directory, und RoleAssignmentSchedule.ReadWrite.Directoryund RoleManagement.ReadWrite.Directory.

Schritt 1: Create einer Sicherheitsgruppe mit Rollenzuweisung

Weisen Sie sich selbst als Gruppenbesitzer und sowohl Sie als auch den Testbenutzer als Mitglieder zu.

Anforderung: Create einer Gruppe mit Rollenzuweisung

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"
    ]
}

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Schritt 2: Create einer unifiedRoleEligibilityScheduleRequest

Nachdem Sie nun über eine Sicherheitsgruppe mit Rollenzuweisung verfügen, weisen Sie sie für ein Jahr als berechtigt für die Rolle "Benutzeradministrator" zu. Legen Sie die berechtigte Zuweisung auf Ihren gesamten Mandanten fest. Diese Bereichsdefinition auf Mandantenebene ermöglicht es dem Benutzeradministrator, seine Berechtigungen für alle Benutzer in Ihrem Mandanten mit Ausnahme von Benutzern mit höheren Berechtigungen wie dem globalen Administrator zu verwenden.

Anforderung

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"
        }
    }
}

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": {}
}

Schritt 3: Bestätigen der aktuellen Rollenzuweisungen des Benutzers

Obwohl die Gruppenmitglieder jetzt für die Rolle Benutzeradministrator berechtigt sind, können sie die Rolle weiterhin nicht verwenden, es sei denn, sie aktivieren die Rolle explizit. Sie können dies bestätigen, indem Sie die aktuellen Rollenzuweisungen des Benutzers überprüfen.

Anforderung

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

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignments",
    "value": []
}

Das leere Antwortobjekt zeigt, dass der Benutzer nicht über Microsoft Entra Rollen in Contoso verfügt. Der Benutzer aktiviert nun seine berechtigte Rolle "Benutzeradministrator" für einen begrenzten Zeitraum.

Schritt 4: Der Benutzer aktiviert seine berechtigte Zuweisung selbst.

Ein Incidentticket CONTOSO: Security-012345 wurde im Incident-Management-System von Contoso ausgelöst, und das Unternehmen verlangt, dass alle Aktualisierungstoken des Mitarbeiters ungültig gemacht werden. Als Mitglied des IT-Helpdesks ist Aline für die Erfüllung dieser Aufgabe verantwortlich.

Starten Sie zuerst die Authenticator-App auf Ihrem Smartphone, und öffnen Sie das Konto von Aline Dupuy.

Melden Sie sich bei Graph Explorer als Aline an. Sie können für diesen Schritt einen anderen Browser verwenden. Auf diese Weise unterbrechen Sie Ihre aktuelle Sitzung nicht. Alternativ können Sie Ihre aktuelle Sitzung unterbrechen, indem Sie sich von Graph Explorer abmelden und sich wieder als Aline anmelden.

Aktivieren Sie nach der Anmeldung die Rolle "Benutzeradministrator" für fünf Stunden.

Anforderung

Um eine Rolle zu aktivieren, rufen Sie den Endpunkt auf roleAssignmentScheduleRequests . In dieser Anforderung ermöglicht ihnen die UserActivate Aktion, Ihre berechtigte Zuweisung zu aktivieren.

  • Geben Sie für principalId den Wert Ihrer (Aline- )ID an.
  • Die roleDefinitionId ist die ID der Rolle, für die Sie berechtigt sind, in diesem Fall die Rolle "Benutzeradministrator".
  • Geben Sie die Details des Ticketsystems ein, das eine überprüfbare Begründung für die Aktivierung der Anforderung bereitstellt.
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"
    }
}

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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"
    }
}

Sie können Ihre Zuweisung bestätigen, indem Sie ausführen GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/filterByCurrentUser(on='principal'). Das Antwortobjekt gibt Ihre neu aktivierte Rollenzuweisung zurück, wobei die status auf Grantedfestgelegt ist. Führen Sie mit Ihrer neuen Berechtigung alle zulässigen Aktionen innerhalb von fünf Stunden aus, für die Ihre Zuweisung aktiv ist. Nach fünf Stunden läuft die aktive Zuweisung ab, aber durch Ihre Mitgliedschaft in der Gruppe IT-Support (Benutzer) sind Sie für die Rolle Benutzeradministrator berechtigt.

Schritt 6: Bereinigen von Ressourcen

Melden Sie sich als Administrator für privilegierte Rollen an, und löschen Sie die folgenden Ressourcen, die Sie für dieses Tutorial erstellt haben: die Rollenberechtigungsanforderung und die Gruppe IT-Support (Benutzer).

Widerrufen der Rollenberechtigungsanforderung

Anforderung

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": "/"
}

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": "/"
}

Löschen der Gruppe "IT-Support (Benutzer)"

Die Anforderung gibt einen 204 No Content Antwortcode zurück.

DELETE https://graph.microsoft.com/v1.0/groups/e77cbb23-0ff2-4e18-819c-690f58269752

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie administrative Rollenzuweisungen in Microsoft Entra ID mithilfe von PIM-APIs verwalten.

  • Während Sie die Gruppe für die Administratorrolle qualifiziert haben, können Sie der Gruppe alternativ eine aktive Rolle zuweisen und die Mitglieder zur Gruppe berechtigt machen. Verwenden Sie in diesem Szenario die PIM-APIs für Gruppen.
  • Der Testbenutzer benötigte MFA, um seine Rolle zu aktivieren. Diese Anforderung ist Teil der Einstellungen für die rolle "Microsoft Entra", und Sie können die Regeln so ändern, dass keine MFA erforderlich ist.
  • Im Rahmen der konfigurierbaren Regeln können Sie auch die folgenden Einstellungen konfigurieren:
    • Begrenzen Sie die maximal zulässige Dauer für die Rollenaktivierung.
    • Erfordern oder nicht erfordern Begründung und Ticketinformationen für die Aktivierung der Rolle.