Pipelines als Dienstprinzipal oder Pipeline-Besitzender bereitstellen
Delegierte Bereitstellungen können als Dienstprinzipal oder Pipeline-Phasenbesitzender ausgeführt werden. Wenn diese Option aktiviert ist, wird die Pipeline-Phase als Stellvertretung (Dienstprinzipal oder Pipeline-Phasenbesitzender) und nicht als anfordernder Erstellender bereitgestellt.
Mit Dienstprinzipal bereitstellen
Anforderungen
- Ein Microsoft Entra-Benutzerkonto. Wenn Sie noch kein Konto haben, können Sie Kostenlos ein Konto erstellen.
- Eine der folgenden Microsoft Entra Rollen: Cloud-Anwendungsadministrator oder Anwendungsadministrator.
- Sie müssen Besitzer der Unternehmensanwendung (Dienstprinzipal) in Microsoft Entra ID sein.
Führen Sie für eine delegierte Bereitstellung mit einem Dienstprinzipal die folgenden Schritte aus.
Erstellen Sie eine Unternehmensanwendung (Dienstprinzipal) in Microsoft Entra ID.
Wichtig
Jeder, der Dienstprinzipalkonfigurationen in Pipelines aktiviert oder ändert, muss Eigentümer der Unternehmensanwendung (Dienstprinzipal) in Microsoft Entra ID sein.
Fügen Sie die Unternehmensanwendung als Server-zu-Server-Benutzenden (S2S) in Ihrer Pipeline-Hostumgebung und jeder Zielumgebung hinzu, in der sie bereitgestellt wird.
Weisen Sie die Sicherheitsrolle „Bereitstellungsadministrierender“ dem S2S-Benutzenden innerhalb des Pipeline-Hosts und die Sicherheitsrolle „Systemadministrierender“ innerhalb der Zielumgebungen zu. Sicherheitsrollen mit niedrigeren Berechtigungen können keine Plug-Ins und andere Codekomponenten bereitstellen.
Wählen Sie (aktivieren Sie) Ist eine delegierte Bereitstellung in einer Pipeline-Phase und dann Dienstprinzipal aus, und geben Sie die Client-ID ein. Wählen Sie Speichern.
Optional können Sie Freigabeanforderungen zulassen, damit Bereitstellungsanforderer angeben können, welche Sicherheitsgruppen auf bereitgestellte Objekte in der Zielumgebung zugreifen können. Freigabeanforderungen sind Teil der Bereitstellungsanforderung und können genehmigt oder abgelehnt werden.
Wichtig
Die genehmigenden Personen für die Bereitstellung sind für die sorgfältige Prüfung der Freigabe- und Sicherheitsrolleninformationen verantwortlich. Wenn eine Bereitstellung genehmigt wird, weisen Pipelines automatisch Berechtigungen anhand der Identität des bereitstellenden Dienstprinzipals zu.
>
Erstellen Sie einen Cloud-Flow innerhalb der Pipeline-Host-Umgebung Alternative Systeme können mithilfe der Microsoft Dataverse-APIs von Pipelines integriert werden.
Wählen Sie den Auslöser OnApprovalStarted aus.
Fügen Sie Schritte für Ihre gewünschte benutzerdefinierte Logik hinzu.
Fügen Sie einen Genehmigungsschritt ein. Verwenden Sie dynamische Inhalte, um Bereitstellungsanfrageinformationen an die Genehmigenden zu senden.
Fügen Sie eine Bedingung ein.
Stellen Sie eine Dataverse-Verbindung für den Dienstprinzipal her. Sie benötigen eine Client-ID und ein Geheimnis.
Fügen Sie in Dataverse Eine ungebundene Aktion ausführen mit den hier gezeigten Einstellungen hinzu.
Aktionsname: UpdateApprovalStatus ApprovalComments: Dynamischen Inhalt einfügen. Kommentare sind für Anfordernde der Bereitstellung sichtbar. ApprovalStatus: 20 = genehmigt, 30 = abgelehnt ApprovalProperties: Dynamischen Inhalt einfügen. Administratorinformationen, auf die über den Pipeline-Host zugegriffen werden kann.Wichtig
Bei der Aktion „UpdateApprovalStatus“ muss die Verbindung des Dienstprinzipals verwendet werden.
Tipp
Um das Debugging-Erlebnis zu verbessern, wählen Sie „ApprovalProperties“ aus und fügen Sie „Workflow()“ aus dem dynamischen Inhaltsmenü ein. Dadurch wird die Flow-Ausführung mit der Pipeline-Stufenausführung (Ausführungsverlauf) verknüpft.
Speichern Sie die Pipeline, und testen Sie sie dann.
Hier sehen Sie einen Screenshot eines kanonischen Genehmigungs-Flows.
Als Pipeline-Phasenbesitzender bereitstellen
Reguläre Benutzende, einschließlich derer, die als Dienstkonten verwendet werden, können auch als Delegierte fungieren. Die Konfiguration ist im Vergleich zu Dienstprinzipalen einfacher, Lösungen mit Verbindungsreferenzen für oAuth-Verbindungen können jedoch nicht bereitgestellt werden.
Führen Sie die folgenden Schritte aus, um die Bereitstellung als Pipeline-Phasenbesitzender durchzuführen.
Weisen Sie die Sicherheitsrolle „Bereitstellungspipelinedministrierender“ dem Pipeline-Phasenbesitzenden innerhalb des Pipeline-Hosts und die Sicherheitsrolle „Systemadministrierender“ innerhalb der Zielumgebungen zu.
Sicherheitsrollen mit niedrigeren Berechtigungen können keine Plug-Ins und andere Codekomponenten bereitstellen.
Als Pipeline-Phasenbesitzender anmelden. Nur der Besitzer kann diese Einstellungen aktivieren oder ändern. Teambesitz ist nicht erlaubt.
Wählen Sie Ist eine delegierte Bereitstellung in einer Pipeline-Phase und dann Phasenbesitzender aus.
- Die Identität des Pipeline-Phasenbesitzenden wird für alle Bereitstellungen in dieser Phase verwendet.
- Ebenso muss diese Identität zum Genehmigen von Bereitstellungen verwendet werden.
Erstellen Sie einen Cloud-Flow in einer Lösung innerhalb der Pipeline-Host-Umgebung
- Wählen Sie den Auslöser OnApprovalStarted aus.
- Fügen Sie nach Bedarf Aktionen ein. Beispielsweise eine Genehmigung.
- Fügen Sie in Dataverse Eine ungebundene Aktion ausführen hinzu.
Aktionsname: UpdateApprovalStatus (20 = abgeschlossen, 30 = abgelehnt)
Beispiele für delegierte Bereitstellung
Wichtig
Die in diesen Beispielen bereitgestellten Funktionen werden jetzt nativ im Produkt unterstützt, aber diese Beispiele geben möglicherweise Einblick in die Erweiterung der nativen Freigabefunktionalität.
Dieser Download enthält Beispiel-Cloud-Flows für das Verwalten von Genehmigungen und Teilen von bereitgestellten Canvas-Apps und Flows in der Zielumgebung. Beispiellösung herunterladen
Laden Sie die verwaltete Lösung herunter und importieren Sie sie in die Hostumgebung Ihrer Pipelines. Die Lösung kann dann an die Bedürfnisse Ihres Unternehmens angepasst werden.
Häufig gestellte Fragen
Wie können Erstellende auf bereitgestellte Objekte in Zielumgebungen zugreifen?
Die Freigabe während der Bereitstellung ist eine native Funktion von delegierten Bereitstellungen mit Dienstprinzipalen. Dadurch wird vermieden, dass Administrierende Sicherheitsrollen manuell zuweisen und bereitgestellte Apps, Flows, Copilots usw. innerhalb des Power Platform Admin Centers freigeben müssen. Stattdessen müssen Administratoren nur die Bereitstellungsanforderung genehmigen, und die Freigabe erfolgt automatisch durch das System.
Welche Objekttypen können während der Bereitstellung geteilt werden?
Derzeit werden Sicherheitsrollen, Canvas-Apps und Cloud-Flows unterstützt. Das Freigeben von Copilot ist je nach Region möglicherweise auch verfügbar.
Kann ich die Freigabe aktualisieren, wenn neue Versionen bereitgestellt werden?
Die Freigabe ist verfügbar, wenn ein Objekt zum ersten Mal in der Zielumgebung bereitgestellt wird. Die Freigabe kann nicht aktualisiert werden, wenn neue Versionen bereitgestellt werden. Stellen Sie sicher, dass Sie bei der ersten Bereitstellung eine geeignete Sicherheitsgruppe auswählen. Verwalten Sie den laufenden Zugriff über Sicherheitsgruppen.
Welche Berechtigungen werden für Canvas-Apps und -Flows vergeben?
Die Pipeline weist die Mindestrechte zu, die zum Ausführen von Apps und Flows erforderlich sind. Wenn höhere Berechtigungen gewünscht werden, können Pipelines erweitert werden. Wir empfehlen Ihnen, die Funktion „Nicht verwaltete Anpassungen blockieren“ zu aktivieren, wenn Sie höhere Berechtigungen zuweisen.
Können Erstellende einzelnen Benutzenden Freigaben erteilen?
Derzeit nicht. Wir empfehlen, den Zugriff einzelner Benutzer nach der ersten Bereitstellung des Objekts über Sicherheitsgruppen zu verwalten.
Ich erhalte eine Fehlermeldung Die Bereitstellungsphase ist kein Besitzender des Dienstprinzipals (<AppId>). Nur Besitzende des Dienstprinzipals dürfen ihn für delegierte Bereitstellungen verwenden.
Stellen Sie sicher, dass Sie der Besitzende der Unternehmensanwendung (Dienstprinzipal) in Microsoft Entra ID (früher Azure AD) sind. Möglicherweise sind Sie nur der Besitzende der App-Registrierung und nicht der Unternehmensanwendung.
Warum kann ich bei delegierten Bereitstellungen, die auf dem Phasenbesitzenden basieren, keinen anderen Benutzenden als bereitstellende Person zuweisen?
Aus Sicherheitsgründen müssen Sie sich als der Benutzende anmelden, der als Besitzende der Pipelinephase festgelegt wird. Dadurch wird verhindert, dass ein nicht zustimmender Benutzender als bereitstellende Person hinzugefügt wird.
Kann ich für delegierte Bereitstellungen, die auf dem Phasenbesitzer basieren, eine benutzerdefinierte DeploymentSettings.json Datei verwenden?
Derzeit nicht in der Erfahrung für Erstellende.
Warum stecken meine delegierten Bereitstellungen im Status „Ausstehend“ fest?
Alle delegierten Bereitstellungen stehen bis zur Genehmigung aus. Stellen Sie sicher, dass Ihr Administrierender einen Power Automate-Genehmigungs-Flow oder eine andere Automatisierung konfiguriert hat, dass dieser ordnungsgemäß funktioniert und dass die Bereitstellung genehmigt wurde.
Wem gehören bereitgestellte Lösungsobjekte?
Die bereitgestellte Identität. Bei delegierten Bereitstellungen ist der Besitzende der delegierte Dienstprinzipal oder Pipelinephasen-Besitzende.
Kann ich benutzerdefinierte Genehmigungsschritte hinzufügen?
Ja Beispielsweise können Power Automate-Genehmigungen an die Anforderungen Ihrer Organisation angepasst werden. Möglicherweise integrieren Sie auch andere Genehmigungssysteme.
Warum muss ich den Dienstprinzipal besitzen?
Dies wird aus Sicherheitsgründen erzwungen. Sie können auch Pipelines mit einem Dienstkonto erstellen und dasselbe Dienstkonto als Besitzender hinzufügen. Eine weitere Möglichkeit besteht darin, den Dienstprinzipal (Anwendungsbenutzender) als Besitzender der Pipelinephase und als Besitzender für sich selbst (Unternehmensanwendung) in Microsoft Entra zuzuweisen. Die Zuweisung des Besitzes der Pipelinephase zu einer Anwendung muss jedoch über die Dataverse API im Pipelinehost erfolgen.
Ich erhalte eine Fehlermeldung Delegierte Bereitstellungen des Typs „Dienstprinzipal“ können nur vom Dienstprinzipal, der in der Bereitstellungsphase konfiguriert wurde, genehmigt oder abgelehnt werden.
Stellen Sie sicher, dass die benutzerdefinierte Dataverse-Aktion UpdateApprovalStatus
vom Dienstprinzipal aufgerufen wird. Wenn Sie Power Automate-Genehmigungen verwenden, stellen Sie sicher, dass diese Aktion so konfiguriert ist, dass sie die Verbindung des Delegatdienstprinzipals verwendet.
Ich erhalte eine Fehlermeldung Delegierte Bereitstellungen des Typs „Besitzer“ können nur vom Besitzenden der Bereitstellungsphase genehmigt oder abgelehnt werden.
Stellen Sie sicher, dass die benutzerdefinierte Dataverse-Aktion UpdateApprovalStatus
vom Pipelinephasen-Besitzenden aufgerufen wird. Wenn Sie Power Automate-Genehmigungen verwenden, stellen Sie sicher, dass diese Aktion so konfiguriert ist, dass sie die Verbindung des Pipelinephasen-Delegatbesitzenden verwendet.
Ich erhalte eine Fehlermeldung in meinem Genehmigungs-Flow Das Genehmigungsstatusattribut für den Phasenausführungsaufzeichnung konnte nicht gefunden werden.
Dies geschieht, wenn der Genehmigungsstatus noch nicht den Status „Ausstehend“ aufweist. Stellen Sie sicher, dass es sich um eine delegierte Bereitstellung handelt und Sie den Auslöser OnApprovalStarted
in Ihrem Genehmigungs-Flow verwenden.
Kann ich unterschiedliche Dienstprinzipale für unterschiedliche Pipelines und Phasen verwenden?
Ja