Pipelineresurser

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

Azure Pipelines erbjuder säkerhet utöver att bara skydda YAML-filen och källkoden. När YAML-pipelines körs går åtkomsten till resurser via ett system som kallas kontroller. Kontroller kan pausa eller till och med misslyckas med en pipelinekörning för att skydda resurserna. En pipeline kan komma åt två typer av resurser, skyddade och öppna.

Skyddade resurser

Dina pipelines har ofta åtkomst till hemligheter. Om du till exempel vill signera bygget behöver du ett signeringscertifikat. Om du vill distribuera till en produktionsmiljö behöver du en autentiseringsuppgift för den miljön. Azure Pipelines kräver rollen Administratör när du öppnar åtkomst till en resurs för alla pipelines för alla skyddade resurser förutom miljöer. För Miljöer behöver du rollen Skapare . Läs mer om resursskydd.
I Azure Pipelines betraktas alla följande som skyddade resurser i YAML-pipelines:

"Skyddad" betyder:

  • De kan göras tillgängliga för specifika användare och specifika pipelines i projektet. De kan inte nås av användare och pipelines utanför ett projekt.
  • Du kan köra andra manuella eller automatiserade kontroller varje gång en YAML-pipeline använder någon av dessa resurser. Mer information om skyddade resurser finns i Om pipelineresurser.

Skydda lagringsplatsresurser

Lagringsplatser kan också skyddas. På organisations- eller projektnivå kan du välja att begränsa omfånget för åtkomsttoken för Azure Pipelines till nämnda lagringsplatser. När du gör detta lägger Azure Pipelines till ytterligare två skydd:

  • Den åtkomsttoken som ges till agenten för jobb som körs har endast åtkomst till lagringsplatser som uttryckligen anges i avsnittet i resources pipelinen.
  • Lagringsplatser som läggs till i pipelinen måste auktoriseras av någon med bidragsåtkomst till lagringsplatsen första gången pipelinen använder lagringsplatsen.

Den här inställningen är aktiverad som standard för alla organisationer som skapats efter maj 2020. Organisationer som skapats tidigare bör aktivera det i Organisationsinställningar.

Öppna resurser

Alla andra resurser i ett projekt betraktas som öppna resurser. Öppna resurser:

  • Artifacts
  • Pipelines
  • Testplaner
  • Arbetsobjekt

Du får lära dig mer om vilka pipelines som kan komma åt vilka resurser i avsnittet om projekt.

Användarbehörigheter

Den första försvarslinjen för skyddade resurser är användarbehörigheter. I allmänhet ser du till att du bara ger behörigheter till användare som behöver dem. Alla skyddade resurser har en liknande säkerhetsmodell. En medlem i användarrollen för en resurs kan:

  • Ta bort godkännare och kontroller som konfigurerats för resursen
  • Bevilja åtkomst till andra användare eller pipelines för att använda den resursen

Skärmbild av användarbehörigheter för pipelines

Pipeline-behörigheter

När du använder YAML-pipelines räcker det inte med användarbehörigheter för att skydda dina skyddade resurser. Du kan enkelt kopiera namnet på en skyddad resurs (till exempel en tjänstanslutning för produktionsmiljön) och inkludera den i en annan pipeline. Pipelinebehörigheter skyddar mot sådan kopiering. För var och en av de skyddade resurserna kontrollerar du att du har inaktiverat alternativet att bevilja åtkomst till "alla pipelines". I stället beviljas uttryckligen åtkomst till specifika pipelines som du litar på.

Skärmbild av pipelinebehörigheter

Kontroller

I YAML räcker det inte med en kombination av användar- och pipelinebehörigheter för att skydda dina skyddade resurser fullständigt. Pipelinebehörigheter till resurser beviljas till hela pipelinen. Ingenting hindrar en angripare från att skapa en annan gren på lagringsplatsen, mata in skadlig kod och använda samma pipeline för att komma åt resursen. Även utan skadliga avsikter behöver de flesta pipelines en andra uppsättning ögon titta på ändringar (särskilt själva pipelinen) innan de distribueras till produktion. Med kontroller kan du pausa pipelinekörningen tills vissa villkor är uppfyllda:

  • Manuell godkännandekontroll. Varje körning som använder en projektskyddad resurs blockeras för ditt manuella godkännande innan du fortsätter. Med manuellt skydd kan du granska koden och se till att den kommer från rätt gren.
  • Kontroll av skyddad gren. Om du har manuella processer för kodgranskning för vissa av dina grenar kan du utöka det här skyddet till pipelines. Konfigurera en kontroll av en skyddad gren på var och en av dina resurser. Detta hindrar automatiskt din pipeline från att köras ovanpå användargrenar.
  • Skyddad resurskontroll Du kan lägga till kontroller i miljöer, tjänstanslutningar, lagringsplatser, variabelgrupper, agentpooler, variabelgrupper och säkra filer för att ange villkor som måste uppfyllas innan en fas i en pipeline kan använda en resurs. Läs mer om kontroller och godkännanden.

Skärmbild av konfiguration av kontroller

Nästa steg

Överväg sedan hur du grupperar resurser i en projektstruktur.