Použití osobních přístupových tokenů

služby Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Osobní přístupový token (PAT) funguje jako alternativní heslo pro ověřování v Azure DevOps. Tento token vás identifikuje a určuje vaši přístupnost a rozsah přístupu. Zacházejte s tokeny osobního přístupu se stejnou úrovní opatrnosti jako s hesly.

Upozornění

Vyhněte se používání PAT, pokud je k dispozici bezpečnější metoda ověřování. PaT nesou vlastní bezpečnostní rizika, protože se jedná o dlouhodobé přihlašovací údaje, které mohou být unikly, odcizeny nebo zneužity. Pokud je to možné, použijte tokeny Microsoft Entra, spravované identity nebo instanční objekty.

Pokud používáte nástroje Microsoftu, váš účet Microsoft nebo Microsoft Entra ID se rozpozná a podporuje. Pokud používáte nástroje, které nepodporují Microsoft Entra účty nebo pokud nechcete sdílet primární přihlašovací údaje, zvažte použití pats jako alternativní metody ověřování.

Návod

S touto úlohou můžete využít umělou inteligenci dále v tomto článku nebo si můžete projít Povolit asistenci umělé inteligence s Azure DevOps MCP Server začít.

Požadavky

Kategorie Požadavky
Permissions Oprávnění k přístupu a úpravě uživatelských nastavení, ve kterých se spravují PATs.
- Přejděte do svého profilu a vyberte Nastavení uživatele>Osobní přístupové tokeny. Pokud stránka uvádí vaše PATy a nabízí možnosti jejich správy, máte potřebná oprávnění.
- Přejděte do projektu a vyberte Nastavení projektu>Oprávnění. V seznamu vyhledejte svůj uživatelský účet a zkontrolujte oprávnění, která jsou vám přiřazena. Zkontrolujte oprávnění související se správou tokenů nebo uživatelských nastavení.
– Pokud má vaše organizace zavedené zásady, může být potřeba, aby vám správce udělil konkrétní oprávnění nebo vás přidal do seznamu povolených pro vytváření a správu pat.
- PATs jsou připojeny k uživatelskému účtu, který token vytvořil. V závislosti na úlohách, které PAT provádí, můžete sami potřebovat více oprávnění.
Úrovně přístupu Alespoň základní přístup.
Úlohy Používejte PAT pouze v případě potřeby a vždy je pravidelně otáčejte. Přečtěte si část Osvědčené postupy pro používání PAT.

Vytvořte PAT

Poznámka:

Následující kroky a snímky obrazovky odrážejí Azure DevOps Services. Prostředí Azure DevOps Server se může mírně lišit.

  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 s možností Osobní přístupové tokeny v uživatelských nastaveních

  3. Vyberte + Nový token.

    Snímek obrazovky znázorňující tlačítko Nový token na stránce Osobní přístupové tokeny

  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 s dialogovým oknem Vytvořit nový osobní přístupový token s poli název, organizace a vypršení platnosti

  5. Vyberte obory pro tento token, abyste mohli autorizovat konkrétní úkoly.

    Pokud chcete například vytvořit token pro build a release agenta pro ověření v Azure DevOps, nastavte obor tokenu na Agent Pools (Čtení a správa). Pokud chcete číst události protokolu auditu a spravovat nebo odstraňovat streamy, vyberte Protokol auditu a pak vyberte Vytvořit.

    Snímek obrazovky ukazuje možnosti výběru rozsahu pro PAT.

    Správce vám může omezit vytváření osobních přístupových tokenů s plným rozsahem nebo vás může omezit pouze na osobní přístupové tokeny s rozsahem balení. Pokud potřebujete přístup k dalším oborům, obraťte se na správce a získejte přístup k seznamu povolených. Některé obory, například vso.governance, nemusí být k dispozici v uživatelském rozhraní (UI), pokud nejsou pro rozšířené veřejné použití.

  6. Po dokončení 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í tlačítko Kopírovat token do schránky s vygenerovanou hodnotou PAT

  1. Přihlaste se k webovému portálu Azure DevOps Server (https://{server}/{collection} nebo http://{server}:{port}/tfs/{collection}).

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

    Snímek obrazovky s možností Osobní přístupové tokeny v uživatelských nastaveních

  3. Vyberte + Nový token.

    Snímek obrazovky znázorňující tlačítko Nový token na stránce Osobní přístupové tokeny

  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 s dialogovým oknem Vytvořit nový osobní přístupový token s poli název, organizace a vypršení platnosti

  5. Vyberte obory pro tento token, abyste mohli autorizovat konkrétní úkoly.

    Pokud chcete například vytvořit token pro build a release agenta pro ověření v Azure DevOps, nastavte obor tokenu na Agent Pools (Čtení a správa). Pokud chcete číst události protokolu auditu a spravovat nebo odstraňovat streamy, vyberte Protokol auditu a pak vyberte Vytvořit.

    Snímek obrazovky ukazuje možnosti výběru rozsahu pro PAT.

    Správce vám může omezit vytváření osobních přístupových tokenů s plným rozsahem nebo vás může omezit pouze na osobní přístupové tokeny s rozsahem balení. Pokud potřebujete přístup k dalším oborům, obraťte se na správce a získejte přístup k seznamu povolených. Některé obory, například vso.governance, nemusí být k dispozici v uživatelském rozhraní (UI), pokud nejsou pro rozšířené veřejné použití.

  6. Po dokončení 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í tlačítko Kopírovat token do schránky s vygenerovanou hodnotou PAT

Pat můžete použít kdekoli, kde jsou vaše přihlašovací údaje uživatele vyžadovány pro ověřování v Azure DevOps. Pamatovat:

  • Zacházejte s PAT se stejnou opatrností jako s heslem a udržujte jej v tajnosti. Nesdílejte PAT.
  • Pro organizace podporované Microsoft Entra ID se přihlaste pomocí svého nového PAT do 90 dnů, jinak se stane neaktivním. 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í: jedno při vytvoření PAT a druhé před vypršením její platnosti.

Poté, co vytvoříte PAT, se může zobrazit oznámení podobné následujícímu příkladu. Toto oznámení slouží jako potvrzení, že váš PAT byl úspěšně přidán do vaší organizace.

Snímek obrazovky znázorňující e-mail s oznámením vytvořeným pomocí PAT

E-mail s oznámením o vypršení platnosti se odešle před vypršením platnosti tokenu. Pokud správce odebral vaši možnost vytvářet tokeny PAT v organizaci, v e-mailu je uvedeno, že už tokeny PAT nemůžete znovu vygenerovat. Obraťte se na správce kolekce projektů , aby byl zahrnut do seznamu povolených oprávnění pro pokračování oprávnění k vytváření PAT v dané organizaci.

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, to může znamenat, že vám správce nebo nástroj vytvořil PAT. Tady je několik příkladů:

  • Token s názvem git: https://dev.azure.com/{yourorganization} on YourMachine se vytvoří, když se připojíte k úložišti Azure DevOps Git prostřednictvím git.exe.
  • Token s názvem Service Hooks: Azure App Service: Deploy web app se vytvoří, když vy nebo správce nastavíte nasazení Azure App Service webové aplikace.
  • Token s názvem WebAppLoadTestCDIntToken se vytvoří při nastavení webového zátěžového testování vámi nebo správcem jako součást kanálu.
  • Token s názvem Microsoft Teams Integration se vytvoří při nastavení rozšíření pro zasílání zpráv integrace Microsoft Teams.

Pokud si myslíte, že situace je vážná:

Použijte PAT

Váš PAT funguje jako vaše digitální identita, podobně jako heslo. PATy používejte jako rychlý způsob pro jednorázové požadavky nebo pro vytvoření prototypu aplikace v místním prostředí. Pomocí PAT v kódu můžete ověřovat požadavky rozhraní REST API a automatizovat pracovní postupy zahrnutím PAT do autorizační hlavičky požadavku.

Jakmile kód aplikace funguje, přepněte na Microsoft Entra OAuth a získejte tokeny pro uživatele vaší aplikace nebo instanční objekt nebo spravovanou identitu a získejte tokeny jako aplikaci. Nepoužívejte dlouhodobě spuštěné aplikace ani skripty s PATs. Tokeny Microsoft Entra můžete použít kdekoli, kde se používá pat.

Zvažte požadování tokenu Microsoft Entra prostřednictvím Azure CLI pro neplánované požadavky.

Chcete-li předat PAT prostřednictvím hlavičky HTTP, nejprve ho převeďte na řetězec Base64. Pak ji zadejte jako hlavičku HTTP v následujícím formátu:


Authorization: Basic BASE64_USERNAME_PAT_STRING

Úprava PAT

Pokud chcete upravit PAT, postupujte následovně:

  • Znovu vygenerujte token PAT a vytvořte nový token a zneplatníte předchozí token.
  • Prodloužením platnosti osobního přístupového tokenu (PAT) zvýšíte dobu jeho platnosti.
  • Chcete-li změnit oprávnění PAT, změňte jeho rozsah.
  1. Na domovské stránce otevřete uživatelská nastavení a vyberte Osobní přístupové tokeny.

  2. Vyberte token, který chcete upravit, a pak vyberte Upravit.

    Snímek obrazovky se zvýrazněným tlačítkem Upravit pro položku 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 zobrazuje dialogové okno Upravit pro PAT s poli názvu, vypršení platnosti a oboru.

Odvolat PAT

Pat můžete kdykoli odvolat z těchto a dalších důvodů:

  • Porušení zabezpečení: Okamžitě odvolejte PAT, pokud máte podezření, že byl kompromitován, unikl, nebo byl zveřejněn v protokolech či veřejných úložištích.
  • Už není potřeba: Zrušte PAT, jakmile je projekt, služba nebo integrace, pro které jste ho vytvořili, dokončena.
  • Dodržování zásad: Zrušení tokenu PAT k vynucení zásad zabezpečení, požadavků na dodržování předpisů nebo plánů obměny tokenů organizace
  • Změny uživatelů: Odvolat PAT, když člen týmu opustí organizaci nebo změní roli a už nepotřebuje přístup.
  • Omezení rozsahu: Odvolání a opětovné vytvoření tokenu PAT s omezenými oprávněními, pokud potřebujete omezit jeho možnosti přístupu.
  • Běžná údržba: Odvolávání osobního přístupového tokenu (PAT) v rámci rutinní hygieny zabezpečení a správy životního cyklu tokenů.

Chcete-li odvolat osobní přístupový token, postupujte takto:

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

  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í možnost Odvolání vybraného tokenu na stránce Osobní přístupové tokeny

  3. V dialogovém okně Potvrzení vyberte Odvolat.

    Snímek obrazovky ukazuje dialogové okno pro potvrzení zrušení osobního přístupového tokenu (PAT).

Co se stane, když platnost PAT skončí nebo je PAT zneplatněn

Když platnost pat vyprší nebo je odvolána, jakékoli služby nebo nástroje používající tuto službu PAT okamžitě ztratí ověření Azure DevOps. Pochopení dopadu vám pomůže naplánovat obměnu a zabránit přerušení služeb.

Dopad na službu podle scénáře

Scenario Chování Chybová zpráva Časová osa
Operace Gitu (klonování, nasdílení změn, vyžádání) Ověřování selže; zablokované operace fatal: Authentication failed for '<url>' nebo 401 Unauthorized Okamžité
Azure Pipelines CI/CD Úloha sestavení nebo vydání selže v kroku ověřování Error: Personal access token (PAT) is invalid or expired Další spuštění kanálu
Volání rozhraní REST API Všechny požadavky rozhraní API selžou; integrace se zastaví. 401 Unauthorized nebo TF400813: Resource not available for anonymous access Okamžité
Azure Artifacts (NuGet, npm, Maven) Obnovení nebo publikování balíčku se nezdaří 401 Unauthorized nebo Credentials could not be authenticated Okamžité
Git Credential Manager Vyžaduje opětovné ověření. Uživatel se znovu přihlásil. Další pokus o ověření
Skripty a automatizační nástroje Provedení se nezdaří kvůli chybě ověření Chyba specifická pro nástroj (liší se podle nástroje) Okamžité

Časová osa dopadu

  1. V době vypršení platnosti (zadané datum):

    • Pat se automaticky stane neaktivním
    • Zahoďte všechna aktivní připojení.
    • Nové pokusy o ověření selžou
  2. V hodinách po vypršení platnosti:

    • Naplánované úlohy (pipeline, nasazení) selžou při dalším spuštění
    • Interaktivní uživatelé si nemusí všimnout, dokud se nepokouší o další operaci.
  3. Po odvolání (okamžité):

    • Všechny aktivní relace se ukončí.
    • Všechny nové požadavky, které používají tento PAT, budou zamítnuty.

Proaktivní strategie prevence

Pokud se chcete vyhnout přerušení služeb, postupujte podle těchto postupů:

  • Vygenerujte nový token s předstihem: Vytvořte nový PAT alespoň sedm dní před vypršením platnosti, poté otestujte a aktualizujte všechny integrace před vypršením platnosti starého PAT.
  • Automatizace monitorování: Pomocí rozhraní API pro správu životního cyklu PAT můžete programově kontrolovat data vypršení platnosti.
  • Rozložte dobu platnosti tokenů PAT: Nenechte všechny své tokeny PAT vypršet ve stejný den. Střídejte je každé čtvrtletí v různých intervalech.
  • Zdokumentujte použití tokenů PAT: Udržujte seznam míst, kde se jednotlivé tokeny PAT používají (pipeline, skript, integrace), abyste je mohli při obměně aktualizovat.

Platnost PAT neočekávaně vyprší

Pokud dojde k selhání ověřování, tady je postup, jak provést obnovení:

  1. Identifikujte problém: Zkontrolujte, jestli vypršela platnost pat, a to tak, že zkontrolujete stránku osobních přístupových tokenů v uživatelském nastavení nebo požádejte správce, aby zkontroloval protokol auditu.
  2. Vytvořit náhradu: Pokud to vaše oprávnění umožňují, vygenerujte nový PAT (viz Vytvořit PAT).
  3. Aktualizujte všechny integrace: Nahraďte starý PAT novým PAT v:
    • Konfigurační soubory Gitu (.git/config)
    • Soubory YAML pipeline
    • Sestavení agentů
    • Skripty a integrace
    • Proměnné prostředí
  4. Test připojení: Spuštěním testovací operace (například git clonevolání rozhraní API) ověřte, že nová funkce PAT funguje.
  5. Zrušte starý PAT: Odeberte ho ze svého účtu, abyste snížili bezpečnostní rizika.

Pro místní scénáře

V Azure DevOps Serveru je chování při vypršení platnosti PAT stejné, ale dopad se omezuje na váš server a připojené služby.


Strategie obměny a obnovy PAT

Pravidelné obměňování tokenů PAT snižuje riziko kompromitace přihlašovacích údajů a pomáhá vám dodržovat zásady zabezpečení organizace.

Proč střídat PATy?

  • Zmírnění dopadů narušení zabezpečení: Pokud dojde k úniku, kompromitaci nebo odcizení tokenu PAT, omezení doby jeho platnosti zkrátí dobu vystavení riziku.
  • Dodržování předpisů: Řada standardů zabezpečení (SOC 2, ISO 27001, HIPAA) vyžaduje pravidelnou obměnu přihlašovacích údajů.
  • Hygiena: Odstraní nepoužívané nebo zapomenuté tokeny z vaší organizace.
  • Auditovatelnost: Častá obměna vytváří jasnou auditní stopu změn přihlašovacích údajů.

Vynucujte PAT s krátkou dobou platnosti a zaveďte strategii obměny na základě typu PAT a profilu rizika:

  • Osobní tokeny PAT: Obměňujte je každých 90 dní (minimálně jednou za čtvrtletí).
  • PAT účtu služby: Obnovujte je každých 90 dní, pokud je to možné, pomocí automatického obnovení, abyste předešli výpadkům služeb.
  • Privilegované PAT nebo PAT s širokým rozsahem oprávnění (například používané pro kritickou infrastrukturu): Obměňujte je každých 30 dnů, abyste zvýšili zabezpečení.
  • Ukončení spolupráce: Okamžitě zneplatněte PATy, když u člena týmu dojde k některé z následujících změn stavu:
    • Ukončení nebo odjezd
    • Přenos do jiného týmu nebo organizace
    • Dovolená nepřítomnosti
    • Změna role nebo směna odpovědnosti

Dlouhodobá strategie: Migrace z PAT na silnější ověřování

Microsoft doporučuje snížit využití PAT ve prospěch silnějších, auditovatelných metod ověřování. Pokud je to možné, proveďte migraci na:

  • Microsoft Entra tokeny – časově omezené, aktualizovatelné, auditovatelné prostřednictvím Entra ID
  • Spravované identity – pro služby hostované v Azure (App Service, Functions, Container Apps)
  • Instanční objekty aplikace – pro scénáře mezi tenanty nebo mimo Azure
  • OAuth 2.0 s Microsoft Entra – pro integrace založené na prohlížeči a aplikace třetích stran

Výhody migrace:

  • Omezený prostor pro útok: Eliminuje dlouhotrvající statické přihlašovací údaje.
  • Lepší auditovatelnost: Nativní protokoly auditu Entra ID sledují každé ověřování
  • Automatizovaný životní cyklus: Platnost tokenů vyprší ve výchozím nastavení; nevyžaduje se ruční obměně
  • Podpora podmíněného přístupu: Použití zásad zabezpečení pro celou organizaci

Podrobnosti o alternativách ověřování najdete v tématech ověřování Microsoft Entra a Instanční objekty služby a spravované identity.

Postup rotace

Pokud chcete obměnit token PAT bez přerušení služeb, postupujte takto:

Krok 1: Vytvořte nový PAT

  1. Na domovské stránce otevřete uživatelská nastavení a vyberte Osobní přístupové tokeny.
  2. Vyberte + Nový token.
  3. Zadejte stejný název jako starý token (pro snadné sledování).
  4. Nastavte vypršení platnosti na 90 dnů od dnešního dne.
  5. Vyberte přesně stejné obory jako starý token.
  6. Vyberte Vytvořit a zkopírujte nový token okamžitě (znovu se nezobrazí).

Krok 2: Otestujte nový PAT

Před vyřazením starého PAT ověřte, že nový funguje:

# For Git (replace with your URL and new PAT)
git clone https://<user>:<new-pat>@dev.azure.com/<org>/<project>/_git/<repo>

# For REST API
curl -u :<new-pat> https://dev.azure.com/<org>/_apis/projects

Krok 3: Aktualizace všech integrací

Pro každou službu nebo nástroj, které používají starý PAT:

Integration Metoda aktualizace
Přihlašovací údaje Gitu Aktualizace .git/config nebo Správce přihlašovacích údajů Gitu
Kanál YAML Aktualizace připojení služby nebo odkazu na proměnnou
Skript nebo nástroj Aktualizujte konfigurační soubor nebo proměnnou prostředí
Azure Artifacts Aktualizujte nuget.config, .npmrc nebo zprostředkovatele přihlašovacích údajů
Agent sestavení Aktualizace konfigurace agenta prostřednictvím webového uživatelského rozhraní

Příklad: Aktualizace proměnné pipeline

# Before
- script: npm install
  env:
    NPM_TOKEN: $(old-pat-variable)

# After
- script: npm install
  env:
    NPM_TOKEN: $(new-pat-variable)

Krok 4: Ověření funkčnosti

Po aktualizaci každé integrace ji otestujte:

  • Spusťte úlohu kanálu.
  • Spusťte skript ručně.
  • Pokus o operaci Gitu
  • Zkontrolujte volání rozhraní API.

Krok 5: Zneplatnění starého PAT

Po aktualizaci a otestování všech integrací odvoláte původní pat:

  1. Na domovské stránce otevřete uživatelská nastavení a vyberte Osobní přístupové tokeny.
  2. Vyberte starý PAT.
  3. Vyberte Odvolat a potvrďte.

Scénář rotace: Odchod člena týmu

Když člen týmu odejde:

  1. Okamžitá akce (den odjezdu)::

    • Správce zruší všechny své tokeny PAT v nabídce Nastavení organizace > Zabezpečení > Osobní přístupové tokeny
    • Správce zkontroluje v protokolu auditu, zda tento uživatel vytvořil nějaké tokeny PAT.
    • Jakákoli služba používající jejich PAT okamžitě přestane fungovat (podle očekávání)
  2. Do 1 týdne:

    • Týmy používající PAT dané osoby by měly přejít na sdílený servisní účet nebo nový PAT.
    • Aktualizace všech skriptů, kanálů a integrací
  3. Probíhající:

    • Kontrolujte každý týden protokoly auditu kvůli osiřelým tokenům PAT

Automatizace obměny pomocí rozhraní PAT Lifecycle Management API

Pro rozsáhlá nasazení obměňujte tokeny PAT programově:

import requests
from datetime import datetime, timedelta

# 1. Get PAT metadata (using Entra token)
org_url = "https://dev.azure.com/myorg"
entra_token = "YOUR_ENTRA_TOKEN"

response = requests.get(
    f"{org_url}/_apis/tokens/pats",
    headers={"Authorization": f"Bearer {entra_token}"},
    params={"api-version": "7.1-preview.1"}
)
pats = response.json()["value"]

# 2. Find PATs expiring in 7 days
expiring_soon = [
    pat for pat in pats 
    if (datetime.fromisoformat(pat["expiresOn"].replace("Z", "+00:00")) 
        - datetime.now().astimezone()).days <= 7
]

# 3. Create new PATs for expiring ones
for old_pat in expiring_soon:
    new_pat_payload = {
        "displayName": old_pat["displayName"],
        "scope": old_pat["scope"],
        "targetAccounts": old_pat["targetAccounts"],
        "validFrom": datetime.now().isoformat(),
        "validTo": (datetime.now() + timedelta(days=90)).isoformat(),
    }
    
    # Create new PAT
    new_response = requests.post(
        f"{org_url}/_apis/tokens/pats",
        json=new_pat_payload,
        headers={"Authorization": f"Bearer {entra_token}"},
        params={"api-version": "7.1-preview.1"}
    )
    new_pat = new_response.json()
    print(f"Created new PAT: {new_pat['patToken']} (save securely)")
    
    # TODO: Update integrations with new PAT
    # TODO: Test new PAT
    # TODO: Revoke old PAT after verification

print(f"\nRotated {len(expiring_soon)} PATs")

Záznam auditu: Sledování vytváření a odvolání PAT

Správci organizace a bezpečnostní týmy by měly monitorovat aktivity PAT pro dodržování předpisů, řešení potíží a detekci hrozeb.

Kde najít protokoly auditu PAT

  1. Přejděte do vaší organizace: https://dev.azure.com/<org>
  2. Vyberte Nastavení organizace.
  3. Vyberte protokol auditu.
  4. K vyhledání událostí PAT použijte filtry.
  1. Přejděte do kolekce Azure DevOps Server.
  2. Vyberte Nastavení kolekce.
  3. Vyberte protokol auditu.
  4. K vyhledání událostí PAT použijte filtry.

Filtrování událostí PAT

V protokolu auditu filtrujte aktivity související s tokeny PAT:

Typ události Description Označuje
PatCreated Byl vytvořen nový PAT. Vydány nové přihlašovací údaje
PatModified Změnil se rozsah nebo vypršení platnosti PAT. Přihlašovací údaje byly aktualizovány nebo obnoveny
PatRegenerated Stávající PAT byl znovu vygenerován (obnoven) Starý token byl zrušen, vydán nový
PatRevoked PAT byl zrušen Neplatné přihlašovací údaje (okamžitý účinek)
PatInactiveRevoked PAT byl automaticky zneplatněn kvůli neaktivitě. Odebrané zastaralé přihlašovací údaje

Čtení položek protokolu auditu

Každá položka protokolu auditu obsahuje:

  • Časové razítko: Kdy došlo k akci
  • Uživatel: Kdo provedl akci (nebo "Systém" pro automatické odvolání)
  • Událost: Typ akce PAT
  • Podrobnosti: ID dotčeného PAT, rozsah, organizace (pokud je k dispozici)
  • IP adresa: Zdroj akce (pro šetření hrozeb)

Uchovávání protokolů auditu

  • Azure DevOps Services: Protokoly auditu se ve výchozím nastavení uchovávají po dobu 90 dnů (správci můžou toto nastavení nakonfigurovat)
  • Azure DevOps Server: Zásady uchovávání informací se liší podle konfigurace SQL Server (obvykle 1–2 roky).

Příklad: Zkoumání osiřelého PAT

Představte si, že najdete starý PAT, který je stále aktivní, ale neměl by být:

  1. Poznamenejte si ID PAT ze seznamu aktivních tokenů.
  2. V protokolu auditu vyhledejtePatCreated události s tímto ID.
  3. Zkontrolujte položku vytvoření: Kdo ji vytvořil, kdy, v jaké organizaci.
  4. Zkontrolujte využití: Pokud PatModified nebo PatRegenerated události existují, token byl aktivní.
  5. Kontrola zneplatnění: Pokud nedojde k žádné události PatRevoked, PAT je stále platný.
  6. Podnikněte kroky: Zneplatněte PAT, pokud už není potřeba, nebo upozorněte vlastníka, aby jej obměnil.

Osvědčené postupy pro monitorování auditu

  • Kontrolujte události PAT každý měsíc: Identifikujte osiřelé nebo podezřelé tokeny.
  • Nastavení upozornění: Pokud vaše organizace používá Azure Monitor, upozorňování na PatCreated události nebo PatRevoked události.
  • Dodržování zásad uchovávání informací: Export a archivace protokolů auditu podle požadavků na dodržování předpisů
  • Sledování podle uživatelů: Sledujte, kteří uživatelé vytvářejí nejvíce PATů (což může naznačovat rizikové postupy).
  • Zkoumání anomálií:
    • Neočekávané PatCreated události mimo pracovní dobu
    • Několik PatRevoked událostí pro stejného uživatele (možné porušení zabezpečení účtu)
    • PatCreated z neobvyklých IP adres.

Programový přístup k protokolům auditu (REST API)

Správci můžou protokol auditu dotazovat prostřednictvím rozhraní REST API:

# List recent audit log events (last 10)
curl -u :<entra-token> \
  "https://dev.azure.com/<org>/_apis/audit/auditlog?api-version=7.1-preview.1" \
  | jq '.value[] | select(.eventType | contains("Pat"))'

Zásady organizace pro vypršení platnosti PAT

Správci organizace můžou vynutit minimální životnost PAT a omezit vytváření tokenů, aby zabránili příliš širokému přístupu. Tyto zásady zajišťují dodržování standardů zabezpečení a snižují riziko dlouhodobých ohrožených přihlašovacích údajů.

  1. Přejděte na Nastavení organizace>Zásady (nebo Zabezpečení>tokeny osobního přístupu).
  2. Vyberte nastavení pro:
    • Omezení tokenů PAT s plným rozsahem: Zabraňte uživatelům vytvářet tokeny s plným přístupem k organizaci.
    • Globální omezení PAT: Omezte uživatele v vytváření tokenů, které přistupují k více organizacím.
    • Omezení životnosti tokenů: Nastavte maximální životnost PAT (například žádné tokeny trvající déle než 90 dnů).

Další informace najdete v tématu Správa PATů pomocí zásad pro správce.


Rozhraní API pro řízení životního cyklu PAT

Rozhraní API pro správu životního cyklu PAT mohou pomoci, když se údržba velkého množství tokenů prostřednictvím uživatelského rozhraní stane neudržitelnou. Správa rotace PAT pomocí programování také otevírá příležitost pravidelně měnit PATy a zkracovat jejich výchozí dobu platnosti. Aplikaci sample Python můžete nakonfigurovat s Microsoft Entra tenantem a Azure DevOps organizací.

O těchto rozhraních API si můžete poznamenat několik věcí:

  • Pro přístup k tomuto rozhraní API jsou vyžadovány přístupové tokeny Microsoft Entra. Při vytváření nových tokenů používejte silnější formu ověřování.
  • PAT můžou generovat jenom uživatelé nebo aplikace, které používají mechanismus „on-behalf-of user“. Aplikace, které používají toky autentizace nebo toky aplikace v zastoupení, které nevyvolávají přístupové tokeny Microsoft Entra, nejsou platné pro použití s tímto rozhraním API. Z tohoto důvodu instanční objekty nebo spravované identity nemohou vytvářet ani spravovat osobní přístupové tokeny.
  • Dříve rozhraní API správy životního cyklu PAT podporovala pouze user_impersonation obor, ale teď vso.pats je obor dostupný a je doporučeným oborem pro použití s těmito rozhraními API. Omezte rozsah všech aplikací, které dříve spoléhaly na user_impersonation k volání těchto rozhraní API.

Použití Azure CLI pro správu PAT

az devops CLI poskytuje příkazy pro správu tokenů PAT bez nutnosti psát vlastní skripty. Úplný referenční přehled k rozhraní CLI najdete v tématu Azure DevOps CLI a přihlášení pomocí PAT.

# List all your PATs
az devops user list

# Create a new PAT with limited scope
az devops token list \
  --organization https://dev.azure.com/myorg \
  --user <user-id>

# Example: Using az devops commands in a rotation script
# Sign in with Entra token (recommended)
az login --use-device-code

# List organization members (for bulk admin operations)
az devops security group membership list \
  --organization https://dev.azure.com/myorg \
  --group-id <admin-group-id>

Použití rozhraní REST API pro automatizované obměny

Pro rozsáhlou správu PAT použijte koncové body rozhraní REST API.

# List all PATs for a user (requires Entra token)
curl -X GET \
  -H "Authorization: Bearer <entra-token>" \
  "https://dev.azure.com/<org>/_apis/tokens/pats?api-version=7.1-preview.1"

# Create a new PAT
curl -X POST \
  -H "Authorization: Bearer <entra-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "CI/CD PAT",
    "scope": "vso.build vso.release_manage vso.code_write",
    "validTo": "2026-10-07T00:00:00.000Z"
  }' \
  "https://dev.azure.com/<org>/_apis/tokens/pats?api-version=7.1-preview.1"

# Revoke a PAT by ID
curl -X DELETE \
  -H "Authorization: Bearer <entra-token>" \
  "https://dev.azure.com/<org>/_apis/tokens/pats/<pat-id>?api-version=7.1-preview.1"

Formát PAT

Řetězce PAT používají specifický formát navržený tak, aby zlepšily detekci tajností v nástrojích pro detekci úniků PAT a nabídkách od partnerů. Formát obsahuje identifikovatelné bity, které zlepšují míru detekce falešně pozitivních výsledků a umožňují rychlejší zmírnění zjištěných úniků.

  • Tokeny mají délku 84 znaků, přičemž randomizovaná data jsou 52 znaků, což zlepšuje celkovou entropii. Tokeny jsou odolné vůči útokům hrubou silou.
  • Tokeny vydané Azure DevOps zahrnují pevný podpis AZDO na pozicích 76-80.

Pokud se integrujete s PATs a máte integrované ověřování PAT, ujistěte se, že váš ověřovací kód je přizpůsoben délce tokenu 84 znaků.

Osvědčené postupy pro používání PAT

Zvažte alternativy

  • Získejte token Microsoft Entra pomocí Azure CLI pro neplánované žádosti namísto generování tokenu PAT s delší životností.
  • Používejte správce přihlašovacích údajů jako Git Credential Manager nebo Azure Artifacts Credential Manager k usnadnění správy přihlašovacích údajů s nastavením ověřování na oauth nebo tokeny Microsoft Entra.

Vytvoření PATs

  • Neumisťujte osobní údaje do názvu PAT. Nepřejmenovávejte název PAT tak, aby zahrnoval některé nebo všechny skutečné tokeny PAT.
  • Vyhněte se vytváření globálních PATů, pokud nejsou potřeba ve všech organizacích.
  • Pro každý tok nebo případ použití použijte jiný token.
  • Vyberte pouze minimální rozsahy vyžadované pro každou PAT. Poskytněte nejnižší úroveň oprávnění nezbytnou pro váš konkrétní úkol. Vytvořte samostatné PAT s omezeným rozsahem pro různé pracovní postupy místo použití jednoho tokenu s širokým rozsahem. Pokud váš PAT potřebuje oprávnění jen pro čtení, nezadávejte oprávnění k zápisu dat, dokud nebude potřeba.
  • Udržujte životnost PAT krátkou.

Správa osobních přístupových tokenů (PATs)

  • Nesdílejte své tokeny!
  • Ukládejte své PATy v zabezpečeném řešení správy klíčů, například Azure Key Vault.
  • Pravidelně obměňujte nebo znovu vygenerujte své PAT prostřednictvím uživatelského rozhraní nebo s pomocí rozhraní API pro správu životního cyklu PAT.
  • Zrušte osobní přístupové tokeny, když už nejsou potřeba.

Pro správce

Průvodce auditem pro správce: Správa všech tokenů PAT ve vaší organizaci

Správci organizace můžou auditovat a spravovat všechny tokeny PAT v rámci celé organizace, aby prosazovali zásady zabezpečení a identifikovali rizikové tokeny.

Krok 1: Přístup ke stránce správy PAT organizace

  1. Přejděte do Nastavení organizace>>Tokeny osobního přístupu.
  2. Ve výchozím nastavení se na stránce zobrazují vaše vlastní tokeny PAT.
  3. V rozevírací nabídce vyberte Všechny PATy, aby se zobrazily tokeny všech uživatelů.
  1. Přejděte do Nastavení kolekce>>Tokeny osobního přístupu.
  2. Vyberte All PATs, chcete-li zobrazit všechny tokeny v kolekci.

Krok 2: Filtrování a identifikace vysoce rizikových tokenů

Projděte si následující vlastnosti tokenu:

  • Dlouhodobé tokeny (vypršení platnosti > 90 dnů): Kandidáti na obměnu nebo odvolání.
  • Tokeny s plným rozsahem (rozsah = vše): Nejvyšší bezpečnostní riziko; vynucujte zásady, které je omezují.
  • Globální tokeny (přístup k více organizacím): Vyhněte se těmto tokenům; zvažte alternativy vymezené organizací.
  • Neaktivní tokeny (žádná nedávná aktivita): Lze je bezpečně zrušit.
  • Tokeny vytvořené mimo pracovní dobu: Potenciální incident zabezpečení

Krok 3: Kontrola událostí PAT v protokolu auditu

  1. Přejděte do Nastavení organizace>.
  2. Filtrovat podle typu události:
    • PatCreated — Zjistí, kdy byly tokeny vydány.
    • PatRevoked – Sledujte, kdy byly tokeny zakázané.
    • PatRegenerated — Monitorujte aktivitu rotace.
  3. Exportovat protokoly auditu pro reporty o dodržování předpisů (uchovávání po dobu 90 dnů)

Krok 4: Odvolání ohrožených nebo nepoužívaných tokenů

Pokud zjistíte ohrožení zabezpečení nebo nepotřebné PAT:

  1. Přejděte do Nastavení organizace>>Osobní přístupové tokeny.
  2. Vyberte Všechny PATs.
  3. Vyberte PAT, který chcete zneplatnit.
  4. Vyberte Odvolat a potvrďte.
  5. V případě potřeby informujte vlastníka tokenu, aby vytvořil náhradní token PAT.

Krok 5: Vynucení zásad organizace

  1. Přejděte do Nastavení organizace>.
  2. Konfigurovat:
    • Omezit vytváření PAT tokenů s úplným rozsahem – Vyžadovat tokeny s vymezeným rozsahem.
    • Omezit globální vytváření PAT — Vyžadovat tokeny s rozsahem organizace
    • Nastavte maximální dobu životnosti PAT – Příklad: žádný token nesmí překročit 90 dnů.
  3. Zdokumentujte zásady v příručce zabezpečení nebo wikiwebu.

Příklad: Hromadné odebrání při ukončení přístupu

Když uživatel opustí vaši organizaci, zrušte všechny jeho PATy:

  1. Přejděte na Nastavení organizace>>Osobní přístupové tokeny>Všechny tokeny PAT.
  2. Filtrujte podle jména nebo e-mailu odcházejícího uživatele.
  3. Vyberte všechny jejich PATs.
  4. Vyberte Možnost Odvolat (hromadná akce) a potvrďte akci.

Okamžitě zrušíte platnost všech jejich PAT, takže žádná služba nemůže tyto přihlašovací údaje používat.

Nejčastější dotazy

Q. Proč nemohu upravit nebo znovu vygenerovat PAT omezený na jednu organizaci?

A. Přihlaste se k organizaci, ve které je váš obor PAT vymezený. Pokud jste přihlášeni k libovolné organizaci ve stejném Microsoft Entra ID, můžete zobrazit své osobní přístupové tokeny (PAT) tak, že změníte filtr Rozsah přístupu. Tokeny, které se vztahují k organizaci, můžete upravovat pouze, když jste přihlášeni ke konkrétní organizaci.

Q. Co se stane s PAT, pokud je uživatelský účet deaktivován?

A. Pokud je uživatelský účet zakázán nebo je uživatel odebrán z organizace, jeho tokeny PAT již nelze použít pro přístup k prostředkům organizace, protože uživatel již není autorizován. Tokeny PAT se automaticky neodstraňují ani nezneplatňují.

Pokud je přístup uživatele obnoven nebo je uživatel znovu přidán do organizace, všechny existující tokeny PAT, jejichž platnost nevypršela a které nebyly odvolány, opět fungují s oprávněními, která má uživatel k dispozici. Uživatel tyto tokeny PAT nadále uvidí na stránce osobních přístupových tokenů.

Q. Můžu používat PAT se všemi rozhraními REST API Azure DevOps?

A. Ne. PaT můžete používat s většinou rozhraní REST API Azure DevOps, ale organizace a profily a rozhraní API životního cyklu správy PAT podporují pouze tokeny Microsoft Entra.

Q. Co se stane, když někdo omylem vloží svůj PAT do veřejného úložiště na GitHubu?

A. Azure DevOps skenuje úniky osobních přístupových tokenů ve veřejných repozitářích GitHub. Po zjištění Azure DevOps upozorní vlastníka tokenu a zaznamená událost do protokolu audit log. Pokud nejsou zakázané, uniklé PATy se automaticky zruší. Další informace naleznete v tématu Automatické odvolání uniklých PAT.

Q. Můžu jako klíč rozhraní API použít osobní přístupový token k publikování balíčků NuGet do informačního kanálu Azure Artifacts pomocí dotnetu nebo nuget.exe příkazového řádku?

A. Ne. Azure Artifacts nepodporuje předávání PAT jako klíče rozhraní API. Pokud používáte místní vývojové prostředí, nainstalujte Azure Artifacts zprostředkovatele přihlašovacích údajů a ověřte se pomocí Azure Artifacts. Další informace najdete v následujících příkladech: dotnet a NuGet.exe. Pokud chcete balíčky publikovat pomocí Azure Pipelines, použijte úlohu ověřování NuGet Authenticate pro autentizaci pomocí vašeho kanálu. Další informace najdete v příkladu v Publikování balíčků NuGet s Azure Pipelines (YAML/Classic).

Q. 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í. Přihlášení jednou za 30 dní stačí pro mnoho uživatelů, ale v závislosti na konfiguraci Microsoft Entra možná budete muset přihlásit častěji. Pokud váš PAT přestane fungovat, nejprve zkuste přihlásit se k vaší organizaci a dokončit úplnou výzvu k ověření. Pokud váš token PAT stále nefunguje, zkontrolujte, jestli vypršela jeho platnost.

Pro Azure DevOps Server povolení základního ověřování IIS zneplatní použití PAT. Nechte základní ověřování služby IIS vypnuté.

Q. Jak vytvořím přístupové tokeny, které nejsou svázané s konkrétním uživatelem?

A. PATs jsou vždy přidružené k identitě uživatele, která je vytvořila. Pokud chcete použít tokeny, které nejsou svázané s konkrétním uživatelem, použijte Microsoft Entra tokeny vydané instančním objektem nebo spravovanou identitou. Pro potrubí použijte připojení služeb k ověření bez uživatelsky specifických přihlašovacích údajů. Přečtěte si další informace o omezení využití PAT napříč Azure DevOps.

Q. Jak mohu prostřednictvím rozhraní API znovu vygenerovat nebo obnovit tokeny PAT? Viděl jsem tuhle možnost v uživatelském rozhraní, ale v rozhraní API nevidím podobnou metodu.

A. Funkce opětovného generování v uživatelském rozhraní ve skutečnosti provádí několik akcí, které můžete replikovat prostřednictvím rozhraní API.

Chcete-li svůj PAT otočit, postupujte takto:

  1. Načtěte metadata PAT pomocí volání GET .
  2. Vytvořte nový PAT pomocí volání POST s původním ID PAT.
  3. Odvolejte starý PAT pomocí volání DELETE.

Q. Jak dlouho zůstává vypršelý, odvolaný nebo neaktivní PAT viditelný v seznamu tokenů Azure DevOps?

A. Nemůžete použít ani znovu vygenerovat tokeny PAT, jejichž platnost vypršela nebo byly zneplatněny. Zobrazení uchovává tyto neaktivní tokeny viditelné několik měsíců po vypršení platnosti nebo odvolání, než je automaticky odebere.

Q. Proč se při pokusu o použití aplikace Microsoft Entra k volání rozhraní API správy životního cyklu PAT zobrazí zpráva "Potřebuji schválení správcem"?

A. Zásady zabezpečení vašeho tenanta vyžadují souhlas správce, aby aplikace mohly přistupovat k prostředkům organizace. Obraťte se na správce tenanta.

Použití AI ke správě osobních přístupových tokenů

Pokud nakonfigurujete Azure DevOps MCP Server, můžete pomocí asistentů AI spravovat a kontrolovat osobní přístupové tokeny pomocí výzev v přirozeném jazyce. Server MCP poskytuje asistentovi AI zabezpečený přístup k vašim Azure DevOps datům, takže můžete vypsat tokeny, zkontrolovat data vypršení platnosti a zkontrolovat rozsahy tokenů bez procházení webového rozhraní.

Příklady výzev pro správu osobních přístupových tokenů

Úkol Příklad výzvy
Vytvoření tokenu s nejnižšími oprávněními 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
Rotace tokenů s blížící se expirací 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
Zkontrolovat hygienu tokenů List all my active PATs in <organization-name>, when each was last used, and flag any that have broader scopes than necessary
Řešení potíží s chybami ověřování 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
Najděte tokeny, které mají být nahrazeny ověřováním Entra. Show me which of my PATs in <organization-name> are used for interactive scenarios that could switch to Microsoft Entra authentication instead
Nastavení připojení služby CI/CD What's the minimum PAT scope needed for an Azure Pipelines service connection to <organization-name> that runs builds and deploys releases?

Návod

Pokud používáte Visual Studio Code, je režim agenta obzvlášť užitečný pro kontrolu a auditování osobních přístupových tokenů (PAT), včetně identifikace tokenů, které potřebují rotaci, nebo těch s přehnaně širokými rozsahy.

  • Pokud se chcete vyhnout použití zastaralých nebo uložených dat v mezipaměti z předchozích dotazů, přidejte do výzvy Do not use previously fetched data.