Dela via


Använda personliga åtkomsttoken

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

En personlig åtkomsttoken (PAT) fungerar som ett alternativt lösenord för autentisering till Azure DevOps. Denna PAT identifierar dig och bestämmer din tillgänglighet och åtkomstomfattning. Behandla PAT med samma försiktighetsnivå som lösenord.

Försiktighet

Undvik att använda PAT när en säkrare autentiseringsmetod är tillgänglig. PAT medför inneboende säkerhetsrisker eftersom de är långlivade autentiseringsuppgifter som kan läckas, stjälas eller missbrukas. Använd Microsoft Entra token, hanterade identiteter eller tjänstens huvudnamn i stället när det är möjligt.

När du använder Microsoft-verktyg identifieras och stöds ditt Microsoft-konto eller Microsoft Entra ID. Om du använder verktyg som inte stöder Microsoft Entra konton, eller om du föredrar att inte dela dina primära autentiseringsuppgifter, bör du överväga att använda PAT som en alternativ autentiseringsmetod.

Viktigt!

Överväg att använda säkrare Microsoft Entra token över personliga åtkomsttoken med högre risk. Mer information finns i Minska PAT-användningen. Läs autentiseringsvägledningen för att välja rätt autentiseringsmekanism för dina behov.

Tips/Råd

Du kan använd AI för att hjälpa till med den här uppgiften senare i den här artikeln, eller se Aktivera AI-hjälp med Azure DevOps MCP Server för att komma igång.

Förutsättningar

Kategori Krav
Behörigheter Behörighet att komma åt och ändra användarinställningarna där PAT hanteras.
– Gå till din profil och välj Användarinställningar>Personliga åtkomsttoken. Om du kan se och hantera dina PAT:er här har du de behörigheter som krävs.
– Gå till projektet och välj Project-inställningar>Behörigheter. Leta upp ditt användarkonto i listan och kontrollera de behörigheter som har tilldelats dig. Leta efter behörigheter som rör hantering av token eller användarinställningar.
– Om din organisation har principer på plats kan en administratör behöva ge dig specifika behörigheter eller lägga till dig i en lista över tillåtna för att skapa och hantera PAT:er.
– PAT:ar är anslutna till användarkontot som skapade token. Beroende på vilka uppgifter PAT utför kan du behöva fler behörigheter själv.
Åtkomstnivåer Minst Grundläggande åtkomst.
Uppgifter Använd endast PAT när det behövs och rotera dem alltid regelbundet. Se avsnittet Metodtips för att använda PAT.

Skapa en PAT

Anmärkning

Följande steg och skärmbilder återspeglar Azure DevOps Services. Den Azure DevOps Server upplevelsen kan variera något.

  1. Logga in på din organisation (https://dev.azure.com/{Your_Organization}).
  1. Logga in på din Azure DevOps Server webbportal (https://{server}/{collection} eller http://{server}:{port}/tfs/{collection}).
  1. På startsidan öppnar du användarinställningar och väljer Personliga åtkomsttoken.

    Skärmbild som visar alternativet Personliga åtkomsttoken i användarinställningarna.

  2. Välj + Ny token.

    Skärmbild som visar knappen Ny token på sidan Personliga åtkomsttoken.

  3. Namnge din token, välj den organisation där du vill använda token och ställ sedan in din token så att den upphör att gälla automatiskt efter ett angivet antal dagar.

    Skärmbild som visar dialogrutan Skapa en ny personlig åtkomsttoken med fälten namn, organisation och förfallodatum.

  4. Välj behörigheter för den här tokenen för att ge behörighet för dina specifika uppgifter.

    Om du till exempel vill skapa en token för en build- och versionsagent för att autentisera till Azure DevOps anger du tokens omfång till Agentpooler (Läs& hantera). Om du vill läsa granskningslogghändelser och hantera eller ta bort strömmar väljer du Läs granskningslogg och sedan Skapa.

    Skärmbild som visar alternativ för omfångsval för en PAT.

    Administratören kan begränsa dig från att skapa fullständiga PAT:er eller begränsa dig till endast paketeringsomfångs-PATs. Kontakta administratören för att komma med i listan över tillåtna om du behöver åtkomst till fler omfång. Vissa områden, till exempel vso.governance, kanske inte är tillgängliga i användargränssnittet om de inte är för allmänt bruk.

  5. När du är klar kopierar du token och lagrar den på en säker plats. För din säkerhet visas den inte igen.

    Skärmbild som visar knappen Kopiera token till Urklipp med det genererade PAT-värdet.

Du kan använda din PAT var som helst som dina användarautentiseringsuppgifter krävs för autentisering i Azure DevOps. Komma ihåg:

  • Behandla en PAT med samma försiktighet som ditt lösenord och håll det konfidentiellt. Dela inte PAT.
  • För organisationer som backas upp av Microsoft Entra ID loggar du in med din nya PAT inom 90 dagar eller så blir den inaktiv. Mer information finns i Användarinloggningsfrekvens för villkorlig åtkomst.

Meddelanden

Under en PAT-livslängd får användarna två meddelanden: en när PAT skapas och en annan innan den upphör att gälla.

När du har skapat en PAT kan du få ett meddelande som liknar följande exempel. Det här meddelandet fungerar som en bekräftelse på att din PAT har lagts till i din organisation.

Skärmbild som visar pat-skapad e-postavisering.

Ett e-postmeddelande om förfallodatum skickas innan token upphör att gälla. Om administratören har tagit bort möjligheten att skapa PAT:er i organisationen anger e-postmeddelandet att det inte längre är möjligt för dig att återskapa PAT:er. Kontakta projektsamlingsadministratören för att ingå i en lista över tillåtna behörigheter för fortsatt PAT-skapande i organisationen.

Mer information finns i Konfigurera en SMTP-server och anpassa e-post för aviseringar och feedbackbegäranden.

Oväntat meddelande

Om du får ett oväntat PAT-meddelande kan det innebära att en administratör eller ett verktyg har skapat en PAT åt dig. Här följer några exempel:

  • En token med namnet git: https://dev.azure.com/{yourorganization} on YourMachine skapas när du ansluter till en Azure DevOps Git-lagringsplats via git.exe.
  • En token med namnet Service Hooks: Azure App Service: Deploy web app skapas när du eller en administratör konfigurerar en Azure App Service webbappsdistribution.
  • En token med namnet WebAppLoadTestCDIntToken skapas när webbbelastningstestning konfigureras som en del av en pipeline av dig eller en administratör.
  • En token med namnet Microsoft Teams Integration skapas när ett Microsoft Teams Integration Messaging-tillägg har konfigurerats.

Om du anser att situationen är allvarlig:

Använda en PAT

Din PAT fungerar som din digitala identitet, ungefär som ett lösenord. Du kan använda PAT som ett snabbt sätt att göra engångsbegäranden eller skapa prototyper för ett program lokalt. Använd en PAT i koden för att autentisera REST API-begäranden och automatisera arbetsflöden genom att inkludera PAT i auktoriseringshuvudet för din begäran.

När din appkod fungerar växlar du till Microsoft Entra OAuth för att hämta tokens för appens användare eller en service principal eller hanterad identitet för att hämta tokens som en applikation. Fortsätt inte köra appar eller skript med PAT på lång sikt. Du kan använda Microsoft Entra token var som helst där en PAT används.

Överväg att skaffa en Microsoft Entra-token via Azure CLI för oplanerade begäranden.

Om du vill ange PAT via en HTTP-rubrik måste du först konvertera den till en Base64 sträng. Den kan sedan anges som en HTTP-rubrik i följande format:


Authorization: Basic BASE64_USERNAME_PAT_STRING

Ändra en PAT

Gör följande för att:

  • Återskapa en PAT för att skapa en ny token, vilket ogiltigförklarar den föregående.
  • Utöka en PAT för att öka giltighetsperioden.
  • Ändra omfånget för en PAT för att ändra dess behörigheter.
  1. På startsidan öppnar du användarinställningar och väljer Personliga åtkomsttoken.

  2. Välj den token som du vill ändra och välj sedan Redigera.

    Skärmbild som visar knappen Redigera markerad för en PAT-post.

  3. Redigera tokennamnet, förfallodatumet för token eller omfattningen för åtkomsten som är associerad med token och välj sedan Spara.

    Skärmbild som visar dialogrutan Redigera för en PAT med namn, förfallodatum och omfångsfält.

Återkalla en PAT

Du kan när som helst återkalla en PAT av följande och andra skäl:

  • Säkerhetsöverträdelse: Återkalla en PAT omedelbart om du misstänker att den har komprometterats, läckt eller exponerats i loggar eller offentliga lagringsplatser.
  • Behövs inte längre: Återkalla en PAT när projektet, tjänsten eller integreringen som den skapades för har slutförts.
  • Principefterlevnad: Återkalla en PAT för att framtvinga säkerhetsprinciper, efterlevnadskrav eller rotationsscheman för organisationstoken.
  • Användarändringar: Återkalla en PAT när en gruppmedlem lämnar organisationen eller ändrar roller och inte längre behöver åtkomst.
  • Omfångsminskning: Återkalla och återskapa en PAT med begränsad behörighet när du behöver begränsa dess åtkomstfunktioner.
  • Regelbundet underhåll: Återkalla en PAT som en del av rutinmässig hantering av säkerhetshygien och tokenlivscykel.

Följ dessa steg för att återkalla en PAT:

  1. På startsidan öppnar du användarinställningar och väljer Personliga åtkomsttoken.

  2. Under Säkerhet väljer du Personliga åtkomsttoken. Välj den token som du vill återkalla åtkomst för och välj sedan Återkalla.

    Skärmbild som visar alternativet Återkalla för en vald token på sidan Personliga åtkomsttoken.

  3. I dialogrutan Bekräftelse väljer du Återkalla.

    Skärmbild som visar bekräftelsedialogrutan för att återkalla en PAT.

API:er för PAT-livscykelhantering

API:erna för PAT-livscykelhantering kan vara användbara när det är ohållbart att underhålla stora mängder token via användargränssnittet. Att hantera PAT-rotation programmatiskt öppnar också möjligheten att rotera PAT regelbundet och förkorta deras standardlivslängder. Du kan konfigurera exempel Python-app med din Microsoft Entra klientorganisation och Azure DevOps-organisation.

Några saker att notera om dessa API:er:

  • Microsoft Entra åtkomsttoken krävs för att få åtkomst till det här API:et. Använd en starkare form av autentisering när du skapar nya token.
  • Endast användare eller appar som använder ett "å användarens vägnar"-flöde kan generera PAT:er. Appar som använder "å uppdrag av program"-flöden eller autentiseringsflöden som inte utfärdar Microsoft Entra åtkomsttoken är inte giltiga för användning med det här API:et. Därför kan servicehuvudentiteter eller hanterade identiteter inte skapa eller hantera PAT:er.
  • Tidigare hade API:erna för PAT-livscykelhantering endast stöd för omfånget user_impersonation , men nu är de vso.pats tillgängliga och är det rekommenderade omfånget som ska användas med dessa API:er. Downscope alla appar som tidigare förlitade sig på user_impersonation att anropa dessa API:er.

PAT-format

PAT-strängar använder ett specifikt format som är utformat för att förbättra hemlig identifiering i de läckta PAT-identifieringsverktygen och partnererbjudandena. Formatet innehåller identifierbara bitar som förbättrar andelen falska positiva identifieringar och möjliggör snabbare åtgärder av identifierade läckor.

  • Tokener är 84 tecken långa, med 52 tecken som randomiserade data, vilket förbättrar den övergripande entropin. Tokener är resistenta mot råstyrkeattacker.
  • Token som utfärdats av Azure DevOps innehåller en fast AZDO signatur på positioner 76-80.

Om du integrerar med PAT och har inbyggd PAT-validering kontrollerar du att valideringskoden rymmer tokenlängden på 84 tecken.

Metodtips för att använda PAT

Överväg alternativ

  • Hämta en Microsoft Entra-token via Azure CLI för oplanerade begäranden i stället för att minting a longer-lived PAT.
  • Använd autentiseringshanterare som Git Credential Manager eller Azure Artifacts Credential Manager för att förenkla autentiseringshanteringen, med autentisering inställd på oauth eller Microsoft Entra token.

Skapa PAT

  • Placera inte personuppgifter i PAT-namnet. Ändra inte namnet på PAT så att det innehåller en del av eller hela den faktiska PAT-nyckeln.
  • Undvik att skapa globala PAT:er om det inte behövs i alla organisationer.
  • Använd en annan token per flöde eller användningsfall.
  • Välj endast de minsta omfång som krävs för varje PAT. Ge den minsta behörighet som krävs för din specifika uppgift. Skapa separata PAT:er med begränsade omfång för olika arbetsflöden i stället för att använda en enda token med brett omfång. Om din PAT behöver skrivskyddade behörigheter ska du inte ange skrivbehörigheter förrän det behövs.
  • Håll PAT-livslängden kort.

Hantera PAT

  • Dela inte dina PATs!
  • Förvara dina PATs i en säker nyckelhanteringslösning, såsom Azure Key Vault.
  • Rotera eller återskapa dina PAT:er regelbundet via användargränssnittet eller genom att använda API:er för PAT-livscykelhantering.
  • Återkalla PAT när de inte längre behövs.

För administratörer

Vanliga frågor och svar

Q. Varför kan jag inte redigera eller återskapa ett PAT som är begränsat till en enda organisation?

A. Logga in på den organisation där din PAT gäller. Du kan visa dina PAT:er när du är inloggad i någon organisation inom samma Microsoft Entra ID genom att ändra filtret för Åtkomstomfång. Du kan bara redigera tokens med organisationsspecifik omfattning när du är inloggad på den specifika organisationen.

Q. Vad händer med en PAT om ett användarkonto är inaktiverat?

A. När en användare tas bort från Azure DevOps ogiltigförklaras PAT inom en timme. Om din organisation är ansluten till Microsoft Entra ID ogiltigförklaras även PAT i Microsoft Entra ID eftersom den tillhör användaren. Rotera PAT till en annan användare eller ett annat tjänstkonto för att hålla tjänsterna igång.

Q. Kan jag använda PAT med alla Azure DevOps REST-API:er?

A. Nej. Du kan använda PAT:er med de flesta Azure DevOps REST-API:er, men organiseringar och profiler och PAT Management-livscykel-API:er stöder endast Microsoft Entra token.

Q. Vad händer om jag av misstag checkar in min PAT på en offentlig lagringsplats på GitHub?

A. Azure DevOps genomsöker efter läckta PAT:er i offentliga GitHub lagringsplatser. När det identifieras meddelar Azure DevOps tokenägaren och loggar händelsen i din audit-logg. Om de inte är inaktiverade återkallas läckta PAT:er automatiskt. Mer information finns i Återkalla läckta PAT automatiskt.

Q. Kan jag använda en personlig åtkomsttoken som en API-nyckel för att publicera NuGet-paket till en Azure Artifacts feed med hjälp av kommandoraden dotnet/nuget.exe?

A. Nej. Azure Artifacts stöder inte att en PAT skickas som en API-nyckel. När du använder en lokal utvecklingsmiljö installerar du Azure Artifacts Credential Provider för att autentisera med Azure Artifacts. Mer information finns i följande exempel: dotnet och NuGet.exe. Om du vill publicera dina paket med hjälp av Azure Pipelines använder du uppgiften NuGet Authenticate för att autentisera med feeden. Mer information finns i exemplet i Publicera NuGet-paket med Azure Pipelines (YAML/klassisk).

Q. Varför slutade min PAT att fungera?

A. PAT-autentisering kräver att du regelbundet loggar in på Azure DevOps med hjälp av det fullständiga autentiseringsflödet. Det räcker att logga in en gång var 30:e dag för många användare, men du kan behöva logga in oftare beroende på din Microsoft Entra konfiguration. Om din PAT slutar fungera kan du först försöka logga in på din organisation och slutföra den fullständiga autentiseringsprompten. Om din PAT fortfarande inte fungerar kontrollerar du om den har upphört att gälla.

Om du aktiverar Azure DevOps Server IIS Basic Authentication ogiltigförklaras PAT-användningen. Håll IIS Basic Authentication inaktiverat.

Q. Hur skapar jag åtkomsttoken som inte är knutna till en specifik användare?

A. PAT:er associeras alltid med användaridentiteten som skapade dem. Om du vill använda token som inte är kopplade till en viss användare använder du Microsoft Entra token som utfärdats av ett programtjänsthuvudnamn eller hanterad identitet. För pipelines använder du tjänstanslutningar för att autentisera utan användarspecifika autentiseringsuppgifter. Läs mer om hur man minskar PAT-användningen inom Azure DevOps.

Q. Hur kan jag återskapa/rotera PAT via API:et? Jag såg det alternativet i användargränssnittet, men jag ser ingen liknande metod i API:et.

A. Funktionen Återskapa som är tillgänglig i användargränssnittet utför faktiskt några åtgärder som du kan replikera via ett API.

Så här roterar du pat:en:

  1. Se PAT-metadata med ett GET-anrop .
  2. Skapa en ny PAT med det gamla PAT-ID:t med hjälp av ett POST-anrop .
  3. Återkalla den gamla PAT med hjälp av ett DELETE-anrop .

Q. Hur länge visas en förfallen, återkallad eller inaktiv PAT i listan över Azure DevOps token?

A. Du kan inte längre använda eller återskapa PAT som har upphört att gälla eller återkallats. Dessa inaktiva token visas i flera månader efter att de upphört att gälla eller återkallats innan de tas bort automatiskt från visningen.

Q. Varför visas meddelandet "Behöver administratörsgodkännande" när jag försöker använda en Microsoft Entra app för att anropa API:erna för PAT-livscykelhantering?

A. Klientorganisationens säkerhetsprinciper kräver administratörsmedgivande innan program kan komma åt organisationens resurser. Kontakta klientadministratören.

Använda AI för att hantera personliga åtkomsttoken

Om du har konfigurerat Azure DevOps MCP Server kan du använda AI-assistenter för att hantera och granska dina personliga åtkomsttoken med hjälp av frågor på naturligt språk. MCP-servern ger din AI-assistent säker åtkomst till dina Azure DevOps data, så att du kan lista token, kontrollera förfallodatum och granska tokenomfattningar utan att navigera via webbgränssnittet.

Exempel på uppmaningar om att hantera personliga åtkomsttoken

Task Exempelprompt
Skapa en token med minst behörighet Help me create a PAT for <organization-name> that only has read access to work items and code in the <project-name> project, valid for 30 days
Rotera utgående token Show me all my PATs in <organization-name> expiring in the next 14 days, their scopes, and what I need to update when I regenerate them
Granska min tokenhygien List all my active PATs in <organization-name>, when each was last used, and flag any that have broader scopes than necessary
Felsöka autentiseringsfel My PAT stopped working for Git push to <repo-name> in <project-name> - help me check if it expired, has the right scope, or if a policy is blocking it
Hitta token som ska ersättas med Entra-autentisering Show me which of my PATs in <organization-name> are used for interactive scenarios that could switch to Microsoft Entra authentication instead
Konfigurera en CI/CD-tjänstanslutning What's the minimum PAT scope needed for an Azure Pipelines service connection to <organization-name> that runs builds and deploys releases?

Tips/Råd

Om du använder Visual Studio Code är agentläge särskilt användbart för att granska och utvärdera dina PAT, inklusive att identifiera token som behöver bytas ut eller har för stora omfång.

  • För att undvika att använda inaktuella eller cachelagrade data från tidigare frågor, lägg till följande i din prompt: Do not use previously fetched data.