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