Pijplijnresources

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Pipelines biedt beveiliging die verder gaat dan alleen het beveiligen van het YAML-bestand en de broncode. Wanneer YAML-pijplijnen worden uitgevoerd, gaat de toegang tot resources via een systeem dat controles wordt genoemd. Controles kunnen een pijplijnuitvoering onderbreken of zelfs mislukken om resources veilig te houden. Een pijplijn heeft toegang tot twee typen resources: beveiligd en open.

Beveiligde resources

Uw pijplijnen hebben vaak toegang tot geheimen. Als u bijvoorbeeld uw build wilt ondertekenen, hebt u een handtekeningcertificaat nodig. Als u wilt implementeren in een productieomgeving, hebt u een referentie voor die omgeving nodig. Azure Pipelines vereist de rol Beheerder bij het openen van toegang tot een resource voor alle pijplijnen voor alle beveiligde resources, met uitzondering van omgevingen. Voor Omgevingen hebt u de rol Maker nodig. Meer informatie over resourcebeveiliging.
In Azure Pipelines worden al het volgende beschouwd als beveiligde resources in YAML-pijplijnen:

"Beveiligd":

  • Ze kunnen toegankelijk worden gemaakt voor specifieke gebruikers en specifieke pijplijnen binnen het project. Ze zijn niet toegankelijk voor gebruikers en pijplijnen buiten een project.
  • U kunt andere handmatige of geautomatiseerde controles uitvoeren telkens wanneer een YAML-pijplijn een van deze resources gebruikt. Zie Over pijplijnresources voor meer informatie over beveiligde resources.

Opslagplaatsresources beveiligen

Opslagplaatsen kunnen desgewenst worden beveiligd. Op organisatie- of projectniveau kunt u ervoor kiezen om het bereik van het toegangstoken voor Azure Pipelines te beperken tot genoemde opslagplaatsen. Wanneer u dit doet, voegt Azure Pipelines nog twee beveiligingen toe:

  • Het toegangstoken dat aan de agent wordt gegeven voor het uitvoeren van taken, heeft alleen toegang tot opslagplaatsen die expliciet worden vermeld in de resources sectie van de pijplijn.
  • Opslagplaatsen die aan de pijplijn worden toegevoegd, moeten worden geautoriseerd door iemand met een bijdragetoegang tot de opslagplaats de eerste keer dat de pijplijn de opslagplaats gebruikt.

Deze instelling is standaard ingeschakeld voor alle organisaties die na mei 2020 zijn gemaakt. Organisaties die eerder zijn gemaakt, moeten deze inschakelen in Organisatie-instellingen.

Resources openen

Alle andere resources in een project worden beschouwd als open resources. Open resources zijn onder andere:

  • Artifacts
  • Pipelines
  • Testplannen
  • Werkitems

Meer informatie over welke pijplijnen toegang hebben tot welke resources vindt u in de sectie over projecten.

Gebruikersmachtigingen

De eerste verdedigingslinie voor beveiligde resources is gebruikersmachtigingen. Zorg er in het algemeen voor dat u alleen machtigingen verleent aan gebruikers die ze nodig hebben. Alle beveiligde resources hebben een vergelijkbaar beveiligingsmodel. Een lid van de gebruikersrol voor een resource kan het volgende doen:

  • Fiatteurs en controles verwijderen die zijn geconfigureerd voor die resource
  • Andere gebruikers of pijplijnen toegang verlenen om die resource te gebruiken

Schermopname van gebruikersmachtigingen voor pijplijnen

Pijplijnmachtigingen

Wanneer u YAML-pijplijnen gebruikt, zijn gebruikersmachtigingen niet voldoende om uw beveiligde resources te beveiligen. U kunt eenvoudig de naam van een beveiligde resource kopiëren (bijvoorbeeld een serviceverbinding voor uw productieomgeving) en deze opnemen in een andere pijplijn. Pijplijnmachtigingen beschermen tegen dergelijk kopiëren. Zorg ervoor dat u voor elk van de beveiligde resources de optie voor het verlenen van toegang tot 'alle pijplijnen' hebt uitgeschakeld. In plaats daarvan verleent u expliciet toegang tot specifieke pijplijnen die u vertrouwt.

Schermopname van pijplijnmachtigingen

Controles

In YAML is een combinatie van gebruikers- en pijplijnmachtigingen niet voldoende om uw beveiligde resources volledig te beveiligen. Pijplijnmachtigingen voor resources worden verleend aan de hele pijplijn. Niets voorkomt dat een kwaadwillende persoon een andere vertakking in uw opslagplaats maakt, schadelijke code injecteert en dezelfde pijplijn gebruikt om toegang te krijgen tot die resource. Zelfs zonder kwaadwillende bedoelingen hebben de meeste pijplijnen een tweede set ogen nodig om wijzigingen (met name in de pijplijn zelf) te bekijken voordat ze in productie worden geïmplementeerd. Met controles kunt u de pijplijnuitvoering onderbreken tot aan bepaalde voorwaarden is voldaan:

  • Handmatige goedkeuringscontrole. Elke uitvoering die gebruikmaakt van een met een project beveiligde resource, wordt geblokkeerd voor handmatige goedkeuring voordat u doorgaat. Handmatige beveiliging biedt u de mogelijkheid om de code te controleren en ervoor te zorgen dat deze afkomstig is van de juiste vertakking.
  • Controle van beveiligde vertakking. Als u handmatige codebeoordelingsprocessen hebt voor sommige vertakkingen, kunt u deze beveiliging uitbreiden naar pijplijnen. Configureer een beveiligde vertakkingscontrole voor elk van uw resources. Hierdoor wordt de pijplijn automatisch niet meer uitgevoerd boven op alle gebruikerstakken.
  • Controle van beveiligde resources U kunt controles toevoegen aan omgevingen, serviceverbindingen, opslagplaatsen, variabelegroepen, agentgroepen, variabelegroepen en beveiligde bestanden om voorwaarden op te geven waaraan moet worden voldaan voordat een fase in een pijplijn een resource kan gebruiken. Meer informatie over controles en goedkeuringen.

Schermopname van het configureren van controles

Volgende stappen

Overweeg vervolgens hoe u resources in een projectstructuur groepeer.