Sdílet prostřednictvím


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ůže sloužit jako alternativní heslo pro ověřování v Azure DevOps. Tento článek vás provede procesem vytváření, používání, úprav a odvolávání pat pro Azure DevOps.

Informace o tokenech PAT

Osobní přístupový token (PAT) slouží jako vaše přihlašovací údaje zabezpečení pro Azure DevOps. Tento pat vás nejen identifikuje, ale také určuje přístupnost a rozsah přístupu. Proto jsou paty stejně důležité jako hesla a měly by se zpracovávat se stejnou úrovní opatrnosti.

Pokud používáte nástroje Microsoftu, pak váš účet Microsoft (MSA) nebo Microsoft Entra ID je rozpoznaná a podporovaná metoda. Pokud ale používáte nástroje třetích stran, které nepodporují účty Microsoft nebo Microsoft Entra, nebo pokud se zdráháte sdílet své primární přihlašovací údaje s těmito nástroji, jsou paty bezpečnější alternativou.

Vytváření a správa pracovních stanic s privilegovanými pracovními stanicemi dvěma způsoby:

Pokud chcete vytvořit paty pro nástroje jiné společnosti než Microsoft, můžete použít správce přihlašovacích údajů Gitu nebo je vygenerovat ručně. Doporučujeme projít si naše doprovodné materiály k ověřování, které vám pomůžou zvolit vhodný mechanismus ověřování. Pracovní stanice (PAT) slouží jako jednoduchá alternativa pro menší projekty, které nepotřebují rozsáhlé řešení. Pokud se nepoužívá správce přihlašovacích údajů, musí uživatelé pokaždé zadat svoje přihlašovací údaje.

Vytvoření pat

  1. Přihlaste se ke své organizaci (https://dev.azure.com/{Your_Organization}).

  2. Na domovské stránce otevřete uživatelská nastavení a vyberte Osobní přístupové tokeny.

    Snímek obrazovky znázorňující výběr osobních přístupových tokenů

  3. Vyberte + Nový token.

    Snímek obrazovky znázorňující výběr, Nový token

  4. 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.

    Snímek obrazovky znázorňující položku základních informací o tokenech

  5. Vyberte obory tohoto tokenu, které chcete autorizovat pro vaše konkrétní úkoly.

    Pokud chcete například vytvořit token, který povolí ověření agenta sestavení a vydání v Azure DevOps, 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.

    Snímek obrazovky znázorňující vybrané obory pat

    Poznámka:

    Vytváření úplného rozsahu pat může být omezené. Pokud ano, váš správce Azure DevOps v ID Microsoft Entra povolil zásadu, která vás omezuje na konkrétní sadu definovaných 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.governancezásad správného řízení komponent.

  6. 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í.

    Snímek obrazovky znázorňující, jak token zkopírovat do schránky

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é

  • Zachovejte pat se stejnou opatrností jako heslo a udržujte ho v tajnosti.
  • Pro organizace, které jsou podporovány Microsoft Entra ID, je nutné se přihlásit pomocí nového PAT do 90 dnů; pokud to neuděláte, vykreslí pat neaktivní. Další informace najdete v tématu Frekvence přihlašování uživatelů pro podmíněný přístup.

Oznámení

Během životnosti pat obdrží uživatelé dvě oznámení – první v okamžiku vytvoření a druhý 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í slouží jako potvrzení úspěšného přidání pat do vaší organizace.

Snímek obrazovky zobrazující oznámení o vytvoření PAT

Následující obrázek ukazuje příklad sedmidenního oznámení před vypršením platnosti pat.

Snímek obrazovky s oznámením PAT o blížícím se vypršení platnosti

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 se zobrazí neočekávané oznámení PAT, může to znamenat, že správce nebo nástroj vytvořil pat za vás. Zde je uvedeno několik příkladů.

  • Token s názvem git: https://MyOrganization.visualstudio.com/ on MyMachine se vytvoří při připojení k úložišti Git Azure DevOps přes git.exe.
  • Token s názvem "Service Hooks: : Aplikace Azure Service: : Deploy web app" (Nasadit webovou aplikaci) se vytvoří, když vy nebo správce nastavíte nasazení webové aplikace Aplikace Azure Service.
  • Token s názvem WebAppLoadTestCDIntToken se vytvoří při nastavení webového zátěžového testování jako součást kanálu vámi nebo správcem.
  • Token s názvem Integrace Microsoft Teams se vytvoří při nastavení rozšíření Microsoft Teams Integration Messaging.

Upozorňující

Pokud máte podezření, že pat existuje omylem, zvažte odvolání pat a změnu hesla. Jako uživatel Microsoft Entra se obraťte na správce a zjistěte, jestli vaše organizace používala neznámý zdroj nebo umístění. Projděte si také nejčastější dotazy týkající se náhodných vrácení se změnami PAT do veřejných úložišť GitHubu.

Použití pat

Váš pat slouží jako vaše digitální identita, která představuje vás při použití, podobně 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 ho Base64 převeďte na řetězec. Následující příklad ukazuje, jak převést na Base64 použití 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:

Úprava patu

Můžete znovu vygenerovat, rozšířit pat nebo změnit jeho rozsah. Po opětovném vygenerování se předchozí pat stane neoprávněným.

  1. Na domovské stránce otevřete nastavení uživatele a pak vyberte Profil.

    Snímek obrazovky znázorňující posloupnost tlačítek, která se mají vybrat pro úpravu pat

  2. V části Zabezpečení vyberte Osobní přístupové tokeny. Vyberte token, který chcete upravit, a pak upravte.

    Snímek obrazovky se zvýrazněným tlačítkem Upravit pro úpravu PAT

  3. Upravte název tokenu, vypršení platnosti tokenu nebo obor přístupu přidružený k tokenu a pak vyberte Uložit.

    Snímek obrazovky s upraveným patem

Odvolání pat

Pat můžete kdykoli odvolat z mnoha důvodů.

  1. Na domovské stránce otevřete nastavení uživatele a pak vyberte Profil.

    Snímek obrazovky znázorňující posloupnost tlačítek pro výběr, Team Services, stránku náhledu a odvolání pat

  2. V části Zabezpečení vyberte Osobní přístupové tokeny. Vyberte token, pro který chcete odvolat přístup, a pak vyberte Odvolat.

    Snímek obrazovky znázorňující výběr pro odvolání jednoho tokenu nebo všech tokenů

  3. V potvrzovacím dialogovém okně vyberte Možnost Odvolat .

    Snímek obrazovky zobrazující potvrzovací obrazovku pro odvolání PAT

Nejčastější dotazy

Otázka: Proč nemůžu upravit nebo znovu vygenerovat pat, který je vymezený na jednu organizaci?

A: Ujistěte se, že jste přihlášení k organizaci, ve které je obor pat. Všechny pracovní stanice můžete zobrazit při přihlášení k jakékoli organizaci ve stejném ID Microsoft Entra, ale tokeny v oboru organizace můžete upravovat jenom v případě, že jste přihlášení k organizaci, na kterou jsou vymezeny.

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.