Freigeben über


Erstellen von oAuth2PermissionGrant (delegierte Berechtigungserteilung)

Namespace: microsoft.graph

Erstellen Sie eine delegierte Berechtigungszuweisung, die durch ein oAuth2PermissionGrant-Objekt dargestellt wird.

Eine delegierte Berechtigungserteilung autorisiert einen Clientdienstprinzipal (der eine Clientanwendung darstellt) für den Zugriff auf einen Ressourcendienstprinzipal (die eine API darstellt) im Namen eines angemeldeten Benutzers für die Zugriffsebene, die durch die gewährten delegierten Berechtigungen beschränkt ist.

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) DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All

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. Für diesen Vorgang werden die folgenden Rollen mit den geringsten Berechtigungen unterstützt:

  • Anwendungsentwickler
  • Cloudanwendungsadministrator
  • Verzeichnisautoren
  • Benutzeradministrator
  • Administrator für privilegierte Rollen

HTTP-Anforderung

POST /oauth2PermissionGrants

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung eines oAuth2PermissionGrant-Objekts an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen Antwortcode der 200er-Serie und ein neues oAuth2PermissionGrant-Objekt im Antworttext zurück. In der folgenden Tabelle sind die Eigenschaften aufgeführt, die beim Erstellen von oAuth2PermissionGrant erforderlich sind.

Eigenschaft Typ Beschreibung
clientId Zeichenfolge Die Objekt-ID (nichtappId) des Clientdienstprinzipals für die Anwendung, die autorisiert ist, beim Zugriff auf eine API im Namen eines angemeldeten Benutzers zu handeln. Erforderlich.
consentType Zeichenfolge Gibt an, ob der Clientanwendung die Autorisierung erteilt wird, um die Identität aller Benutzer oder nur eines bestimmten Benutzers anzugeben. AllPrincipals gibt die Autorisierung zum Annehmen der Identität aller Benutzer an. Prinzipal gibt die Autorisierung zum Annehmen der Identität eines bestimmten Benutzers an. Die Zustimmung im Namen aller Benutzer kann von einem Administrator erteilt werden. Benutzer ohne Administratorrechte können in einigen Fällen für delegierte Berechtigungen zur Zustimmung im namen ihrer Person autorisiert werden. Erforderlich.
principalId Zeichenfolge Die ID des Benutzers , für den der Client für den Zugriff auf die Ressource autorisiert ist, wenn consentTypeden Wert Principal aufweist. Wenn consentTypeauf AllPrincipals festgelegt ist, ist dieser Wert NULL. Erforderlich, wenn consentTypeden Wert Principal hat.
resourceId String Die ID des Ressourcendienstprinzipals , für den der Zugriff autorisiert ist. Dadurch wird die API identifiziert, die der Client für den Versuch autorisiert ist, im Namen eines angemeldeten Benutzers aufzurufen.
Bereich Zeichenfolge Eine durch Leerzeichen getrennte Liste der Anspruchswerte für delegierte Berechtigungen, die in Zugriffstoken für die Ressourcenanwendung (die API) enthalten sein sollten. Beispiel: openid User.Read GroupMember.Read.All. Jeder Anspruchswert sollte mit dem Wertfeld einer der von der API definierten delegierten Berechtigungen übereinstimmen, die in der oauth2PermissionScopes-Eigenschaft des Ressourcendienstprinzipals aufgeführt sind. Darf 3850 Zeichen nicht überschreiten.

Beispiel

Anforderung

POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
Content-Type: application/json

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#oauth2PermissionGrants/$entity",
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "id": "l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk",
    "principalId": null,
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}