Använda personliga åtkomsttoken
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Du kan använda en personlig åtkomsttoken (PAT) som ett alternativt lösenord för att autentisera till Azure DevOps. I den här artikeln visar vi hur du skapar, använder, ändrar och återkallar PAT:er för Azure DevOps.
Följande video visar hur du skapar och använder en PAT.
Om PAT
En personlig åtkomsttoken innehåller dina säkerhetsautentiseringsuppgifter för Azure DevOps. En PAT identifierar dig, dina tillgängliga organisationer och dina åtkomstomfång. Därför är de lika viktiga som lösenord, så du bör behandla dem på samma sätt.
Om du arbetar med Microsoft-verktyg är ditt Microsoft-konto (MSA) eller Microsoft Entra ID en acceptabel och väl understödd metod. Om du däremot arbetar med verktyg från tredje part som inte stöder Microsoft- eller Microsoft Entra-konton – eller om du inte vill uppge dina primära autentiseringsuppgifter för verktyget – använder du PAT för att begränsa risken.
Du kan skapa och hantera dina PAT på något av följande sätt:
- Användargränssnittet i användarinställningarna, vilket beskrivs i detalj i den här artikeln
- via API:et för PAT Lifecycle Management
Om du vill konfigurera PAT för icke-Microsoft-verktyg använder du Git-autentiseringsuppgifter eller skapar dem manuellt. Vi rekommenderar att du läser vår autentiseringsvägledning som hjälper dig att välja rätt autentiseringsmekanism. För mindre projekt som kräver en mindre robust lösning är PAT ett enkelt alternativ. Om användarna inte använder en autentiseringshanterare måste de ange sina autentiseringsuppgifter varje gång.
Skapa en PAT
Logga in på din organisation (
https://dev.azure.com/{yourorganization}
).På startsidan öppnar du användarinställningar och väljer Personliga åtkomsttoken.
Välj + Ny token.
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.
Välj omfången för den här token för att auktorisera för dina specifika uppgifter.
Om du till exempel vill skapa en token för att göra det möjligt för en versions- och versionsagent att autentisera till Azure DevOps Services begränsar du din tokens omfång till Agentpooler (Läs och hantera). Om du vill läsa granskningslogghändelser och hantera och ta bort strömmar väljer du Läs granskningslogg och sedan Skapa.
Kommentar
Du kan vara begränsad från att skapa PAT med fullständigt omfång. I så fall har din Azure DevOps-administratör i Microsoft Entra ID aktiverat en princip som begränsar dig till en specifik anpassad uppsättning omfång. Mer information finns i Hantera PAT med principer/Begränsa skapandet av fullständiga begränsade PAT:er. För en anpassad definierad PAT kan det nödvändiga omfånget för åtkomst till API
vso.governance
:et för komponentstyrning inte väljas i användargränssnittet.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.
Varning
Behandla och använd en PAT som ditt lösenord och håll det hemligt.
Använd din PAT var som helst där dina autentiseringsuppgifter krävs för autentisering i Azure DevOps.
Viktigt!
För organisationer som backas upp av Microsoft Entra-ID har du 90 dagar på dig att logga in med din nya PAT, annars anses det vara inaktivt. Mer information finns i Användarinloggningsfrekvens för villkorsstyrd åtkomst.
Meddelanden
Användare får två meddelanden under en PAT-livslängd – en när de skapas och de andra sju dagarna före förfallodatumet.
När du har skapat en PAT får du ett meddelande som liknar följande exempel. Det här meddelandet bekräftar att din PAT har lagts till i din organisation.
Följande bild visar ett exempel på sjudagarsmeddelandet innan din PAT upphör att gälla.
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 en administratör eller ett verktyg ha skapat en PAT för din räkning. Se följande exempel.
- När du ansluter till en Azure DevOps Git-lagringsplats via git.exe. den skapar en token med ett visningsnamn som "git:
https://MyOrganization.visualstudio.com/
on MyMachine". - När du eller en administratör konfigurerar en Azure App Service-webbappsdistribution skapar den en token med ett visningsnamn som "Service Hooks: : Azure App Service: : Deploy web app".
- När du eller en administratör konfigurerar webbbelastningstestning som en del av en pipeline skapas en token med ett visningsnamn som "WebAppLoadTestCDIntToken".
- När ett Microsoft Teams Integration Messaging-tillägg har konfigurerats skapas en token med ett visningsnamn som "Microsoft Teams-integrering".
Varning
Om du tror att en PAT finns i fel föreslår vi att du återkallar PAT. Ändra sedan lösenordet. Som Microsoft Entra-användare kontrollerar du med administratören om din organisation har använts från en okänd källa eller plats. Se även vanliga frågor och svar om att av misstag checka in en PAT till en offentlig GitHub-lagringsplats.
Använda en PAT
Din PAT är din identitet och representerar dig när du använder den, precis som ett lösenord.
Git
Git-interaktioner kräver ett användarnamn, vilket kan vara allt utom den tomma strängen.
Om du vill använda en PAT med grundläggande HTTP-autentisering använder du Base64-encode
för $MyPat
, som ingår i följande kodblock.
I PowerShell anger du följande kod.
$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue
git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Om du vill skydda din token använder du autentiseringsansvariga så att du inte behöver ange dina autentiseringsuppgifter varje gång. Vi rekommenderar Git Credential Manager. Git för Windows krävs.
Befintliga lagringsplatser
Om du redan har lagt till ursprunget med användarnamnet för befintliga lagringsplatser kör du följande kommando först.
git remote remove origin
Annars kör du följande kommando.
git remote add origin https://<PAT>@<company_machineName>.visualstudio.com:/<path-to-git-repo> path to git repo = <project name>/_git/<repo_name> git push -u origin --all
Använda en PAT i koden
Du kan använda en PAT i koden.
Om du vill ange PAT via en HTTP-rubrik konverterar du den först till en Base64-sträng. I följande exempel visas hur du konverterar till Base64 med C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
Den resulterande strängen kan sedan anges som en HTTP-rubrik i följande format.
I följande exempel används klassen HttpClient i C#.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Dricks
När du använder variabler lägger du till en $
i början av strängen, som i följande exempel.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
$"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
När koden fungerar är det dags att växla från grundläggande autentisering till OAuth.
Mer information och exempel på hur du använder PAT finns i följande artiklar:
- Git-autentiseringsansvariga
- REST API:er
- NuGet på en Mac
- Rapportera klienter
- Kom igång med Azure DevOps CLI.
Ändra en PAT
Du kan återskapa eller utöka en PAT och ändra dess omfång. Efter regenereringen är den tidigare PAT inte längre auktoriserad.
Öppna användarinställningarna på startsidan och välj sedan Profil.
Under Säkerhet väljer du Personliga åtkomsttoken. Välj den token som du vill ändra och sedan Redigera.
Redigera tokennamnet, förfallodatumet för token eller omfattningen för åtkomsten som är associerad med token och välj sedan Spara.
Återkalla en PAT
Du kan återkalla en PAT när som helst av olika skäl.
Öppna användarinställningarna på startsidan och välj sedan Profil.
Under Säkerhet väljer du Personliga åtkomsttoken. Välj den token som du vill återkalla åtkomst för och välj sedan Återkalla.
Välj Återkalla i bekräftelsedialogrutan.
Relaterade artiklar
- Om säkerhet, autentisering och auktorisering
- Standardbehörigheter och åtkomst i Azure DevOps
- Återkalla användar-PAT (för administratörer)
- Hantera tjänstens huvudnamn och hanterade identiteter i Azure DevOps
Vanliga frågor och svar
F: Vad händer med en PAT om ett användarkonto är inaktiverat?
S: När en användare har tagits bort från Azure DevOps ogiltigförklaras PAT inom 1 timme. Om din organisation är ansluten till Microsoft Entra-ID är PAT också ogiltigt i Microsoft Entra-ID eftersom det tillhör användaren. Vi rekommenderar att användaren roterar sin PAT till ett annat användar- eller tjänstkonto för att hålla tjänsterna igång.
F: Finns det något sätt att förnya en PAT via REST API?
S: Ja, det finns ett sätt att förnya, hantera och skapa PAT:er med hjälp av våra API:er för livscykelhantering för PAT. Mer information finns i Hantera PAT med hjälp av REST API och våra vanliga frågor och svar.
F: Kan jag använda grundläggande autentisering med alla Rest-API:er för Azure DevOps?
S: Nej. Du kan använda grundläggande autentisering med de flesta Rest-API:er för Azure DevOps, men organisationer och profiler stöder endast OAuth. Mer information finns i Hantera PAT:er med hjälp av REST API.
F: Vad händer om jag av misstag checkar in min PAT på en offentlig lagringsplats på GitHub?
S: Azure DevOps söker efter PAT:er som är incheckade på offentliga lagringsplatser på GitHub. När vi hittar en läckt token skickar vi omedelbart ett detaljerat e-postmeddelande till tokenägaren och loggar en händelse till din Azure DevOps-organisations granskningslogg. Om du inte har inaktiverat principen Återkalla automatiskt läckta personliga åtkomsttoken återkallar vi omedelbart den läckta PAT:en. Vi uppmuntrar berörda användare att omedelbart minimera genom att återkalla den läckta token och ersätta den med en ny token.
Mer information finns i Återkalla läckta PAT automatiskt.
F: Kan jag använda en personlig åtkomsttoken som en ApiKey för att publicera NuGet-paket till en Azure Artifacts-feed med hjälp av kommandoraden dotnet/nuget.exe?
S: Nej. Azure Artifacts saknar stöd för att skicka en personlig åtkomsttoken som en ApiKey. Om du använder en lokal utvecklingsmiljö rekommenderar vi att du installerar Azure Artifacts Credential Provider för att kunna autentisera med Azure Artifacts. Mer information finns i följande exempel: dotnet, 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 ditt flödesexempel.
F: Varför slutade min PAT att fungera?
S: PAT-autentisering kräver att du regelbundet loggar in på Azure DevOps med det fullständiga autentiseringsflödet. En gång var 30:e dag räcker för många, men du kan behöva logga in oftare än så beroende på din Microsoft Entra-konfiguration. Om pat slutar fungera kan du först försöka logga in på din organisation och se till att du går igenom den fullständiga autentiseringsprompten. Om din PAT fortfarande inte fungerar efter det kontrollerar du om din PAT har upphört att gälla.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för