Freigeben über


Erstellen von roleAssignmentScheduleRequests

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie ein neues unifiedRoleAssignmentScheduleRequest-Objekt . Dieser Vorgang ermöglicht sowohl Administratoren als auch Benutzern das Hinzufügen, Entfernen, Erweitern oder Erneuern von Zuweisungen. Um diese Anforderung auszuführen, muss der aufrufende Benutzer die mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erzwungen haben und die Abfrage in einer Sitzung ausführen, in der er zur MFA aufgefordert wurde. Weitere Informationen finden Sie unter Aktivieren von benutzerspezifischen Microsoft Entra mehrstufiger Authentifizierung zum Schützen von Anmeldeereignissen.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) RoleAssignmentSchedule.ReadWrite.Directory RoleAssignmentSchedule.Remove.Directory, RoleEligibilitySchedule.Remove.Directory, RoleManagement.ReadWrite.Directory
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung RoleAssignmentSchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory, RoleAssignmentSchedule.Remove.Directory, RoleEligibilitySchedule.Remove.Directory

Wichtig

In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Die folgenden Rollen mit den geringsten Berechtigungen werden für diesen Vorgang unterstützt.

  • Für Lesevorgänge: Globaler Leser, Sicherheitsoperator, Sicherheitsleseberechtigter, Sicherheitsadministrator oder Administrator für privilegierte Rollen
  • Für Schreibvorgänge: Administrator für privilegierte Rollen

HTTP-Anforderung

POST /roleManagement/directory/roleAssignmentScheduleRequests

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des unifiedRoleAssignmentScheduleRequest-Objekts an.

In der folgenden Tabelle sind die Eigenschaften aufgeführt, die erforderlich sind, wenn Sie unifiedRoleAssignmentScheduleRequest erstellen.

Eigenschaft Typ Beschreibung
id String Der eindeutige Bezeichner für unifiedRoleAssignmentScheduleRequest. Schlüssel, lässt keine NULL-Werte zu, schreibgeschützt.
Aktion String Stellt den Typ des Vorgangs für die Rollenzuweisung dar. Die folgenden Werte sind möglich:
  • AdminAssign: Administratoren können Benutzern oder Gruppen Rollen zuweisen.
  • AdminRemove: Administratoren können Benutzer oder Gruppen aus Rollen entfernen.
  • AdminUpdate: Administratoren können vorhandene Rollenzuweisungen ändern.
  • AdminExtend: Administratoren können ablaufende Zuweisungen erweitern.
  • AdminRenew: Administratoren können abgelaufene Zuweisungen verlängern.
  • SelfActivate: Benutzer können ihre Zuweisungen aktivieren.
  • SelfDeactivate: Damit Benutzer ihre aktiven Zuweisungen deaktivieren können.
  • SelfExtend: Benutzer können eine Verlängerung ihrer ablaufenden Zuweisungen anfordern.
  • SelfRenew: Damit Benutzer die Verlängerung ihrer abgelaufenen Zuweisungen anfordern können.
principalId String Bezeichner des Prinzipals, dem die Zuweisung gewährt wird.
roleDefinitionId String Bezeichner der unifiedRoleDefinition, für die die Zuweisung gilt. Schreibgeschützt.
directoryScopeId String Bezeichner des Verzeichnisobjekts, das den Bereich der Zuweisung darstellt. Der Bereich einer Zuweisung bestimmt die Gruppe von Ressourcen, für die dem Prinzipal Zugriff gewährt wurde. Verzeichnisbereiche sind freigegebene Bereiche, die im Verzeichnis gespeichert sind und von mehreren Anwendungen verstanden werden. Verwenden Sie / für mandantenweiten Bereich. Verwenden Sie appScopeId , um den Bereich nur auf eine Anwendung zu beschränken.
appScopeId String Bezeichner des app-spezifischen Bereichs, wenn der Zuweisungsbereich app-spezifisch ist. Der Bereich einer Zuweisung bestimmt die Gruppe von Ressourcen, für die dem Prinzipal Zugriff gewährt wurde. App-Bereiche sind Bereiche, die nur von dieser Anwendung definiert und verstanden werden. Wird / für mandantenweite App-Bereiche verwendet. Verwenden Sie directoryScopeId , um den Bereich auf bestimmte Verzeichnisobjekte zu beschränken, z. B. Auf Verwaltungseinheiten.
isValidationOnly Boolesch Gibt an, ob der Aufruf eine Überprüfung oder ein tatsächlicher Aufruf ist. Legen Sie diese Eigenschaft nur fest, wenn Sie überprüfen möchten, ob eine Aktivierung zusätzlichen Regeln wie MFA unterliegt, bevor Sie die Anforderung tatsächlich übermitteln.
targetScheduleId String ID des an die Zuweisung angefügten Zeitplanobjekts.
Rechtfertigung String Eine Meldung, die von Benutzern und Administratoren beim Erstellen der Anforderung bereitgestellt wird, um zu erfahren, warum sie benötigt wird.
scheduleInfo requestSchedule Das Schedule-Objekt der Rollenzuweisungsanforderung.
ticketInfo ticketInfo Das ticketInfo-Objekt, das an die Rollenzuweisungsanforderung angefügt ist und Details zur Ticketnummer und zum Ticketsystem enthält.

Antwort

Bei erfolgreicher Ausführung gibt die Methode den 201 Created Antwortcode und ein unifiedRoleAssignmentScheduleRequest-Objekt im Antworttext zurück.

Wenn der aufrufende Benutzer während seiner Anmeldesitzung nicht zur mehrstufigen Authentifizierung aufgefordert wurde, schlägt eine Anforderung mit der SelfActivate-Aktion fehl und gibt einen 400 Bad request Antwortcode zurück.

Beispiele

Beispiel 1: Admin Zuweisen einer Verzeichnisrolle zu einem Prinzipal

Anforderung

In der folgenden Anforderung erstellt der Administrator eine Anforderung zum Zuweisen einer Durch identifizierten fdd7a751-b60b-444a-984c-02652fe8fa1c Rolle zu einem Prinzipal, der durch id07706ff1-46c7-4847-ae33-3003830675a1 identifiziert wird. Der Bereich ihrer Rolle besteht aus allen Verzeichnisobjekten im Mandanten, und die Zuweisung ist dauerhaft, d. h. sie läuft nicht ab.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "type": "NoExpiration"
    }
  }
}

Antwort

Das folgende Beispiel zeigt die 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/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
  "id": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "status": "Provisioned",
  "createdDateTime": "2021-07-27T09:18:40.2029365Z",
  "completedDateTime": "2021-07-27T09:18:42.7811184Z",
  "approvalId": null,
  "customData": null,
  "action": "AdminAssign",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "appScopeId": null,
  "isValidationOnly": false,
  "targetScheduleId": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "displayName": null,
      "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
    }
  },
  "scheduleInfo": {
    "startDateTime": "2021-07-27T09:18:42.7811184Z",
    "recurrence": null,
    "expiration": {
      "type": "noExpiration",
      "endDateTime": null,
      "duration": null
    }
  },
  "ticketInfo": {
    "ticketNumber": null,
    "ticketSystem": null
  }
}

Beispiel 2: Benutzer, der seine berechtigte Rolle aktiviert

Anforderung

In der folgenden Anforderung aktiviert ein durch principalIdc6ad1942-4afa-47f8-8d48-afb5d8d69d2f identifizierter Benutzer seine eigene berechtigte Rolle, die durch identifiziert wird 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3. Der Bereich ihrer Rolle besteht aus allen Verzeichnisobjekten im Mandanten, und die Zuweisung dauert fünf Stunden. Um diese Anforderung auszuführen, muss der aufrufende Benutzer die mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erzwungen haben und die Abfrage in einer Sitzung ausführen, in der er zur MFA aufgefordert wurde.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "justification": "Need to update app roles for selected apps.",
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}

Antwort

Das folgende Beispiel zeigt die 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/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "163daf73-8746-4996-87de-ab71dc624bf9",
    "status": "Granted",
    "createdDateTime": "2021-08-17T17:39:36.7040696Z",
    "completedDateTime": "2021-08-17T17:40:00Z",
    "approvalId": null,
    "customData": null,
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "163daf73-8746-4996-87de-ab71dc624bf9",
    "justification": "Need to update app roles for selected apps.",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}