Einem Dienstprinzipal eine appRoleAssignment zuweisen

Namespace: microsoft.graph

Weisen Sie einem Ressourcendienstprinzipal, einem Benutzer, Gruppen- oder Client-Dienstprinzipal eine App-Rolle zu.

Dienstprinzipalen zugewiesene App-Rollen werden auch als Anwendungsberechtigungen bezeichnet. Anwendungsberechtigungen können direkt durch App-Rollenzuweisungen oder über eine Zustimmungsfunktionalität erteilt werden.

Für die Erteilung einer App-Rollenzuweisung benötigen Sie drei Bezeichner:

  • principalId: Die id des Benutzer-, Gruppen- oder Client-Dienstprinzipals, dem Sie die App-Rolle zuweisen möchten.
  • resourceId: Die id des Ressourcendienstprinzipals, über den die App-Rolle definiert wurde.
  • appRoleId: Die id der (im Ressourcendienstprinzipal definierte) App-Rolle, die einem Benutzer-, Gruppen- oder Dienstprinzipal zugeordnet werden soll.

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

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) AppRoleAssignment.ReadWrite.All und Application.Read.All, AppRoleAssignment.ReadWrite.All und Directory.Read.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung AppRoleAssignment.ReadWrite.All und Application.Read.All, AppRoleAssignment.ReadWrite.All und Directory.Read.All

Für delegierte Szenarien benötigt der aufrufende Benutzer mindestens eine der folgenden Microsoft Entra Rollen.

  • Verzeichnissynchronisierungskonten
  • Verzeichnisschreibberechtigter
  • Hybrididentitätsadministrator
  • Identity Governance-Administrator
  • Administrator für privilegierte Rollen
  • Benutzeradministrator
  • Anwendungsadministrator
  • Cloudanwendungsadministrator

HTTP-Anforderung

Sie können den Dienstprinzipal entweder mit seiner ID oder appId adressieren. id und appId werden in App-Registrierungen im Microsoft Entra Admin Center als Objekt-ID bzw. Anwendungs-ID (Client-ID) bezeichnet.

POST /servicePrincipals/{id}/appRoleAssignedTo
POST /servicePrincipals(appId='{appId}')/appRoleAssignedTo

Anforderungsheader

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

Anforderungstext

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

Antwort

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

Beispiele

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/v1.0/servicePrincipals/9028d19c-26a9-4809-8e3f-20ff73e2d75e/appRoleAssignedTo
Content-Type: application/json

{
  "principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
  "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7"
}

In diesem Beispiel wären {id} und {resourceId-value} die id des Ressourcendienstprinzipals, und {principalId} wäre die id des zugeordneten Benutzer-, Gruppen- oder Client-Dienstprinzipals.

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/v1.0/$metadata#servicePrincipals('9028d19c-26a9-4809-8e3f-20ff73e2d75e')/appRoleAssignedTo/$entity",
  "id": "-WmtM5na7Uus0D8kI1yylpU9Mdo0Pb9OoBJvd3T5eKc",
  "deletedDateTime": null,
  "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7",
  "createdDateTime": "2021-02-15T16:14:59.8643039Z",
  "principalDisplayName": "Parents of Contoso",
  "principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
  "principalType": "Group",
  "resourceDisplayName": "Fabrikam App",
  "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e"
}