Udostępnij za pośrednictwem


Używanie menedżera poświadczeń git do uwierzytelniania w usłudze Azure Repos

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Menedżer poświadczeń Git upraszcza uwierzytelnianie w repozytoriach Git w usłudze Azure Repos. Menedżery poświadczeń umożliwiają używanie tych samych poświadczeń, które są używane w portalu internetowym usługi Azure DevOps Services. Menedżerowie poświadczeń obsługują uwierzytelnianie wieloskładnikowe za pośrednictwem konta Microsoft lub identyfikatora Entra Firmy Microsoft. Oprócz obsługi uwierzytelniania wieloskładnikowego w Azure Repos, menedżery poświadczeń obsługują również uwierzytelnianie dwuskładnikowe w repozytoriach GitHub.

Usługa Azure Repos zapewnia obsługę środowiska IDE dla konta Microsoft i uwierzytelniania usługi Microsoft Entra za pośrednictwem następujących klientów:

Jeśli Twoje środowisko nie ma dostępnej integracji, skonfiguruj środowisko IDE przy użyciu osobistego tokenu dostępu lub protokołu SSH w celu nawiązywania połączenia z repozytoriami.

Ważne

W ciągu następnego roku będziemy dążyć do wzmocnienia poziomu bezpieczeństwa firmy Microsoft i naszych klientów w odniesieniu do użycia i tworzenia osobistych tokenów dostępu (PATs). Jeśli obserwujesz ten blog, być może zauważyłeś, że odchodziliśmy od PATs jako zalecanej metody uwierzytelniania dla interfejsów API usługi Azure DevOps, wprowadzając restrykcyjne polityki i bardziej bezpieczne alternatywy. Tokeny PAT mogą być wektorem przyciągającym nieautoryzowany dostęp, zwłaszcza w przypadku niezabezpieczonego przechowywania, nadmiernych uprawnień lub ustawienia na długi okres.

Dowiedz się więcej o naszych wysiłkach w zmniejszenie użycia osobistego tokenu dostępu w usłudze Azure DevOps

Zainstaluj menedżera poświadczeń Git

Windows

Pobierz i uruchom najnowszy instalator Git dla systemu Windows, który zawiera Menedżera poświadczeń Git. Upewnij się, że włączono opcję instalacji menedżera poświadczeń Git.

Zrzut ekranu przedstawia wybór opcji Włącz Menedżera poświadczeń Git podczas instalacji Git dla systemu Windows.

macOS i Linux

Możesz użyć kluczy SSH do uwierzytelniania w usłudze Azure Repos lub możesz użyć usługi Git Credential Manager.

Instrukcje instalacji znajdują się w repozytorium GitHub dla usługi GCM. Na komputerze Mac zalecamy używanie homebrew. W systemie Linux można zainstalować z .deb lub tarball.

Korzystanie z menedżera poświadczeń git

Po pierwszym nawiązaniu połączenia z repozytorium Git z klienta Git menedżer poświadczeń wyświetli monit o podanie poświadczeń. Podaj swoje konto Microsoft lub poświadczenia microsoft Entra. Jeśli twoje konto ma włączone uwierzytelnianie wieloskładnikowe, menedżer poświadczeń wyświetli monit o przejście przez ten proces.

Menedżer poświadczeń Git wyświetla monit podczas polecenia Git pull

Po uwierzytelnieniu menedżer poświadczeń tworzy i buforuje token dla przyszłych połączeń z repozytorium. Polecenia usługi Git łączące się z tym kontem nie będą monitować o poświadczenia użytkownika do momentu wygaśnięcia tokenu. Token można odwołać za pośrednictwem usługi Azure Repos.

Ustawianie domyślnego typu poświadczeń jako protokołu OAuth

Domyślnie usługa GCM zażąda tokenu dostępu osobistego z usługi Azure Repos. Można jednak zmienić domyślny typ tokenu na token Microsoft Entra do uwierzytelniania w Git. Zalecamy takie podejście, ponieważ ten ostatni token ma jednogodzinne wygaśnięcie w porównaniu do 7-dniowych paTs wybite przez GCM. Wszystkie PAT-y utworzone przez usługę GCM można odwołać na stronie ustawienia użytkownika.

Aby ustawić domyślny typ poświadczeń na tokeny Microsoft Entraustaw wpis konfiguracji credential.azreposCredentialType (lub zmienną środowiskową GCM_AZREPOS_CREDENTIALTYPE) na oauth. Dowiedz się więcej o i korzystaniu z GCM w Azure Repos.

Użycie jednostki usługi jako metody uwierzytelniania

Możesz również podać jednostki usługi na potrzeby uwierzytelniania za pomocą usługi GCM. Określ identyfikatory klienta i dzierżawy jednostki usługi w tym formacie: {tenantId}/{clientId}.

git config --global credential.azreposServicePrincipal "11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222"

Należy również ustawić co najmniej jeden mechanizm uwierzytelniania, jeśli ustawisz tę wartość:

Uzyskiwanie pomocy

Można otwierać i zgłaszać problemy z programem Git Credential Manager w projekcie na GitHubie .