Gewähren des Zugriffs auf die API für die eingehende Bereitstellung
Einführung
Nachdem Sie die API-gesteuerte App für die eingehende Bereitstellung konfiguriert haben, müssen Sie Zugriffsberechtigungen erteilen, damit API-Clients Anforderungen an die bereitstellende /bulkUpload-API senden und die API für Bereitstellungsprotokolle abfragen können. In diesem Tutorial werden die Schritte zum Konfigurieren dieser Berechtigungen erläutert.
Je nachdem, wie Sich Ihr API-Client bei Microsoft Entra ID authentifiziert, können Sie zwischen zwei Konfigurationsoptionen auswählen:
- Konfigurieren eines Dienstprinzipals: Befolgen Sie diese Anweisungen, wenn Ihr API-Client plant, einen Dienstprinzipal einer in Microsoft Entra registrierten Anwendung zu verwenden und sich mit dem Flow für die Zuweisung von OAuth-Client-Anmeldedaten zu authentifizieren.
- Konfigurieren einer verwalteten Identität: Befolgen Sie diese Anweisungen, wenn Ihr API-Client plant, eine verwaltete Microsoft Entra-Identität zu verwenden.
Konfigurieren eines Dienstprinzipals
Diese Konfiguration registriert eine App in Microsoft Entra ID, die den externen API-Client darstellt, und erteilt ihr die Berechtigung zum Aufrufen der API für die eingehende Bereitstellung. Die Dienstprinzipal-Client-ID und das Client-Geheimnis können im OAuth Client-Flow zum Zuweisen von Anmeldeinformationen verwendet werden.
- Melden Sie sich beim Microsoft Entra Admin Center (https://entra.microsoft.com) mindestens als Anwendungsadministrator an.
- Navigieren Sie zu Microsoft Entra ID ->Anwendungen ->App-Registrierungen.
- Klicken Sie auf die Option Neue Registrierung.
- Geben Sie einen App-Namen an, wählen Sie die Standardoptionen aus und klicken Sie auf Registrieren.
- Kopieren Sie die Werte Anwendungs-ID (Client-ID) und Verzeichnis-ID (Mandant) vom Blatt Übersicht,und speichern Sie sie zur späteren Verwendung in Ihrem API-Client.
- Wählen Sie im Menü "Globaler Kontext" der App die Option Zertifikat & Geheimnisse aus.
- Erstellen Sie einen neuen geheimen Clientschlüssel. Geben Sie eine Beschreibung für das Geheimnis und das Ablaufdatum an.
- Kopieren Sie den generierten Wert des geheimen Clientschlüssels und speichern Sie ihn zur späteren Verwendung in Ihrem API-Client.
- Wählen Sie im Kontextmenü API-Berechtigungen die Option Berechtigung hinzufügen aus.
- Wählen Sie unter API-Berechtigungen anfordern die Option Microsoft Graph aus.
- Wählen Sie Anwendungsberechtigungen.
- Suchen und wählen Sie die Berechtigung AuditLog.Read.All und SynchronizationData-User.Upload aus.
- Klicken Sie auf dem nächsten Bildschirm auf Administratoreinwilligung erteilen, um die Berechtigungszuweisung abzuschließen. Klicken Sie im Bestätigungsdialogfeld auf Ja. Ihre App sollte über die folgenden Berechtigungssätze verfügen.
- Sie können jetzt den Dienstprinzipal mit Ihrem API-Client verwenden.
- Für Produktionsworkloads empfiehlt sich die Verwendung der clientzertifikatbasierten Authentifizierung mit dem Dienstprinzipal oder verwalteten Identitäten.
Konfigurieren einer verwalteten Identität
In diesem Abschnitt wird beschrieben, wie Sie einer verwalteten Identität die erforderlichen Berechtigungen zuweisen können.
Konfigurieren Sie eine verwaltete Identität für die Verwendung mit Ihrer Azure-Ressource.
Kopieren Sie den Namen Ihrer verwalteten Identität aus dem Microsoft Entra Admin Center. Beispiel: Der folgende Screenshot zeigt den Namen einer systemseitig zugewiesenen verwalteten Identität, die einem Azure Logic Apps-Workflow namens „CSV2SCIMBulkUpload“ zugeordnet ist.
Führen Sie das folgende PowerShell-Skript aus, um Ihrer verwalteten Identität Berechtigungen zuzuweisen.
Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All,RoleManagement.ReadWrite.Directory" $graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'" $PermissionName = "SynchronizationData-User.Upload" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id $PermissionName = "AuditLog.Read.All" $AppRole = $graphApp.AppRoles | ` Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"} $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'" New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
Um zu bestätigen, dass die Berechtigung angewendet wurde, suchen Sie unter Unternehmensanwendungen in Microsoft Entra ID nach dem Dienstprinzipal für verwaltete Identitäten. Entfernen Sie den Filter Anwendungsart, um alle Dienstprinzipale anzuzeigen.
Klicken Sie auf das Blatt Berechtigungen im Bereich Sicherheit. Stellen Sie sicher, dass die Berechtigung festgelegt ist.
Sie können jetzt die verwaltete Identität mit Ihrem API-Client verwenden.