Použití osobních přístupových tokenů (PAT)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Token PAT (Personal Access Token) můžete použít jako alternativní heslo k ověření v Azure DevOps. V tomto článku vám ukážeme, jak vytvářet, používat, upravovat a odvolávat paty pro Azure DevOps.
Následující video ukazuje, jak vytvořit a použít pat.
Informace o tokenech PAT
Osobní přístupový token obsahuje vaše bezpečnostní přihlašovací údaje pro Azure DevOps. Token PAT identifikuje vás, vám přístupné organizace a rozsahy přístupu. Jako takové jsou stejně důležité jako hesla, proto byste s nimi měli zacházet stejným způsobem.
Pokud pracujete s nástroji Microsoftu, je přijatelným a podporovaným přístupem váš účet Microsoft (MSA) nebo Microsoft Entra ID. Pokud ale pracujete s nástroji třetích stran, které nepodporují účty Microsoft nebo Microsoft Entra – nebo nechcete poskytnout primární přihlašovací údaje k nástroji – můžete k omezení rizika použít tokeny PAT.
Tokeny PAT můžete vytvářet a spravovat jedním z následujících způsobů:
- uživatelské rozhraní ve vašem uživatelském nastavení, které je podrobně popsáno v tomto článku,
- prostřednictvím rozhraní API pro správu životního cyklu PAT
Pokud chcete nastavit paty pro nástroje jiné společnosti než Microsoft, použijte správce přihlašovacích údajů Gitu nebo je vytvořte ručně. Doporučujeme, abyste si prostudovali naše doprovodné materiály k ověřování, které vám pomůžou zvolit správný mechanismus ověřování. U menších projektů, které vyžadují méně robustní řešení, jsou tokeny PAT jednoduchou alternativou. Pokud vaši uživatelé nepoužívají správce přihlašovacích údajů, musí svoje přihlašovací údaje pokaždé zadat.
Vytvoření pat
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Na domovské stránce otevřete uživatelská nastavení a vyberte Osobní přístupové tokeny.
Vyberte + Nový token.
Pojmenujte token, vyberte organizaci, ve které chcete token použít, a potom nastavte, aby platnost tokenu po nastaveném počtu dnů automaticky vypršela.
Vyberte obory tohoto tokenu, které chcete autorizovat pro vaše konkrétní úkoly.
Pokud například chcete vytvořit token, který umožní agentovi sestavení a vydání povolit ověření ve službě Azure DevOps Services, omezte rozsah vašeho tokenu na fondy agentů (čtení a správa). Pokud chcete číst události protokolu auditu a spravovat a odstraňovat streamy, vyberte Protokol auditu a pak vyberte Vytvořit.
Poznámka:
Je možné, že nebudete moct vytvářet tokeny PAT s úplným oborem. V takovém případě to znamená, že správce Azure DevOps v Microsoft Entra ID povolil zásady, které vás omezují na konkrétní vlastní definovanou sadu oborů. Další informace najdete v tématu Správa patů pomocí zásad /Omezit vytváření plně omezených patů. U vlastního definovaného tokenu PAT není v uživatelském rozhraní možné vybrat požadovaný obor pro přístup k rozhraní API
vso.governance
zásad správného řízení komponent.Až budete hotovi, zkopírujte token a uložte ho do zabezpečeného umístění. Pro vaše zabezpečení se znovu nezobrazí.
Upozorňující
Zacházejte s heslem a používejte ho jako heslo a udržujte ho v tajnosti.
Pro ověřování v Azure DevOps použijte pat všude, kde jsou vyžadovány přihlašovací údaje uživatele.
Důležité
V případě organizací podporovaných Microsoft Entra ID máte 90 dní na přihlášení pomocí nové paty, jinak se považuje za neaktivní. Další informace najdete v tématu Frekvence přihlašování uživatelů pro podmíněný přístup.
Notifications
Uživatelé obdrží dvě oznámení během životnosti PAT – jedno po vytvoření a dalších sedm dní před vypršením platnosti.
Po vytvoření pat obdržíte oznámení podobné následujícímu příkladu. Toto oznámení potvrzuje, že váš pat byl přidán do vaší organizace.
Následující obrázek ukazuje příklad sedmidenního oznámení před vypršením platnosti pat.
Další informace najdete v tématu Konfigurace serveru SMTP a přizpůsobení e-mailu pro výstrahy a žádosti o zpětnou vazbu.
Neočekávané oznámení
Pokud obdržíte neočekávané oznámení PAT, správce nebo nástroj mohl vaším jménem vytvořit pat. Viz následující příklady.
- Když se připojíte k úložišti Git Azure DevOps prostřednictvím git.exe. Vytvoří token s zobrazovaným názvem, jako je git:
https://MyOrganization.visualstudio.com/
on MyMachine. - Když vy nebo správce nastavíte nasazení webové aplikace služby Aplikace Azure, vytvoří se token se zobrazovaným názvem, například "Service Hooks: : Aplikace Azure Service: : Deploy web app" (Služba: Nasazení webové aplikace).
- Když vy nebo správce nastavíte testování webového zatížení jako součást kanálu, vytvoří token se zobrazovaným názvem jako WebAppLoadTestCDIntToken.
- Když je nastavené rozšíření Microsoft Teams Integration Messaging, vytvoří token se zobrazovaným názvem, jako je integrace Microsoft Teams.
Upozorňující
Pokud se domníváte, že pat existuje omylem, doporučujeme odvolat pat. Pak změňte heslo. Jako uživatel Microsoft Entra se obraťte na správce a zjistěte, jestli se vaše organizace používala z neznámého zdroje nebo umístění. Přečtěte si také nejčastější dotazy týkající se náhodného vrácení pat do veřejného úložiště GitHub.
Použití pat
Vaše identita PAT je vaše identita a představuje vás, když ji používáte, stejně jako heslo.
Git
Interakce Gitu vyžadují uživatelské jméno, které může být cokoli kromě prázdného řetězce.
Pokud chcete použít PAT se základním ověřováním HTTP, použijte Base64-encode
ho pro $MyPat
, který je součástí následujícího bloku kódu.
V PowerShellu zadejte následující kód.
$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
Pokud chcete token zabezpečit lépe, používejte správce přihlašovacích údajů, abyste nemuseli zadávat přihlašovací údaje pokaždé. Doporučujeme Git Credential Manager. Vyžaduje se Git pro Windows .
Existující úložiště
Pokud jste už v existujících úložištích přidali původ pomocí uživatelského jména, spusťte nejprve následující příkaz.
git remote remove origin
V opačném případě spusťte následující příkaz.
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
Použití PAT v kódu
V kódu můžete použít pat.
Pokud chcete pat poskytnout prostřednictvím hlavičky HTTP, nejprve ji převeďte na řetězec Base64. Následující příklad ukazuje, jak převést na Base64 pomocí jazyka C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
Výsledný řetězec je pak možné zadat jako hlavičku HTTP v následujícím formátu.
Následující ukázka používá třídu HttpClient v jazyce 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());
}
}
Tip
Při použití proměnných přidejte $
na začátek řetězce, například v následujícím příkladu.
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());
}
}
Když váš kód funguje, je vhodné přejít ze základního ověřování na OAuth.
Další informace a příklady použití PAT najdete v následujících článcích:
- Správci přihlašovacích údajů Gitu
- Rozhraní REST API
- NuGet na Macu
- Klienti generování sestav
- Začínáme s Azure DevOps CLI
Úprava patu
Můžete znovu vygenerovat nebo rozšířit pat a upravit jeho rozsah. Po regeneraci už předchozí pat není autorizovaný.
Na domovské stránce otevřete nastavení uživatele a pak vyberte Profil.
V části Zabezpečení vyberte Osobní přístupové tokeny. Vyberte token, který chcete upravit, a pak upravte.
Upravte název tokenu, vypršení platnosti tokenu nebo obor přístupu, který je přidružený k tokenu, a pak vyberte Uložit.
Odvolání pat
Pat můžete kdykoli odvolat z různých důvodů.
Na domovské stránce otevřete nastavení uživatele a pak vyberte Profil.
V části Zabezpečení vyberte Osobní přístupové tokeny. Vyberte token, pro který chcete odvolat přístup, a pak vyberte Odvolat.
V potvrzovacím dialogovém okně vyberte Možnost Odvolat .
Související články
- Informace o zabezpečení, ověřování a autorizaci
- Výchozí oprávnění a přístup pro Azure DevOps
- Odvolání patů uživatelů (pro správce)
- Správa instančních objektů a spravovaných identit v Azure DevOps
Nejčastější dotazy
Otázka: Co se stane s patem, pokud je uživatelský účet zakázaný?
A: Jakmile se uživatel odebere z Azure DevOps, platnost pat se zruší do 1 hodiny. Pokud je vaše organizace připojená k Microsoft Entra ID, token PAT je také neplatný v Microsoft Entra ID, protože patří uživateli. Doporučujeme, aby uživatel obměňoval pat na jiný účet uživatele nebo služby, aby služby zůstaly spuštěné.
Otázka: Existuje způsob, jak obnovit pat prostřednictvím rozhraní REST API?
Ano, existuje způsob, jak obnovit, spravovat a vytvářet PAT pomocí našich rozhraní API pro správu životního cyklu PAT. Další informace najdete v tématu Správa patů pomocí rozhraní REST API a našich nejčastějších dotazů.
Otázka: Můžu použít základní ověřování se všemi rozhraními REST API Azure DevOps?
Odpověď: Ne. Základní ověřování můžete použít u většiny rozhraní REST API Azure DevOps, ale organizace a profily podporují pouze OAuth. Další informace najdete v tématu Správa PAT pomocí rozhraní REST API.
Otázka: Co se stane, když omylem zkontroluji pat do veřejného úložiště na GitHubu?
A: Azure DevOps vyhledá paty, které jsou rezervované ve veřejných úložištích na GitHubu. Když najdeme nevracený token, okamžitě pošleme vlastníkovi tokenu podrobné e-mailové oznámení a zapíšeme událost do protokolu auditu vaší organizace Azure DevOps. Pokud nezakážete zásady automaticky odvolaných tokenů pat, okamžitě odvoláme nevracený token PAT. Doporučujeme ovlivněným uživatelům okamžitě zmírnit odvoláním nevraceného tokenu a nahrazením novým tokenem.
Další informace naleznete v tématu Odvolání nevracených PAT automaticky.
Otázka: Můžu použít osobní přístupový token jako ApiKey k publikování balíčků NuGet do informačního kanálu Azure Artifacts pomocí příkazového řádku dotnet/nuget.exe?
Odpověď: Ne. Služba Azure Artifacts nepodporuje předávání tokenu PAT jako ApiKey. Pokud používáte místní vývojové prostředí, doporučujeme pro ověřování v Azure Artifacts nainstalovat Azure Artifacts Credential Provider. Další informace najdete v následujících příkladech: dotnet, NuGet.exe. Pokud chcete publikovat balíčky pomocí Azure Pipelines, použijte úlohu Ověření NuGet k ověření v příkladu informačního kanálu.
Otázka: Proč můj pat přestal fungovat?
A: Ověřování PAT vyžaduje, abyste se pravidelně přihlásili k Azure DevOps pomocí úplného toku ověřování. Každých 30 dní stačí pro mnoho lidí, ale v závislosti na konfiguraci Microsoft Entra možná budete muset přihlásit častěji, než je to. Pokud váš pat přestane fungovat, zkuste se nejdřív přihlásit k vaší organizaci a ujistěte se, že procházíte úplnou výzvou k ověření. Pokud váš pat po tom stále nefunguje, zkontrolujte, jestli platnost tokenu PAT vypršela.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro