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 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íť.
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
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 nahraditdo
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ě.