Konfigurieren von Azure AD Graph-Berechtigungen für eine App-Registrierung

Azure Active Directory Graph (Azure AD) ist veraltet und befindet sich in seinem Deaktivierungspfad. Es wird empfohlen, dass Sie die Prüfliste zur Planung der App-Migration befolgen, damit Sie Ihre Apps zu Microsoft Graph migrieren können.

Ihre App benötigt möglicherweise weiterhin vorübergehend Azure AD Graph-Berechtigungen für den Zugriff auf Ressourcen. Sie können eine der vier in diesem Artikel beschriebenen Methoden verwenden, um Azure AD Graph-Berechtigungen für Ihre App-Registrierung zu konfigurieren:

  1. Verwenden sie die Microsoft Entra Admin Center, um die APIs zu finden, die Ihr organization verwendet.
  2. Aktualisieren des Anwendungsmanifests auf dem Microsoft Entra Admin Center
  3. Verwenden der Microsoft Graph-Anwendungs-API

Achtung

Jede App, die Azure AD Graph verwendet, funktioniert auch nach dem Außerbetriebnahme der API nicht mehr. Weitere Informationen finden Sie unter Migrieren von Azure AD Graph-Apps zu Microsoft Graph.

Voraussetzungen

Die Schritte in diesem Artikel erfordern zwei Berechtigungssätze:

  • Berechtigungen zum Hinzufügen von Berechtigungen zu einer App-Registrierung
  • Berechtigungen zum Erteilen dieser Berechtigungen für die App-Registrierung.

Ein Benutzer mit der Rolle "Globaler Administrator " kann beides tun, während ein Benutzer mit der Rolle "Anwendungsadministrator " oder " Cloudanwendungsadministrator " nur die Berechtigungen hinzufügen kann. Um Die Trennung von Aufgaben und den Zugriff mit den geringsten Rechten zu erzwingen, trennen Sie die Aufgaben des Hinzufügens von Berechtigungen und des Erteilens von Berechtigungen für verschiedene Benutzer. Weitere Informationen zu den aktionen, die von diesen Rollen unterstützt werden, finden Sie unter Microsoft Entra integrierten Rollen.

Darüber hinaus benötigen Sie die folgenden Ressourcen und Berechtigungen:

  • Melden Sie sich bei einem API-Client wie Graph Explorer an, um die HTTP-Anforderungen auszuführen.
  • Der App, die zum Vornehmen dieser Änderungen verwendet wird, muss die Application.ReadWrite.All Berechtigung erteilt werden.

Verwenden der Microsoft Graph-Anwendungs-API

Das Microsoft Graph-Anwendungsobjekt enthält eine requiredResourceAccess-Eigenschaft , bei der es sich um eine Sammlung von Objekten mit Informationen zur Ressourcen-API und berechtigungen handelt. Verwenden Sie diese Eigenschaft, um Azure AD Graph-Berechtigungen wie in den folgenden Schritten beschrieben zu konfigurieren.

Schritt 1: Identifizieren der Berechtigungs-IDs für die Azure AD Graph-Berechtigungen, die Ihre App benötigt

Identifizieren Sie die Azure AD Graph-Berechtigungen, die Ihre App benötigt, ihre Berechtigungs-IDs und ob es sich um App-Rollen (Anwendungsberechtigungen) oder oauth2PermissionScopes (delegierte Berechtigungen) handelt. Weitere Informationen finden Sie unter Referenz zu Azure AD Graph-Berechtigungen.

Azure AD Graph wird als servicePrincipal-Objekt mit 00000002-0000-0000-c000-000000000000 seiner global eindeutigen appId und Windows Azure Active Directory als displayName und appDisplayName identifiziert. Führen Sie die folgende Anforderung aus, um das Dienstprinzipalobjekt für Azure AD Graph in Ihrem Mandanten abzurufen.

Anforderung

GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq '00000002-0000-0000-c000-000000000000'

Antwort

Im Antwortobjekt werden Details zu Azure AD Graph-Anwendungsberechtigungen im appRoles-Objekt aufgeführt, während Details für delegierte Berechtigungen im oauth2PermissionScopes-Objekt aufgeführt sind.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals",
    "value": [
        {
            "id": "1804a6f8-e623-4520-8f40-ba1b0c11c42d",
            "accountEnabled": true,
            "appDisplayName": "Windows Azure Active Directory",
            "appDescription": null,
            "appId": "00000002-0000-0000-c000-000000000000",
            "appOwnerOrganizationId": "f8cdef31-a31e-4b4a-93e4-5f571e91255a",
            "appRoleAssignmentRequired": false,
            "displayName": "Windows Azure Active Directory",
            "servicePrincipalNames": [
                "https://graph.windows.net",
                "00000002-0000-0000-c000-000000000000/graph.microsoftazure.us",
                "00000002-0000-0000-c000-000000000000/graph.windows.net",
                "00000002-0000-0000-c000-000000000000/directory.windows.net",
                "00000002-0000-0000-c000-000000000000",
                "https://graph.windows.net/",
                "https://graph.microsoftazure.us"
            ],
            "servicePrincipalType": "Application",
            "signInAudience": "AzureADMultipleOrgs",
            "appRoles": [
                {
                    "allowedMemberTypes": [
                        "Application"
                    ],
                    "description": "Allows the app to read applications and service principals without a signed-in user",
                    "displayName": "Read all applications",
                    "id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
                    "isEnabled": true,
                    "origin": "Application",
                    "value": "Application.Read.All"
                }
            ],
            "oauth2PermissionScopes": [
                {
                    "adminConsentDescription": "Allows users to sign in to the app, and allows the app to read the profile of signed-in users. It also allow the app to read basic company information of signed-in users.",
                    "adminConsentDisplayName": "Sign in and read user profile",
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "isEnabled": true,
                    "type": "User",
                    "userConsentDescription": "Allows you to sign in to the app with your work account and let the app read your profile. It also allows the app to read basic company information.",
                    "userConsentDisplayName": "Sign you in and read your profile",
                    "value": "User.Read"
                }
            ]
        }
    ]
}

Aus der vorherigen abgeschnittenen Ausgabe 311a71cc-e848-46a1-bdf8-97ff7156d8e6 ist die Berechtigungs-ID für die delegierte Berechtigung User.Read , während 3afa6a7d-9b1a-42eb-948e-1650a849e176 die Berechtigungs-ID für die Anwendungsberechtigung Application.Read.All in Azure AD Graph ist.

Schritt 2: Hinzufügen von Azure AD Graph-Berechtigungen zu Ihrer App

Im folgenden Beispiel wird die Anwendungsaktualisierungs-API aufgerufen, um die delegierten Azure AD Graph-Berechtigungen User.Read und Application.Read.All zu einer App-Registrierung hinzuzufügen, die durch die Objekt-ID 581088ba-83c5-4975-b8af-11d2d7a76e98identifiziert wird.

Wichtig

Um die requiredResourceAccess-Eigenschaft zu aktualisieren, müssen Sie sowohl vorhandene als auch neue Berechtigungen übergeben. Durch die Übergabe nur neuer Berechtigungen werden die vorhandenen Berechtigungen überschrieben und entfernt.

Anforderung

PATCH https://graph.microsoft.com/v1.0/applications/581088ba-83c5-4975-b8af-11d2d7a76e98
Content-Type: application/json

{
    "requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "type": "Scope"
                },
                {
                    "id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
                    "type": "Role"
                }
            ]
        }
    ]
}

Antwort

HTTP/1.1 204 No Content

Schritt 3: Überprüfen, ob Ihrer App die Azure AD Graph-Berechtigungen hinzugefügt wurden

Vergewissern Sie sich, dass Ihre App-Registrierung über die Azure AD-Graph-API-Berechtigungen verfügt, die Sie in Schritt 2 hinzugefügt haben:

  1. Aufrufen des Microsoft Graph GET /application/{id}-Endpunkts und Lesen der requiredResourceAccess-Eigenschaft wie folgt:

    GET https://graph.microsoft.com/v1.0/applications/581088ba-83c5-4975-b8af-11d2d7a76e98?$select=id,requiredResourceAccess
    
  2. Überprüfen der seite App-Registrierungen im Microsoft Entra Admin Center.

Obwohl Sie Azure AD Graph-Berechtigungen hinzugefügt haben, haben Sie der App diese Berechtigungen nicht gewährt. Viele Berechtigungen erfordern die Zustimmung des Administrators, bevor sie für den Zugriff auf Organisationsdaten verwendet werden können. Melden Sie sich beim Microsoft Entra Admin Center als globaler Administrator an, und erteilen Sie die Administratoreinwilligung für die Berechtigungen für die App-Registrierung.

Wenn Sie Microsoft Graph und alle zugehörigen SDKs verwenden, können Sie einer App-Registrierung Berechtigungen erteilen, ohne die Microsoft Entra Admin Center verwenden zu müssen und auf der Seite API-Berechtigungen die Schaltfläche Administratoreinwilligung für [Unternehmen] erteilen auszuwählen. Weitere Informationen finden Sie unter Programmgesteuertes Gewähren oder Widerrufen von API-Berechtigungen.

Verwenden sie die Microsoft Entra Admin Center, um die APIs zu finden, die Ihr organization verwendet.

  1. Melden Sie sich beim Microsoft Entra Admin Centeran.

  2. Erweitern Sie Identitätsanwendungen>> und wählen Sie App-Registrierungen aus.

  3. Wählen Sie im fenster App-Registrierungen auf der Registerkarte Alle Anwendungen die App aus, der Sie Azure AD Graph-Berechtigungen hinzufügen möchten.

  4. Wählen Sie im linken Bereich des Fensters unter der Menügruppe Verwalten die Option API-Berechtigungen aus. Wählen Sie im Fenster Konfigurierte Berechtigungen die Option Berechtigung hinzufügen aus.

  5. Wechseln Sie im Fenster API-Berechtigungen anfordern zur Registerkarte APIs, die mein organization verwendet, und suchen Sie nach Windows Azure Active Directory oder 00000002-0000-0000-c000-000000000000. Wählen Sie aus dem gefilterten Resultset aus, um das Fenster azure Active Directory Graph-Berechtigungen anzuzeigen.

    Azure AD Graph-API heißt Windows Azure Active Directory und hat clientID 00000002-0000-0000-c000-000000000000000000000000000.

  6. Wählen Sie die Registerkarte Delegierte Berechtigungen oder Anwendungsberechtigungen aus, um aus der Liste der delegierten Bzw. Anwendungsberechtigungen auszuwählen. Wählen Sie Berechtigungen hinzufügen aus, um die Berechtigung zu Ihrer App-Registrierung hinzuzufügen.

  7. Nachdem Sie die benötigten Berechtigungen hinzugefügt haben, wählen Sie im Fenster Konfigurierte Berechtigungen die Option Administratoreinwilligung erteilen aus, um Ihrer App-Registrierung Azure AD Graph-Berechtigungen zu gewähren.

Aktualisieren des Anwendungsmanifests auf dem Microsoft Entra Admin Center

  1. Melden Sie sich beim Microsoft Entra Admin Centeran.

  2. Erweitern Sie das Menü >IdentitätAnwendungen> wählen Sie App-Registrierungen aus.

  3. Wählen Sie im fenster App-Registrierungen auf der Registerkarte Alle Anwendungen die App aus, der Sie Azure AD Graph-Berechtigungen hinzufügen möchten.

  4. Wählen Sie im linken Bereich des Fensters unter der Menügruppe Verwalten die Option Manifest aus, um einen Editor zu öffnen, mit dem Sie die Attribute des App-Registrierungsobjekts direkt bearbeiten können.

    Mit einer Manifestdatei für die App-Registrierung können Sie die Attribute Ihrer Anwendung bearbeiten.

  5. Bearbeiten Sie die requiredResourceAccess-Eigenschaft im Manifest der App sorgfältig, um die folgenden Details hinzuzufügen:

    Tipp

    A: Sie können das App-Manifest auf der Microsoft Entra Admin Center bearbeiten oder Herunterladen auswählen, um das Manifest lokal zu bearbeiten. Verwenden Sie dann Hochladen, um es erneut auf Ihre Anwendung anzuwenden.

    B. Weitere Informationen zum Konfigurieren der requiredResourceAccess-Eigenschaft finden Sie unter requiredResourceAccess-Ressourcentyp.

    C. Ausführliche Informationen zu Azure AD Graph-Berechtigungsnamen, -IDs und -Typen finden Sie in der Azure AD Graph-Berechtigungsreferenz .

    5.1. Wenn der App keine Azure AD Graph-Berechtigungen zugewiesen sind, fügen Sie die Eigenschaft resourceAppId hinzu, und weisen Sie den Wert 00000002-0000-0000-c000-000000000000 zu, der Azure AD Graph darstellt.

    5.2. Fügen Sie die resourceAccess-Eigenschaft hinzu, und konfigurieren Sie die Berechtigungen.

    Der folgende JSON-Codeausschnitt zeigt eine requiredResourceAccess-Eigenschaft mit Azure AD Graph als Ressource und zugewiesenen User.Read und Application.Read.All oauth2PermissionScope (delegierte Berechtigung) bzw. appRole (Anwendungsberechtigung).

    "requiredResourceAccess": [
        {
            "resourceAppId": "00000002-0000-0000-c000-000000000000",
            "resourceAccess": [
                {
                    "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
                    "type": "Scope"
                },
                {
                    "id": "3afa6a7d-9b1a-42eb-948e-1650a849e176",
                    "type": "Role"
                }
            ]
        }
    ],
    
  6. Speichern Sie Ihre Änderungen.

  7. Wählen Sie unter der Menügruppe Verwalten die Option API-Berechtigungen aus, und wählen Sie unter Konfigurierte Berechtigungen für Ihre App-Registrierung die Option Administratoreinwilligung erteilen aus, um Ihrer App-Registrierung Azure AD Graph-Berechtigungen zu erteilen.