Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie einen Microsoft Entra Dienstprinzipal, um die Power Apps CLI zu authentifizieren, ohne einen Browser zu öffnen oder ein zwischengespeichertes Benutzerkonto zu verwenden. Diese Authentifizierungsmethode ist nützlich für die kontinuierliche Integration und kontinuierliche Übermittlung (CI/CD)-Pipelines und andere automatisierte Prozesse, die Aktualisierungen in einer vorhandenen Code-App veröffentlichen.
Zum Veröffentlichen eines Updates benötigt der Dienstprinzipal Zugriff auf die Power Platform-Zielumgebung und den Bearbeitungszugriff auf die Code-App. Berechtigungen auf Umgebungsebene erteilen keine Berechtigung zum Aktualisieren einer vorhandenen App. Die App-Freigabe und die Dienstprinzipalauthentifizierung sind separate Features, die Freigabe der App ist jedoch eine Voraussetzung für die Veröffentlichung von Updates als Dienstprinzipal.
Important
Ein App-Hersteller muss die App mit dem Dienstprinzipal teilen, bevor der Dienstprinzipal das erste Update veröffentlicht. Die Freigabe ist eine einmalige Voraussetzung, nicht Teil des wiederkehrenden Veröffentlichungsprozesses. Ein Dienstprinzipal kann sich nicht selbst Zugriff gewähren.
Voraussetzungen
Eine Power Apps Code-App, die Sie bereits veröffentlicht haben
Ein App-Maker-Konto, das über die Berechtigung zum Freigeben der App verfügt
Ein Microsoft Entra Dienstprinzipal, der Zugriff auf die Ziel-Power Platform-Umgebung hat
Diese Dienstprinzipalwerte:
- Anwendungs-ID (Client-ID)
- Geheimer Clientschlüssel
- Verzeichnis-ID (Mandant)
- Unternehmensanwendungsobjekt-ID
Grundlegendes zu den Dienstprinzipalbezeichnern
Microsoft Entra ID stellt mehrere Bezeichner für eine App-Registrierung und ihren Dienstprinzipal bereit. Verwenden Sie den richtigen Bezeichner für jeden Vorgang.
| Kennung | Wo finde ich sie? | Wie diese verwendet wird |
|---|---|---|
| Anwendungs-ID (Client-ID) | App-Registrierungen | Legen Sie die Umgebungsvariable SP_CLIENT_ID fest. |
| Verzeichnis-ID (Mandant) | App-Registrierungen | Legen Sie die Umgebungsvariable SP_TENANT_ID fest. |
| Unternehmensanwendungsobjekt-ID | Unternehmensanwendungen | Weitergeben an pa app share --principal. |
Voraussetzung: Freigeben der App mit dem Dienstprinzipal
Wenn die App bereits Bearbeitungszugriff für den Dienstprinzipal hat, überspringen Sie diesen Abschnitt. Führen Sie andernfalls einmal vom Computer des App-Herstellers diese Schritte aus. Schließen Sie den Freigabebefehl nicht in die CI/CD-Pipeline ein.
Important
Verwenden Sie die in App-Registrierungen im Microsoft Entra Admin Center angezeigte Objekt-ID nicht, in der Sie die Anwendungs-ID (Client-ID), die Verzeichnis-ID (Mandant) und den geheimen Clientschlüssel finden. Verwenden Sie stattdessen die in Enterprise-Anwendungen angezeigte Objekt-ID.
Wenn Sie die Anwendungs-ID (Client-ID) kennen, rufen Sie alternativ die Objekt-ID der Enterprise-Anwendung mithilfe des Befehls Azure CLI az ad sp showab:
az ad sp show --id <application-client-id> --query id --output tsv
Melden Sie sich als App-Maker an, und geben Sie die Code-App frei.
Aktivieren Sie die Dienstprinzipalauthentifizierung beim Freigeben der App nicht.
Melden Sie sich mit dem pa auth login Befehl interaktiv mit dem App Maker-Konto an:
pa auth login --account <maker-email>
Vergewissern Sie sich, dass das App Maker-Konto mit dem pa auth status Befehl aktiv ist:
pa auth status
Gewähren Sie im App-Ordner den Dienstprinzipalbearbeitungszugriff mithilfe des pa app share Befehls:
pa app share --principal <enterprise-application-object-id> --access edit
Die edit Zugriffsebene gewährt dem Dienstprinzipal die Berechtigung, die App mithilfe des pa app push Befehls zu aktualisieren.
Um die Berechtigung zum Wiedergeben der App zu erteilen, ohne sie zu aktualisieren, verwenden Sie --access play:
pa app share --principal <enterprise-application-object-id> --access play
Veröffentlichen von Updates als Dienstprinzipal
Nachdem die App den Bearbeitungszugriff für den Dienstprinzipal hat, verwenden Sie den Dienstprinzipal, um Updates aus einer CI/CD-Pipeline oder einem lokalen Computer zu veröffentlichen. Wiederholen Sie dieses Verfahren für jede Aktualisierung. Sie müssen die App nicht erneut freigeben, es sei denn, der Zugriff des Dienstprinzipals wird entfernt.
Konfigurieren der Dienstprinzipalauthentifizierung
Legen Sie die Variablen der Dienstprinzipalauthentifizierungsumgebung in der CI/CD-Auftrags- oder Terminalsitzung fest, die Sie zum Veröffentlichen des Updates verwenden. Diese Variablen führen dazu, dass die CLI als Dienstprinzipal authentifiziert wird, anstatt ein zwischengespeichertes interaktives Konto zu verwenden.
$env:PA_CLI_USE_SP_AUTH = "true"
$env:SP_CLIENT_ID = "<application-client-id>"
$env:SP_CLIENT_SECRET = "<client-secret>"
$env:SP_TENANT_ID = "<tenant-id>"
Nachdem Sie die Variablen festgelegt haben, führen Sie den Build- und Veröffentlichungsbefehl aus dieser Terminalsitzung oder dem CI/CD-Auftrag aus.
Erstellen und Veröffentlichen des Updates
Erstellen Sie die App mithilfe des für Ihr Projekt konfigurierten Befehls. Beispiel:
npm run build
Veröffentlichen der kompilierten App im nichtinteraktiven Modus mithilfe des pa app push Befehls
pa app push --non-interactive
Die CLI verwendet die Dienstprinzipalanmeldeinformationen aus den Umgebungsvariablen und öffnet keinen Browser oder verwendet ein zwischengespeichertes interaktives Konto.
Nach Abschluss des Befehls gibt ein Exitcode 0 an, dass das Update veröffentlicht wurde. Ein Nichtzero-Beendigungscode gibt an, dass der Befehl fehlgeschlagen ist.