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 es Administratoren und Benutzern, Zuweisungen hinzuzufügen, zu entfernen, zu erweitern oder zu erneuern. Um diese Anforderung ausführen zu können, muss der aufrufende Benutzer die mehrstufige Authentifizierung (MFA) erzwungen haben und die Abfrage in einer Sitzung ausführen, in der er zur MFA aufgefordert wurde. Weitere Informationen finden Sie unter Aktivieren der mehrstufigen Microsoft Entra-Authentifizierung pro Benutzer zum Sichern 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
Application RoleAssignmentSchedule.ReadWrite.Directory RoleManagement.ReadWrite.Directory, RoleAssignmentSchedule.Remove.Directory, RoleEligibilitySchedule.Remove.Directory

Wichtig

Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen gewährt. Dieser Vorgang unterstützt die folgenden integrierten Rollen, die nur die geringstmöglichen Berechtigungen gewähren:

  • Für Lesevorgänge: Globaler Leser, Sicherheitsoperator, Sicherheitsleseberechtigter, Sicherheitsadministrator oder Administrator mit privilegierten Rollen
  • Für Schreibvorgänge: Administrator mit privilegierter Rolle

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 den unifiedRoleAssignmentScheduleRequest erstellen.

Eigenschaft Typ Beschreibung
id Zeichenfolge Der eindeutige Bezeichner für unifiedRoleAssignmentScheduleRequest. Schlüssel, nicht NULL-fähig, schreibgeschützt.
Aktion Zeichenfolge Stellt den Typ des Vorgangs in der Rollenzuweisung dar. Die folgenden Werte sind möglich:
  • AdminAssign: Für Administratoren, um Benutzern oder Gruppen Rollen zuzuweisen.
  • AdminRemove: Für Administratoren zum Entfernen von Benutzern oder Gruppen aus Rollen.
  • AdminUpdate: Für Administratoren zum Ändern vorhandener Rollenzuweisungen.
  • AdminExtend: Für Administratoren, um ablaufende Zuweisungen zu verlängern.
  • AdminRenew: Für Administratoren, um abgelaufene Zuweisungen zu erneuern.
  • SelfActivate: Damit Benutzer ihre Aufgaben aktivieren können.
  • SelfDeactivate: Damit Benutzer ihre aktiven Zuweisungen deaktivieren können.
  • SelfExtend: Für Benutzer, um eine Verlängerung ihrer ablaufenden Zuweisungen anzufordern.
  • SelfRenew: Damit Benutzer die Verlängerung ihrer abgelaufenen Zuweisungen anfordern können.
principalId Zeichenfolge Bezeichner des Prinzipals, dem die Zuweisung erteilt wird.
roleDefinitionId Zeichenfolge Bezeichner der unifiedRoleDefinition, für die die Zuweisung vorgesehen ist. Schreibgeschützt.
directoryScopeId Zeichenfolge Bezeichner des Verzeichnisobjekts, der den Umfang der Zuweisung darstellt. Der Umfang einer Zuweisung bestimmt die Gruppe von Ressourcen, auf die dem Prinzipal Zugriff gewährt wurde. Verzeichnisbereiche sind freigegebene Bereiche, die im Verzeichnis gespeichert sind und von mehreren Anwendungen verstanden werden. Verwendung / für den gesamten mandantenweiten Bereich. Verwenden Sie appScopeId , um den Bereich auf eine Anwendung zu beschränken.
appScopeId Zeichenfolge Bezeichner des App-spezifischen Bereichs, wenn der Zuweisungsbereich app-spezifisch ist. Der Umfang einer Zuweisung bestimmt die Gruppe von Ressourcen, auf 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. Verwaltungseinheiten.
isValidationOnly Boolean Gibt an, ob es sich bei dem Aufruf um eine Überprüfung oder einen tatsächlichen Aufruf handelt. Legen Sie diese Eigenschaft nur fest, wenn Sie vor dem eigentlichen Übermitteln der Anforderung prüfen möchten, ob eine Aktivierung zusätzlichen Regeln wie MFA unterliegt.
targetScheduleId Zeichenfolge ID des Zeitplanobjekts, das der Aufgabe zugeordnet ist.
Begründung Zeichenfolge Eine Meldung, die von Benutzern und Administratoren beim Erstellen der Anforderung bereitgestellt wird, über die Gründe für die Erforderlichkeit.
scheduleInfo requestSchedule Das Zeitplanobjekt der Rollenzuweisungsanforderung.
ticketInfo ticketInfo Das ticketInfo-Objekt, das an die Rollenzuweisungsanforderung angehängt ist und Details zur Ticketnummer und zum Ticketsystem enthält.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 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, der einem Prinzipal eine Verzeichnisrolle zuweist

Anforderung

In der folgenden Anforderung erstellt der Administrator eine Anforderung zum Zuweisen einer Rolle, die durch einen durch die ID07706ff1-46c7-4847-ae33-3003830675a1 identifizierten Prinzipal identifiziert wirdfdd7a751-b60b-444a-984c-02652fe8fa1c. Der Geltungsbereich ihrer Rolle umfasst alle Verzeichnisobjekte 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 Geltungsbereich ihrer Rolle umfasst alle Verzeichnisobjekte im Mandanten, und die Zuweisung erfolgt für fünf Stunden. Um diese Anforderung ausführen zu können, muss der aufrufende Benutzer die mehrstufige Authentifizierung (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"
    }
}