Pipelines als Dienstprinzipal oder Pipeline-Besitzender bereitstellen

Sie können delegierte Bereitstellungen als Serviceprinzipal oder Besitzer einer Pipelinephase ausführen. Wenn Sie dieses Feature aktivieren, wird die Pipelinephase anstelle des anfordernden Makers als Stellvertretung (Dienstprinzipal- oder Pipelinestufenbesitzer) bereitgestellt.

Bereitstellen mit einem Dienstprinzipal

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 Application Administrator oder Application Administrator.
  • 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.

  1. 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.

  2. Fügen Sie die Unternehmensanwendung in Ihrer Pipeline-Hostumgebung sowie in jeder Zielumgebung, in die sie bereitstellt, als Server-zu-Server-Benutzer (S2S) hinzu.

  3. Weisen Sie dem S2S-Benutzer im Pipelinehost die Sicherheitsrolle „Bereitstellungspipeline-Administrator“ und in den Zielumgebungen die Sicherheitsrolle „Systemadministrator“ zu. Sicherheitsrollen mit niedrigeren Berechtigungen können keine Plug-Ins und andere Codekomponenten bereitstellen.

  4. Aktivieren Sie in einer Pipelinephase das Kontrollkästchen Delegierte Bereitstellung, wählen Sie Dienstprinzipal aus, und geben Sie die Client-ID ein. Wählen Sie Speichern.

  5. Optional können Sie Freigabeanforderungen zulassen, damit Bereitstellungsanforderende angeben können, welche Sicherheitsgruppen auf bereitgestellte Objekte in der Zielumgebung zugreifen können. Anfragen zum Teilen sind Teil der Bereitstellungsanfrage und können genehmigt oder abgelehnt werden.

Wichtig

Die für die Bereitstellung Verantwortlichen sind dafür zuständig, Informationen zur Freigabe und zu Sicherheitsrollen sorgfältig zu prüfen. Wenn eine Bereitstellung genehmigt wird, weist Pipelines automatisch Berechtigungen unter Verwendung der Identität des bereitstellenden Dienstprinzipals zu.
>

  1. Erstellen Sie einen Cloud-Flow innerhalb der Pipeline-Host-Umgebung Alternative Systeme können mithilfe der Microsoft Dataverse-APIs von Pipelines integriert werden.

  2. Wählen Sie den Auslöser OnApprovalStarted aus.

  3. Fügen Sie Schritte für Ihre gewünschte benutzerdefinierte Logik hinzu.

  4. Fügen Sie einen Genehmigungsschritt ein. Verwenden Sie dynamische Inhalte, um Bereitstellungsanfrageinformationen an die Genehmigenden zu senden.

  5. Fügen Sie eine Bedingung ein.

  6. Erstellen Sie eine Dataverse-Verbindung für den Serviceprinzipal. Sie benötigen eine Client-ID und ein Geheimnis.

  7. Fügen Sie in Dataverse Eine ungebundene Aktion ausführen mit den hier gezeigten Einstellungen hinzu.
    Aktionsname: UpdateApprovalStatus Genehmigungskommentare: Dynamischen Inhalt einfügen. Kommentare sind für den Antragsteller der Bereitstellung sichtbar. ApprovalStatus: 20 = genehmigt, 30 = abgelehnt ApprovalProperties: Dynamischen Inhalt einfügen. Administratorinformationen, auf die über den Pipeline-Host zugegriffen werden kann.

    Wichtig

    Die Aktion „UpdateApprovalStatus“ muss die Verbindung des Dienstprinzipals verwenden.

    Mit einem Dienstprinzipal verbinden

    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.

  8. Speichern Sie die Pipeline, und testen Sie sie dann.

Hier sehen Sie einen Screenshot eines kanonischen Genehmigungs-Flows.

Kanonischer Genehmigungsablauf

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, aber Sie können keine Lösungen bereitstellen, die Verbindungsverweise für OAuth-Verbindungen enthalten.

Führen Sie die folgenden Schritte aus, um die Bereitstellung als Pipeline-Phasenbesitzender durchzuführen.

  1. Weisen Sie die Sicherheitsrolle " Bereitstellungspipelineadministrator " dem Besitzer der Pipelinestufe innerhalb des Pipelinehosts zu, und weisen Sie die Sicherheitsrolle "Systemadministrator " in Zielumgebungen zu.

    Sicherheitsrollen mit niedrigeren Berechtigungen können keine Plug-Ins und andere Codekomponenten bereitstellen.

  2. Als Pipeline-Phasenbesitzender anmelden. Nur der Besitzer kann diese Einstellungen aktivieren oder ändern. Die Inhaberschaft eines Teams ist nicht zulässig.

  3. Wählen Sie für eine Pipeline-Phase Ist eine delegierte Bereitstellung und dann Phasenbesitzer aus.

    • Die Identität des Besitzers der Pipeline-Phase wird für alle Bereitstellungen für diese Phase verwendet.
    • Ebenso muss diese Identität zum Genehmigen von Bereitstellungen verwendet werden.
  4. Erstellen Sie einen Cloud-Flow in einer Lösung innerhalb der Pipeline-Host-Umgebung

    1. Wählen Sie den Auslöser OnApprovalStarted aus.
    2. Fügen Sie nach Bedarf Aktionen ein. Beispielsweise eine Genehmigung.
    3. Fügen Sie Dataverse Eine ungebundene Aktion ausführen hinzu.
      Aktionsname: UpdateApprovalStatus (20 = abgeschlossen, 30 = abgelehnt)

Beispiele für delegierte Bereitstellung

Wichtig

Das Produkt unterstützt jetzt nativ die in diesen Beispielen gezeigte Funktionalität, aber diese Beispiele können Hinweise darauf geben, wie die native Freigabefunktionalität erweitert werden kann.

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. Anschließend können Sie die Lösung an die Anforderungen Ihrer Organisation anpassen.

Häufig gestellte Fragen

Wie können Maker auf bereitgestellte Objekte innerhalb von Zielumgebungen zugreifen?

Das Teilen bei der Bereitstellung ist eine nativ unterstützte Funktion delegierter Bereitstellungen mit Dienstprinzipalen. Mit dieser Funktion ist es für Administratoren nicht mehr erforderlich, Sicherheitsrollen manuell zuzuweisen und bereitgestellte Apps, Flows, Copilots und andere Objekte im Power Platform Admin Center freizugeben. Stattdessen müssen Administratoren nur die Bereitstellungsanfrage genehmigen, und das System übernimmt die Freigabe automatisch.

Welche Objekttypen können während der Bereitstellung geteilt werden?

Derzeit unterstützt das System die Freigabe von Sicherheitsrollen, Canvas-Apps und Cloudflüssen. Je nach Region ist Copilot Freigabe möglicherweise auch verfügbar.

Kann ich die Freigabe aktualisieren, wenn neue Versionen bereitgestellt werden?

Die Freigabe ist verfügbar, wenn ein Objekt erstmals in der Zielumgebung bereitgestellt wird. Sie können die Freigabe nicht aktualisieren, 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?

Pipelines weisen die mindestberechtigungen zu, die zum Ausführen von Apps und Flüssen erforderlich sind. Wenn Sie höhere Berechtigungen benötigen, können Sie Pipelines erweitern. Es wird empfohlen, das Feature " Nicht verwaltete Anpassungen blockieren" beim Zuweisen höherer Berechtigungen zu aktivieren.

Können Ersteller mit einzelnen Benutzern teilen?

Derzeit nicht. Wir empfehlen die Verwaltung des einzelnen Benutzerzugriffs über Sicherheitsgruppen nach der ersten Bereitstellung des Objekts.

Ich erhalte eine Fehlermeldung Die Bereitstellungsstufe ist kein Besitzer des Dienstprinzipals (<AppId>). Nur Besitzer des Dienstprinzipals dürfen ihn für delegierte Bereitstellungen verwenden.

Stellen Sie sicher, dass Sie der Besitzer der Enterprise-Anwendung (Dienstprinzipal) in Microsoft Entra ID (früher Azure AD) sind. Möglicherweise sind Sie der Besitzer der App-Registrierung, aber nicht die Enterprise-Anwendung.

Unternehmensanwendungen

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 Benutzer anmelden, den Sie als Besitzer der Pipelinestufe festgelegt haben. Diese Anforderung verhindert das Hinzufügen eines Nichtkonsensierers als Bereitstellungsbenutzer.

Kann ich für vom Phasenbesitzer delegierte Bereitstellungen eine benutzerdefinierte DeploymentSettings.json-Datei verwenden?

Derzeit nicht im Maker-Bereich.

Warum hängen meine delegierten Bereitstellungen im Status „Ausstehend“ fest?

Alle delegierten Bereitstellungen bleiben ausstehend, bis sie genehmigt werden. Stellen Sie sicher, dass Ihr Administrator einen Power Automate Genehmigungsfluss oder eine andere Automatisierung konfiguriert, dass er ordnungsgemäß funktioniert und dass die Bereitstellung genehmigt wurde.

Wem gehören bereitgestellte Lösungsobjekte?

Die bereitstellende Identität. Bei delegierten Bereitstellungen ist der Besitzer der delegierte Dienstprinzipal oder der Besitzer der Pipelinephase.

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 Besitzer des Dienstprinzipals sein?

Diese Anforderung wird aus Sicherheitsgründen erzwungen. Sie können auch Pipelines mithilfe eines Dienstkontos erstellen und dasselbe Dienstkonto wie der Besitzer hinzufügen. Eine weitere Möglichkeit besteht darin, den Dienstprinzipal (Anwendungsbenutzer) in Microsoft Entra als Besitzer der Pipelinephase und als eigenen Besitzer der Unternehmensanwendung festzulegen. 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 Genehmigungen in Power Automate verwenden, stellen Sie sicher, dass diese Aktion so konfiguriert ist, dass die Verbindung des delegierten Dienstprinzipals verwendet wird.

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 Besitzer der Pipelinephase aufgerufen wird. Wenn Sie Genehmigungen in Power Automate verwenden, stellen Sie sicher, dass diese Aktion so konfiguriert ist, dass die Verbindung des delegierten Besitzers der Pipelinephase verwendet wird.

Ich erhalte eine Fehlermeldung in meinem Genehmigungsablauf: Das Attribut für den Genehmigungsstatus für den Datensatz der Phasenausführung konnte nicht gefunden werden.

Dieser Fehler tritt auf, wenn sich der Genehmigungsstatus nicht im Status „Ausstehend“ befindet. Stellen Sie sicher, dass Sie eine delegierte Bereitstellung verwenden und dass Sie in Ihrem Genehmigungsworkflow den OnApprovalStarted Auslöser verwenden.

Kann ich unterschiedliche Dienstprinzipale für unterschiedliche Pipelines und Phasen verwenden?

Ja