Authentifizierung (Vorschauversion)
Dieser Artikel gibt einen Überblick über die Einrichtung von Microsoft Entra zum Aufrufen der Power Platform API (Vorschauversion). Um auf Ressourcen zuzugreifen, die über Power Platform API verfügbar sind, müssen Sie ein Bearertoken von Microsoft Entra abrufen und senden Sie es als Kopfzeile zusammen mit jeder Anforderung. Je nach Identitätstyp, den Sie unterstützen (Benutzer oder Dienstprinzipal), gibt es unterschiedliche Flows, um dieses Bearertoken zu erhalten, wie in diesem Artikel beschrieben.
Die folgenden Schritte sind erforderlich, um ein Bearertoken mit den richtigen Berechtigungen zu erhalten:
- Eine Anwendungsregistrierung in Ihrem Microsoft Entra-Mandanten erstellen
- API-Berechtigungen konfigurieren
- Öffentlichen Client konfigurieren (optional)
- Zertifikate und Geheimnisse konfigurieren (optional)
- Einen Zugriffstoken anfordern
Schritt 1. Eine Anwendungsregistrierung erstellen
Navigieren Sie zur Seite Microsoft Entra App-Registrierung und erstellen Sie eine neue Registrierung. Geben Sie der Anwendung einen Namen und stellen Sie sicher, dass die Option Einzelner Mandant ausgewählt ist. Sie können die Einrichtung der Umleitungs-URI überspringen.
Schritt 2. API-Berechtigungen konfigurieren
Navigieren Sie in Ihrer neuen App-Registrierung zu der Registerkarte Verwalten - API-Berechtigungen. Wählen Sie unter dem Abschnitt Berechtigungen konfigurieren Eine Berechtigung hinzufügen aus. Wählen Sie im sich öffnenden Fenster die Registerkarte Von meiner Organisation verwendete APIs aus und suchen Sie dann nach der Power Platform API. Möglicherweise werden mehrere Einträge mit einem ähnlichen Namen angezeigt. Stellen Sie daher sicher, dass Sie den Eintrag mit der GUID 8578e004-a5c6-46e7-913e-12f58912df43 verwenden.
Wenn die Power Platform-API bei der Suche nach GUID nicht in der Liste angezeigt wird, haben Sie möglicherweise trotzdem Zugriff darauf, aber die Sichtbarkeit wurde nicht aktualisiert. Führen Sie das PowerShell-Skript unten durch, um die Aktualisierung zu erzwingen:
#Install the Microsoft Entra the module
Install-Module AzureAD
Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"
Von hier aus müssen Sie die erforderlichen Berechtigungen auswählen. Diese sind nach Namespace gruppiert. Innerhalb eines Namespace sehen Sie beispielsweise Ressourcentypen und Aktionen wie AppManagement.ApplicationPackages.Read, durch die Leseberechtigungen für Anwendungspakete erteilt werden. Weitere Informationen finden Sie in unserem Artikel zur Berechtigungsreferenz.
Anmerkung
Die Power Platform-API nutzt derzeit nur delegierte Berechtigungen. Für Anwendungen, die mit einem Benutzerkontext ausgeführt werden, fordern Sie delegierte Berechtigungen mithilfe von Umfang-Parametern an. Diese Berechtigungen delegieren die Berechtigungen des angemeldeten Benutzers an Ihre Anwendung, sodass diese beim Aufrufen der Power Platform-API-Endpunkte als Benutzer fungieren kann.
Für Dienstprinzipalidentitäten werden keine Anwendungsberechtigungen verwendet. Stattdessen werden Dienstprinzipale heute als Power Platform Administratoren behandelt und müssen gemäß PowerShell – Dienstprinzipal erstellen registriert werden.
Nachdem die erforderlichen Berechtigungen zur Anwendung hinzugefügt wurden, wählen Sie Administratoreinwilligung erteilen, um die Einrichtung abzuschließen. Dies ist in Fällen erforderlich, in denen Sie Benutzern den sofortigen Zugriff auf Ihre App ermöglichen möchten, anstatt eine interaktive Einwilligungserfahrung zu verlangen. Wenn Sie die interaktive Zustimmung unterstützen können, empfehlen wir Ihnen, der Microsoft Identitätsplattform und dem OAuth 2.0-Autorisierungscodefluss zu folgen.
Schritt 3. Öffentlichen Client konfigurieren (optional)
Wenn Ihre App im Auftrag eines Benutzers Lese- und Schreibressourcen benötigt, müssen Sie die Einstellung „Öffentlicher Client“ aktivieren. Dies ist die einzige Möglichkeit, mit der Microsoft Entra ID die Eigenschaften Benutzername und Passwort im Textkörper Ihrer Token-Anfrage akzeptiert. Beachten Sie auch, dass, wenn Sie diese Funktion verwenden möchten, sie nicht für Konten funktioniert, bei denen die Multi-Faktor-Authentifizierung aktiviert ist.
Gehen Sie zum Aktivieren zur Registerkarte Verwalten – Authentifizierung. Legen Sie im Abschnitt Erweiterte Einstellungen Öffentlicher Client auf Ja fest.
Schritt 4. Zertifikate und Geheimnisse konfigurieren (optional)
Wenn Ihre App selbst Lese- und Schreibressourcen benötigt – auch als Dienstprinzipal bekannt –, gibt es zwei Möglichkeiten zur Authentifizierung. Um Zertifikate zu verwenden, navigieren Sie zur Registerkarte Verwalten – Zertifikate und Geheimnisse. Laden Sie im Abschnitt Zertifikate ein x509-Zertifikat hoch, mit dem Sie sich authentifizieren können. Andernfalls können Sie den Abschnitt Geheimnisse verwenden, um einen geheimen Clientschlüssels zu generieren. Speichern Sie das Geheimnis an einem sicheren Ort, um es für Ihre Automatisierungsanforderungen zu verwenden. Mit den Optionen „Zertifikat“ oder „Geheimnis“ können Sie sich bei Microsoft Entra authentifizieren und erhalten ein Token für diesen Client, das Sie entweder an die REST-APIs oder an die PowerShell-Cmdlets übergeben.
Schritt 5. Einen Zugriffstoken anfordern
Es gibt zwei Möglichkeiten, ein Zugriffs-Bearertoken zu erhalten. Einer ist für Benutzername und Kennwort und der andere für Dienstprinzipale.
„Benutzername und Kennwort“-Flow
Lesen Sie unbedingt den Abschnitt „Öffentlicher Client“ oben. Senden Sie dann eine POST-Anforderung über HTTP an Microsoft Entra ID mit einer Nutzlast aus Benutzername und Kennwort.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password
Das obige Beispiel enthält Platzhalter, die Sie aus Ihrer Client-Anwendung in Microsoft Entra ID abrufen können. Sie erhalten eine Antwort, mit der Sie nachfolgende Aufrufe an die Power Platform-API durchführen können.
{
"token_type": "Bearer",
"scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
"expires_in": 4747,
"ext_expires_in": 4747,
"access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}
Verwenden Sie den Wert Zugriffstoken in nachfolgenden Aufrufen an die Power Platform-API mit der HTTP-Kopfzeile Genehmigung.
Dienstprinzipal-Flow
Lesen Sie unbedingt den Abschnitt „Zertifikate und Geheimnisse“ oben. Senden Sie dann eine POST-Anforderung über HTTP an Microsoft Entra ID mit einer Nutzlast aus dem geheimen Clientschlüssel. Dies wird häufig als Dienstprinzipalauthentifizierung bezeichnet.
Wichtig
Dies kann nur verwendet werden, nachdem Sie diese Client-Anwendungs-ID bei Microsoft Power Platform registriert haben, entweder entsprechend der PowerShell- oder der REST-Dokumentation.
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials
Das obige Beispiel enthält Platzhalter, die Sie aus Ihrer Client-Anwendung in Microsoft Entra ID abrufen können. Sie erhalten eine Antwort, mit der Sie nachfolgende Aufrufe an die Power Platform-API durchführen können.
{
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1..."
}
Verwenden Sie den Wert Zugriffstoken in nachfolgenden Aufrufen an die Power Platform-API mit der HTTP-Kopfzeile Genehmigung. Wie oben erwähnt, verwendet der Dienstprinzipalflow keine Anwendungsberechtigungen und wird stattdessen vorerst als Power Platform-Administrator für alle Aufrufe behandelt, die sie tätigen.
Siehe auch
Erstellen eines Dienstprinzipalanwendung über die API (Vorschauversion)
PowerShell – Dienstprinzipal erstellen