Pijplijnen implementeren als service-principal of eigenaar van de pijplijn

U kunt gedelegeerde implementaties uitvoeren als service-principal of als fase-eigenaar van de pijplijn. Wanneer u deze functie inschakelt, wordt de pijplijnfase uitgevoerd namens de gemachtigde (service-principal of eigenaar van de pijplijnfase) in plaats van de aanvragende maker.

Implementeren met een service-principal

Vereisten

  • Een Microsoft Entra-gebruikersaccount Als u er geen heeft, kunt u gratis een account maken.
  • Een van de volgende Microsoft Entra-rollen: Cloud Application Administrator, of Application Administrator.
  • U moet eigenaar zijn van de ondernemingstoepassing (service-principal) in Microsoft Entra ID.

Volg deze stappen voor een gedelegeerde implementatie met een service-principal.

  1. Maak een ondernemingstoepassing (service-principal) in Microsoft Entra ID.

    Belangrijk

    Iedereen die service-principal-configuraties in pijplijnen inschakelt of wijzigt, moet eigenaar zijn van de ondernemingstoepassing (service-principal) in Microsoft Entra ID.

  2. Voeg de ondernemingstoepassing toe als server-naar-server-gebruiker (S2S) in uw pijplijnhostomgeving en elke doelomgeving waarin deze wordt geïmplementeerd.

  3. Wijs de beveiligingsrol Beheerder van implementatiepipeline toe aan de S2S-gebruiker binnen de pijplijnhost, en de beveiligingsrol Systeembeheerder binnen doelomgevingen. Beveiligingsrollen met lagere rechten kunnen geen invoegtoepassingen en andere codeonderdelen implementeren.

  4. Kies (vink aan) Is gedelegeerde implementatie in een pijplijnfase, selecteer Service-principal en voer de client-id in. Selecteer Opslaan.

  5. U kunt optioneel Aanvragen voor delen toestaan, zodat aanvragers van implementaties kunnen opgeven welke beveiligingsgroepen toegang hebben tot geïmplementeerde objecten binnen de doelomgeving. Verzoeken om te delen maken deel uit van de implementatieaanvraag en kunnen worden goedgekeurd of afgewezen.

Belangrijk

Implementatiegoedkeurders zijn verantwoordelijk voor het zorgvuldig controleren van informatie over delen en beveiligingsrollen. Wanneer een implementatie wordt goedgekeurd, wijst Pipelines automatisch machtigingen toe met de identiteit van de implementerende service-principal.
>

  1. Maak een cloudflow in de hostomgeving voor pijplijnen. Alternatieve systemen kunnen worden geïntegreerd met behulp van Microsoft Dataverse-API's van pijplijnen.

  2. Selecteer de trigger OnApprovalStarted.

  3. Voeg stappen toe voor uw gewenste aangepaste logica.

  4. Voeg een goedkeuringsstap in. Gebruik dynamische inhoud voor het verzenden van informatie over implementatieaanvragen naar de goedkeurder(s).

  5. Voeg een voorwaarde in.

  6. Maak een Dataverse-verbinding voor de service-principal. U hebt een klant-id en -geheim nodig.

  7. Voeg Dataverse Een ongebonden actie uitvoeren uit met behulp van de hier weergegeven instellingen.
    Naam van actie: UpdateApprovalStatus Goedkeuringsopmerkingen: Dynamische inhoud invoegen. Opmerkingen zijn zichtbaar voor de aanvrager van de implementatie. ApprovalStatus: 20 = goedgekeurd, 30 = afgewezen ApprovalProperties: Dynamische inhoud invoegen. Beheerdersinformatie toegankelijk vanuit de pijplijnhost.

    Belangrijk

    De actie UpdateApprovalStatus moet gebruikmaken van de verbinding van de service-principal.

    Verbinding maken met service principal

    Tip

    Om de foutopsporingservaring te verbeteren, selecteert u ApprovalProperties en voegt u werkstroom() in het menu dynamische inhoud toe. Zo verbindt u de stroomuitvoering met de pipelijnfase-uitvoering (uitvoeringsgeschiedenis).

  8. Sla op en test vervolgens de pijplijn.

Hier volgt een schermopname van een canonieke goedkeuringsstroom.

Standaardgoedkeuringsproces

Implementeren als eigenaar van de pijplijnfase

Vaste gebruikers, inclusief degenen die als serviceaccounts worden gebruikt, kunnen ook als afgevaardigden optreden. Configuratie is eenvoudiger in vergelijking met service-principals, maar u kunt geen oplossingen implementeren die verbindingsverwijzingen voor OAuth-verbindingen bevatten.

Volg deze stappen om te implementeren als eigenaar van de pijplijnfase.

  1. Wijs de beveiligingsrol Deployment Pipeline Administrator toe aan de eigenaar van de pijplijnfase binnen de pijplijnhost en wijs de beveiligingsrol Systeembeheerder toe binnen doelomgevingen.

    Beveiligingsrollen met lagere rechten kunnen geen invoegtoepassingen en andere codeonderdelen implementeren.

  2. Meld u aan als eigenaar van de fase van de pijplijn. Alleen de eigenaar kan deze instellingen inschakelen of wijzigen. Teameigendom is niet toegestaan.

  3. Selecteer Is gedelegeerde implementatie voor een pijplijnfase en vervolgens Eigenaar van fase.

    • De identiteit van de eigenaar van de pipelinefase wordt gebruikt voor alle implementaties tot deze fase.
    • Op dezelfde manier moet deze identiteit worden gebruikt om implementaties goed te keuren.
  4. Maak een cloudstroom in een oplossing binnen de omgeving van de pijplijnhost.

    1. Selecteer de trigger OnApprovalStarted.
    2. Voeg naar wens acties in. Bijvoorbeeld, een goedkeuring.
    3. Voeg Dataverse Een ongebonden actie uitvoeren toe.
      Actienaam: UpdateApprovalStatus (20 = voltooid, 30 = afgewezen)

Voorbeelden van gedelegeerde implementatie

Belangrijk

Het product biedt nu systeemeigen ondersteuning voor de functionaliteit die in deze voorbeelden wordt geboden, maar deze voorbeelden bieden mogelijk inzicht in het uitbreiden van systeemeigen functionaliteit voor delen.

Deze download bevat voorbeeldcloudstromen voor het beheren van goedkeuringen en het delen van geïmplementeerde canvas-apps en -stromen binnen de doelomgeving. Voorbeeldoplossing downloaden

Download en importeer de beheerde oplossing in uw pijplijn-hostomgeving. Vervolgens kunt u de oplossing aanpassen aan de behoeften van uw organisatie.

Veelgestelde vragen

Hoe kunnen makers toegang krijgen tot geïmplementeerde objecten binnen doelomgevingen?

Delen tijdens implementatie is een ingebouwde functie van gedelegeerde implementaties met serviceprincipals. Met deze mogelijkheid hoeven beheerders geen beveiligingsrollen handmatig toe te wijzen en geïmplementeerde apps, stromen, Copilots en andere objecten in het Power Platform-beheercentrum te delen. In plaats daarvan hoeven beheerders alleen de implementatieaanvraag goed te keuren en het systeem verwerkt het delen automatisch.

Welke objecttypen kunnen tijdens de implementatie worden gedeeld?

Op dit moment biedt het systeem ondersteuning voor het delen van beveiligingsrollen, canvas-apps en cloudstromen. Afhankelijk van uw regio is Copilot delen mogelijk ook beschikbaar.

Kan ik Delen bijwerken wanneer er nieuwe versies worden geïmplementeerd?

Delen is beschikbaar zodra een object voor het eerst wordt geïmplementeerd in de doelomgeving. U kunt delen niet bijwerken wanneer nieuwe versies worden geïmplementeerd. Zorg ervoor dat u tijdens de eerste implementatie een geschikte beveiligingsgroep selecteert. Doorlopende toegang beheren via beveiligingsgroepen.

Welke machtigingen zijn toegewezen voor canvas-apps en workflows?

Pipelines kennen de minimale machtigingen toe die vereist zijn om apps en flows uit te voeren. Als u hogere bevoegdheden wilt, kunt u pijplijnen uitbreiden. U wordt aangeraden de functie Niet-beheerde aanpassingen blokkeren in te schakelen wanneer u hogere machtigingen toewijst.

Kunnen makers delen met individuele gebruikers?

Momenteel niet. We raden u aan om afzonderlijke gebruikerstoegang te beheren via beveiligingsgroepen na de eerste implementatie van het object.

Ik krijg een foutmelding De implementatiefase is geen eigenaar van de service-principal (<AppId>). Alleen eigenaren van de service-principal mogen deze gebruiken voor gedelegeerde implementaties.

Zorg ervoor dat u de eigenaar bent van de Ondernemingstoepassing (service-principal) in Microsoft Entra ID (voorheen Azure AD). Mogelijk bent u de eigenaar van de app-registratie, maar niet de bedrijfstoepassing.

Ondernemingstoepassingen

Waarom kan ik voor op fase-eigenaar gebaseerde gedelegeerde implementaties geen andere gebruiker toewijzen als implementeerder?

Om veiligheidsredenen moet u zich aanmelden als de gebruiker die u hebt ingesteld als eigenaar van de pijplijnfase. Deze vereiste voorkomt het toevoegen van een niet-consenterende gebruiker als de deployer.

Kan ik voor op de fase-eigenaar gebaseerde gedelegeerde implementaties een aangepast DeploymentSettings.json-bestand gebruiken?

Momenteel niet beschikbaar binnen de maker-ervaring.

Waarom blijven mijn gedelegeerde implementaties in de status 'In behandeling' hangen?

Alle gedelegeerde implementaties blijven in behandeling totdat ze zijn goedgekeurd. Zorg ervoor dat uw beheerder een Power Automate goedkeuringsstroom of andere automatisering configureert, of deze goed werkt en of de implementatie is goedgekeurd.

Wie is de eigenaar van geïmplementeerde oplossingsobjecten?

De implementerende identiteit. Voor gedelegeerde implementaties is de eigenaar de gedelegeerde service-principal of eigenaar van de pipelinefase.

Kan ik aangepaste goedkeuringsstappen toevoegen?

Ja. Zo kunnen bijvoorbeeld Power Automate-goedkeuringen worden aangepast aan de behoeften van uw organisatie. Mogelijk integreert u ook andere goedkeuringssystemen.

Waarom moet ik de eigenaar zijn van de service-principal?

Deze vereiste wordt om veiligheidsredenen afgedwongen. U kunt ook pijplijnen maken met behulp van een serviceaccount en hetzelfde serviceaccount toevoegen als de eigenaar. Een andere optie is om de service-principal (applicatiegebruiker) toe te wijzen als eigenaar van de pipelinefase en als eigenaar van zichzelf (de Enterprise-toepassing) in Microsoft Entra. Het eigenaarschap van een pijplijnfase toewijzen aan een toepassing moet echter via de Dataverse API in de pijplijnhost gebeuren.

Ik krijg een foutmelding Gemachtiged implementaties van het type 'ServicePrincipal' kunnen alleen worden goedgekeurd of afgewezen door de service-principal die is geconfigureerd in de implementatiefase.

Zorg ervoor dat de aangepaste Dataverse-actie UpdateApprovalStatus wordt aangeroepen door de service-principal. Als u goedkeuringen in Power Automate gebruikt, moet u ervoor zorgen dat deze actie zo is geconfigureerd dat de verbinding van de gedelegeerde service-principal wordt gebruikt.

Ik krijg een foutmelding: Gedelegeerde implementaties van het type 'Eigenaar' kunnen alleen worden goedgekeurd of afgewezen door de eigenaar van de implementatiefase.

Zorg ervoor dat de aangepaste Dataverse-actie UpdateApprovalStatus wordt aangeroepen door de eigenaar van de pipelinefase. Als u Power Automate-goedkeuringen gebruikt, zorg er dan voor dat deze actie is geconfigureerd om de verbinding van de gemachtigde eigenaar van de pipelinefase te gebruiken.

Ik krijg een foutmelding in mijn goedkeuringsproces Kan het kenmerk goedkeuringsstatus niet vinden voor fase-uitvoeringsrecord.

Deze fout treedt op wanneer de goedkeuringsstatus niet de status 'In behandeling' heeft. Zorg ervoor dat u een gedelegeerde implementatie gebruikt en dat u de OnApprovalStarted trigger gebruikt in uw goedkeuringsstroom.

Kan ik verschillende service-principals gebruiken voor verschillende pipelines en fasen?

Ja.