Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Vid körning kan varje jobb i en pipeline komma åt andra resurser i Azure DevOps. Ett jobb kan till exempel:
- Kolla in källkod från en Git-lagringsplats
- Lägga till en tagg på lagringsplatsen
- Få åtkomst till en feed i Azure Artifacts
- Ladda upp loggar från agenten till tjänsten
- Ladda upp testresultat och andra artefakter från agenten till tjänsten
- Uppdatera ett arbetsobjekt
Azure Pipelines använder jobbåtkomsttoken för att utföra dessa uppgifter. En jobbåtkomsttoken är en säkerhetstoken som genereras dynamiskt av Azure Pipelines för varje jobb vid körning. Agenten som jobbet körs på använder jobbåtkomsttoken för att få åtkomst till dessa resurser i Azure DevOps. Du kan styra vilka resurser din pipeline har åtkomst till genom att styra hur behörigheter beviljas för jobbåtkomsttoken.
Tokens behörigheter härleds från (a) jobbauktoriseringsomfång och (b) de behörigheter som du har angett för projekt- eller samlingsversionstjänstkontot.
Omfång för jobbauktorisering
Du kan ange att jobbauktoriseringsomfånget ska vara samling eller projekt. Genom att ange omfånget till samlingväljer du att låta pipelines komma åt alla lagringsplatser i samlingen eller organisationen. Genom att ange omfånget till projektväljer du att begränsa åtkomsten till endast de lagringsplatser som finns i samma projekt som pipelinen.
Omfattningen av jobbehörighet kan ställas in för hela Azure DevOps-organisationen eller för ett specifikt projekt.
Anmärkning
I Azure DevOps Server 2020 Begränsa jobbauktoriseringsomfånget för aktuellt projekt gäller endast YAML-pipelines och klassiska byggpipelines. Den gäller inte för klassiska versionspipelines. Klassiska versionspipelines körs alltid med projektsamlingsomfång.
Så här anger du omfånget för jobbauktorisering för organisationen:
- Gå till sidan organisationsinställningar i Användargränssnittet för Azure DevOps.
- Välj Inställningar under Pipelines.
- Aktivera Begränsa omfånget för jobbauktorisering till aktuellt projekt för att begränsa omfånget till projektet. Det här är den rekommenderade inställningen eftersom det förbättrar säkerheten för dina pipelines.
Så här anger du jobbauktoriseringsomfång för ett visst projekt:
- Gå till sidan projektinställningar i Azure DevOps-användargränssnittet.
- Välj Inställningar under Pipelines.
- Aktivera Begränsa omfånget för jobbauktorisering till aktuellt projekt för att begränsa omfånget till projektet. Det här är den rekommenderade inställningen eftersom det förbättrar säkerheten för dina pipelines.
- Om du vill ange omfång för jobbauktorisering på organisationsnivå för alla projekt väljer du Organisationsinställningar>Pipelines>Inställningar.
- Om du vill ange jobbauktoriseringsomfång för ett visst projekt väljer du Projektinställningar>Pipelines>Inställningar.
Aktivera en eller flera av följande inställningar. Du rekommenderas att aktivera de här inställningarna eftersom det förbättrar säkerheten för dina pipelines.
- Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte släpps – Den här inställningen gäller för YAML-pipelines och klassiska byggpipelines och gäller inte för klassiska versionspipelines.
- Begränsa omfånget för jobbauktorisering till aktuellt projekt för versionspipelines – Den här inställningen gäller endast för klassiska versionspipelines .
Anmärkning
Om omfånget är inställt på projekt på organisationsnivå kan du inte ändra omfånget i varje projekt.
Viktigt!
Om omfånget inte är begränsat på organisations- eller projektnivå får varje jobb i YAML-pipelinen en åtkomsttoken för samlingsomfång. Med andra ord har din pipeline åtkomst till valfri lagringsplats i alla projekt i din organisation. Om en angripare kan få åtkomst till en enda pipeline i ett enda projekt kan de få åtkomst till valfri lagringsplats i organisationen. Därför rekommenderar vi att du begränsar omfånget på högsta nivå (organisationsinställningar) för att begränsa attacken till ett enda projekt.
Anmärkning
Om din pipeline finns i ett offentligt projektbegränsas omfånget för jobbauktorisering automatiskt till projekt oavsett vad du konfigurerar i någon inställning. Jobb i ett offentligt projekt kan komma åt resurser som att skapa artefakter eller testa resultat endast inom projektet och inte från andra projekt i organisationen.
Begränsa omfånget för jobbauktorisering till refererade Azure DevOps-lagringsplatser
Utöver de inställningar för jobbauktoriseringsomfång som beskrivs i föregående avsnitt tillhandahåller Azure Pipelines ett Begränsa jobbauktoriseringsomfånget till refererade Azure DevOps-lagringsplatser inställning.
Pipelines kan komma åt alla Azure DevOps-lagringsplatser i auktoriserade projekt om inte Begränsa omfånget för jobbauktorisering till refererade Azure DevOps-lagringsplatser är aktiverat. Med det här alternativet aktiverat kan du minska åtkomstomfånget för alla pipelines till endast Azure DevOps-lagringsplatser som uttryckligen refereras till med ett checkout
steg eller en uses
instruktion i pipelinejobbet som använder lagringsplatsen.
Mer information finns i Azure Repos Git-lagringsplatser – Begränsa omfånget för jobbauktorisering till refererade Azure DevOps-lagringsplatser.
Skydda åtkomsten till lagringsplatser i YAML-pipelines
Utöver de inställningar för jobbauktoriseringsomfång som beskrivs i föregående avsnitt tillhandahåller Azure Pipelines en Skydda åtkomst till lagringsplatser i YAML-pipelines inställning.
Pipelines kan komma åt alla Azure DevOps-lagringsplatser i auktoriserade projekt om inte Skydda åtkomst till lagringsplatser i YAML-pipelines är aktiverat. Med det här alternativet aktiverat kan du minska åtkomstomfånget för alla pipelines till endast Azure DevOps-lagringsplatser som uttryckligen refereras till med ett checkout
steg eller en uses
instruktion i pipelinejobbet som använder lagringsplatsen.
Mer information finns i Azure Repos Git-lagringsplatser – Skydda åtkomsten till lagringsplatser i YAML-pipelines.
Viktigt!
Skydda åtkomsten till lagringsplatser i YAML-pipelines är aktiverad som standard för nya organisationer och projekt som skapats efter maj 2020.
Begränsade byggidentiteter
Azure DevOps använder två inbyggda identiteter för att köra pipelines.
- En samlingsomfångad identitet, som har åtkomst till alla projekt i samlingen (eller organisationen för Azure DevOps Services)
- En projektomfattande identitet, som har åtkomst till ett enda projekt
Dessa identiteter är allokerade behörigheter som krävs för att utföra körningstidsaktiviteter för build/release när du anropar tillbaka till Azure DevOps-systemet. Det finns inbyggda standardbehörigheter och du kan också hantera dina egna behörigheter efter behov.
Den samlingsomfångade identiteten namn har följande format:
Project Collection Build Service ({OrgName})
- Om organisationsnamnet till exempel är
fabrikam-tailspin
har det här kontot namnetProject Collection Build Service (fabrikam-tailspin)
.
Den projektomfattande identiteten namn har följande format:
{Project Name} Build Service ({Org Name})
- Om organisationsnamnet till exempel är
fabrikam-tailspin
och projektnamnet ärSpaceGameWeb
har det här kontot namnetSpaceGameWeb Build Service (fabrikam-tailspin)
.
Som standard används den samlingsomfattningsbaserade identiteten, om inte annat konfigureras enligt beskrivningen i föregående omfång för jobbauktorisering avsnittet.
Hantera behörigheter för byggtjänstkonto
Ett resultat av att ställa in projektomfattande åtkomst kan vara att den projektomfattande identiteten kanske inte har behörighet till en resurs som den samlingsomfångade identiteten hade.
Du kanske vill ändra behörigheterna för jobbåtkomsttoken i scenarier som följande:
- Du vill att pipelinen ska komma åt en feed som finns i ett annat projekt.
- Du vill att din pipeline ska begränsas från att ändra kod på lagringsplatsen.
- Du vill att din pipeline ska begränsas från att skapa arbetsobjekt.
Så här uppdaterar du behörigheterna för jobbåtkomsttoken:
Bestäm först omfånget för jobbauktorisering för din pipeline. Se avsnittet ovan för att förstå omfånget för jobbauktorisering. Om jobbauktoriseringsomfånget är samlingär motsvarande build service-konto för att hantera behörigheter Project Collection Build Service (ditt samlingsnamn). Om omfånget för jobbauktorisering är projektär det byggtjänstkonto som du ska hantera behörigheter på Byggtjänst för ditt projektnamn (ditt samlingsnamn).
Begränsa eller bevilja ytterligare åtkomst till Project Collection Build Service (ditt samlingsnamn):
- Välj Hantera i spillmenyn på sidan Pipelines.
- Under Användareväljer du Project Collection Build Service (ditt samlingsnamn).
- Gör ändringar i de pipelines-relaterade behörigheterna för det här kontot.
- Gå till organisationsinställningar för din Azure DevOps-organisation (eller samlingsinställningar för din projektsamling).
- Välj Behörigheter under Säkerhet.
- Under fliken Användare letar du efter Project Collection Build Service (ditt samlingsnamn).
- Gör ändringar i de icke-pipelines-relaterade behörigheterna för det här kontot.
- Eftersom Project Collection Build Service (ditt samlingsnamn) är en användare i din organisation eller samling, kan du uttryckligen lägga till det här kontot i valfri resurs , t.ex. i ett flöde i Azure Artifacts.
Om du vill begränsa eller bevilja ytterligare åtkomst till Build Service för ditt projektnamn (ditt samlingsnamn):
- Det byggtjänstkonto som du kan hantera behörigheter på skapas bara när du har kört pipelinen en gång. Kontrollera att du redan har kört pipelinen en gång.
- Välj Hantera i spillmenyn på sidan Pipelines.
- Under Användareväljer du Din projektnamnsversionstjänst (ditt samlingsnamn).
- Gör ändringar i de pipelines-relaterade behörigheterna för det här kontot.
- Gå till organisationsinställningar för din Azure DevOps-organisation (eller samlingsinställningar för din projektsamling).
- Välj Behörigheter under Säkerhet.
- Under fliken Användare letar du efter Byggtjänst för ditt projektnamn (ditt samlingsnamn).
- Gör ändringar i de icke-pipelines-relaterade behörigheterna för det här kontot.
- Eftersom Build Service för ditt projektnamn (ditt samlingsnamn) är en användare i din organisation eller samling kan du uttryckligen lägga till det här kontot i valfri resurs , t.ex. i en feed i Azure Artifacts.
Konfigurera behörigheter för ett projekt för åtkomst till ett annat projekt i samma projektsamling
I det här exemplet beviljas den fabrikam-tailspin/SpaceGameWeb
projektomfattande byggidentiteten behörighet att komma åt fabrikam-tailspin/FabrikamFiber
projektet.
I projektet FabrikamFiber navigerar du till Project-inställningar, Behörigheter.
Skapa en ny grupp med namnet externa projekt och lägg till SpaceGameWeb Build Service-kontot.
Välj Användare, börja skriva in namnet SpaceGameWeboch välj SpaceGameWeb Build Service-kontot. Om du inte ser några sökresultat från början väljer du Expandera sökning.
Ge Visa information på projektnivå behörighet för användaren.
Exempel – Konfigurera behörigheter för att komma åt en annan lagringsplats i samma projektsamling
I det här exemplet beviljas den fabrikam-tailspin/SpaceGameWeb
projektomfattande byggidentiteten behörighet att komma åt FabrikamFiber
-lagringsplatsen i fabrikam-tailspin/FabrikamFiber
-projektet.
Följ stegen för att ge
SpaceGameWeb
byggidentitet med projektomfattning behörighet att komma åtFabrikamFiber
projekt.I projektet FabrikamFiber navigerar du till Project-inställningar, Repositories, FabrikamFiber.
Välj ikonen +, börja skriva in namnet SpaceGameWeboch välj SpaceGameWeb Build Service-kontot.
Börja skriva in namnet SpaceGameWeboch välj SpaceGameWeb Build Service-kontot.
Bevilja Läs behörigheter för den användaren.
Exempel – Konfigurera behörigheter för åtkomst till andra resurser i samma projektsamling
I det här exemplet beviljas den fabrikam-tailspin/SpaceGameWeb
projektomfattande byggidentiteten behörighet att komma åt andra resurser i fabrikam-tailspin/FabrikamFiber
projektet.
Följ stegen för att ge
SpaceGameWeb
byggidentitet med projektomfattning behörighet att komma åtFabrikamFiber
projekt.Konfigurera önskade behörigheter för den användaren.
Vanliga frågor
Hur avgör jag omfånget för jobbauktorisering för min YAML-pipeline?
- Om projektet är ett offentligt projekt är omfånget för jobbauktorisering alltid projekt oavsett andra inställningar.
- Kontrollera pipelineinställningarna under inställningarna för Azure DevOps Organisation:
- Om Begränsa jobbauktoriseringsomfånget till aktuellt projekt är aktiverat är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till aktuellt projekt inte är aktiverat kontrollerar du inställningarna för Pipeline under dina Project-inställningar i Azure DevOps:
- Om Begränsa jobbauktoriseringsomfånget till aktuellt projekt är aktiverat är omfånget projekt.
- Annars är omfånget samling.
- Om pipelinen finns i ett privat projekt kontrollerar du inställningarna för Pipeline under dina Inställningar för Azure DevOps Organisation:
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte har släppts är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte släpps inte är aktiverat kontrollerar du inställningarna för Pipeline under dina Project-inställningar i Azure DevOps:
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte har släppts är omfånget projekt.
- Annars är omfånget samling.
Hur avgör jag omfånget för jobbauktorisering för min klassiska bygg-pipeline?
- Om pipelinen finns i ett offentligt projekt är omfånget för jobbauktorisering projekt oavsett andra inställningar.
- Kontrollera pipelineinställningarna under inställningarna för Azure DevOps Organisation:
- Om Begränsa jobbauktoriseringsomfånget till aktuellt projekt är aktiverat är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till aktuellt projekt inte är aktiverat kontrollerar du inställningarna för Pipeline under dina Project-inställningar i Azure DevOps:
- Om Begränsa jobbauktoriseringsomfånget till aktuellt projekt är aktiverat är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till aktuellt projekt inte är aktiverat öppnar du redigeraren för pipelinen och går till fliken Alternativ.
- Om Build-jobbets auktoriseringsomfång är Aktuellt projektär omfånget projekt.
- Annars är omfånget samling.
- Om pipelinen finns i ett privat projekt kontrollerar du inställningarna för Pipeline under dina Inställningar för Azure DevOps Organisation:
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte har släppts är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte släpps inte är aktiverat kontrollerar du inställningarna för Pipeline under dina Project-inställningar i Azure DevOps:
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte har släppts är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för pipelines som inte är släppt inte är aktiverat öppnar du redigeraren för pipelinen och går till fliken Alternativ.
- Om Build-jobbets auktoriseringsomfång är Aktuellt projektär omfånget projekt.
- Annars är omfånget samling.
När du skapar en ny klassisk pipeline är jobbauktoriseringsomfånget inställt på aktuella projekt och omfånget skapa jobbauktorisering anges till projekt som standard.
Hur avgör jag omfånget för jobbauktorisering för min klassiska versionspipeline?
Klassiska versionspipelines i Azure DevOps Server 2020 och nedan körs med samling omfattning.
- Om pipelinen finns i ett offentligt projekt är omfånget för jobbauktorisering projekt oavsett andra inställningar.
- Om pipelinen finns i ett privat projekt kontrollerar du inställningarna för Pipeline under dina Inställningar för Azure DevOps Organisation:
- Om Begränsa jobbauktoriseringsomfånget till det aktuella projektet för versionspipelines är aktiverat är omfånget projekt.
- Om Begränsa omfånget för jobbauktorisering till det aktuella projektet för versionspipelines inte är aktiverat kontrollerar du pipelineinställningarna under dina Project-inställningar i Azure DevOps:
- Om Begränsa jobbauktoriseringsomfånget till det aktuella projektet för versionspipelines är aktiverat är omfånget projekt.
- Annars är omfånget samling.