Sdílet prostřednictvím


Ověřování s využitím Azure Repos

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Výběr správné metody ověřování je zásadní pro zabezpečený přístup k úložištím Azure Repos a Azure DevOps Server Git. Bez ohledu na to, jestli pracujete z příkazového řádku nebo používáte klienta Git, který podporuje PROTOKOL HTTPS nebo SSH, je důležité zvolit přihlašovací údaje, které poskytují nejen potřebný přístup, ale také omezit rozsah na to, co je potřeba pro vaše úkoly.

Vždy odvolejte přihlašovací údaje, pokud už nejsou potřeba k zachování zabezpečení vašich úložišť. Tento přístup zajišťuje, že máte flexibilitu pracovat s kódem bezpečně a efektivně a zároveň ho chránit před neoprávněným přístupem.

Mechanismy ověřování

Tokeny Microsoft Entra OAuth

Pomocí Microsoft Entra vygenerujte tokeny pro přístup k rozhraním REST API . Tokeny Microsoft Entra se dají použít všude, kde se používají osobní přístupové tokeny. Tady je užitečný tip, jak získat jednorázový přístupový token z Azure CLI pro volání gitu fetch:

$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}

Rada

Místo toho se podívejte na Git Credential Manager (GCM), abyste se vyhnuli každému zadávání přihlašovacích údajů. Ke generování tokenů Microsoft Entra použijte GCM s výchozím typem přihlašovacích údajů jako Oauth.

Osobní přístupové tokeny (PAT)

tokeny PAT (Personal Access Tokens) poskytují přístup k Azure DevOps bez použití uživatelského jména a hesla přímo. Platnost těchto tokenů vyprší a umožní vám omezit rozsah dat, ke kterým mají přístup.

Pomocí patů ověřte, jestli v systému nemáte nastavené klíče SSH nebo potřebujete omezit oprávnění udělená přihlašovacími údaji.

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, Base64-encode$MyPat, jak je uvedeno v následujícím 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

Spropitné

Pokud používáte osobní přístupové tokeny pravidelně, zvažte použití Správce přihlašovacích údajů Gitu (GCM), abyste se vyhnuli nutnosti zadávat přihlašovací údaje pokaždé. Ještě lepší je prozkoumat použití GCM s výchozím typem přihlašovacích údajů jako Oauth k vygenerování tokenů Microsoft Entra místo PAT, kdykoli je to možné.

Klíče SSH

Ověřování pomocí klíče pomocí SSH funguje prostřednictvím páru veřejného a privátního klíče, který vytvoříte v počítači. Veřejný klíč přidružíte k uživatelskému jménu z webu. Azure DevOps zašifruje data odesílaná tímto klíčem při práci s Gitem. Data v počítači dešifrujete pomocí privátního klíče, který se nikdy nesdílí ani neodesílají přes síť.

Animovaný obrázek GIF znázorňující přidání veřejného klíče SSH do Azure DevOps

SSH je skvělou volbou, pokud už máte nastavený systém – stačí přidat veřejný klíč do Azure DevOps a naklonovat úložiště pomocí SSH. SSH může být preferováno pro uživatele s Linuxem, macOS nebo Windows, kteří používají Git pro Windows a nemohou používat správce přihlašovacích údajů git nebo osobní přístupové tokeny pro HTTPS ověřování.

Další informace najdete v tématu Nastavení SSH pomocí Azure DevOps.

Generování tokenů pomocí Git Credential Manageru

Použijte Git Credential Manager (GCM), abyste se vyhnuli zadávání přihlašovacích údajů pokaždé a při přístupu k Azure Repos zajistili lepší zabezpečení vašeho tokenu. Přihlaste se k webovému portálu, vygenerujte token a pak token použijte jako heslo, když se připojujete k Azure Repos. Tokeny Microsoft Entra nebo PAT se generují na vyžádání, pokud máte nainstalovaného a uloženého správce přihlašovacích údajů místně pro použití s příkazovým řádkem Git nebo jiným klientem.

Existující úložiště

  • Odebrat existující zdroj: Pokud jste dříve přidali zdroj pomocí uživatelského jména, odeberte ho spuštěním následujícího příkazu:

    git remote remove origin

  • Ověření pomocí PAT: Pokud narazíte na problémy se standardním ověřením, spusťte následující příkaz pro ověření prostřednictvím příkazového řádku:

    git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>

    git push -u origin --all

    path to git repo = /_git/do odkazuje na strukturu cest URL používanou v úložištích Azure DevOps pro Git. Segment /_git/ označuje, že přistupujete k úložišti Git, a měli byste nahradit do skutečným názvem úložiště. Pokud je například vaše úložiště pojmenované my-repo, cesta by byla/_git/my-repo.

  • Clone repository: Pokud používáte Git a potřebujete provést ověření, spusťte následující příkaz:

    git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}

    Nahraďte {organization} názvem organizace Azure DevOps a {repository} názvem úložiště.