Używanie osobistych tokenów dostępu
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Możesz użyć osobistego tokenu dostępu (PAT) jako alternatywnego hasła do uwierzytelniania w usłudze Azure DevOps. W tym artykule przedstawiono sposób tworzenia, używania, modyfikowania i odwoływanie paT dla usługi Azure DevOps.
W poniższym filmie wideo pokazano, jak utworzyć i użyć tokenu dostępu.
Informacje o osobistych tokenach dostępu
Osobisty token dostępu zawiera poświadczenia zabezpieczeń dla usługi Azure DevOps. Osobisty token dostępu identyfikuje Ciebie, organizacje dostępne dla Ciebie oraz zakresy dostępu. Dlatego jest on tak krytyczny jak hasła, więc należy traktować go w taki sam sposób.
Jeśli korzystasz z narzędzi firmy Microsoft, akceptowalną i dobrze obsługiwaną metodą jest użycie Twojego konta Microsoft (MSA) lub konta usługi Microsoft Entra ID. Jeśli jednak korzystasz z narzędzi innych firm, które nie obsługują kont Microsoft ani kont usługi Microsoft Entra — lub jeśli nie chcesz udostępniać swoich podstawowych danych uwierzytelniających dla narzędzia — używaj osobistych tokenów dostępu, aby ograniczyć ryzyko.
Możesz tworzyć osobiste tokeny dostępu i zarządzać nimi za pomocą jednej z następujących metod:
- interfejs użytkownika w ustawieniach użytkownika, który opisano szczegółowo w tym artykule
- za pośrednictwem interfejsu API zarządzania cyklem życia pat
Aby skonfigurować pakiety PAT dla narzędzi innych niż Microsoft, użyj menedżerów poświadczeń usługi Git lub utwórz je ręcznie. Zalecamy przejrzenie naszych wskazówek dotyczących uwierzytelniania, aby ułatwić wybór odpowiedniego mechanizmu uwierzytelniania. W przypadku mniejszych projektów, które wymagają mniej niezawodnego rozwiązania, osobiste tokeny dostępu są prostą alternatywą. Jeśli użytkownicy nie korzystają z menedżera poświadczeń, muszą wprowadzać poświadczenia za każdym razem.
Tworzenie tokenu dostępu
Zaloguj się do organizacji (
https://dev.azure.com/{yourorganization}
).Na stronie głównej otwórz ustawienia użytkownika i wybierz pozycję Osobiste tokeny dostępu.
Wybierz pozycję + Nowy token.
Nadaj tokenowi nazwę, wybierz organizację, w której chcesz użyć tokenu, a następnie ustaw token, aby automatycznie wygasał po określonej liczbie dni.
Wybierz zakresy dla tego tokenu, aby autoryzować określone zadania.
Aby na przykład utworzyć token umożliwiający uwierzytelnienie agenta kompilacji i wydania w usługach Azure DevOps Services, ogranicz zakres tokenu do pul agentów (odczyt i zarządzanie). Aby odczytać zdarzenia dziennika inspekcji i zarządzać strumieniami i usuwać je, wybierz pozycję Odczyt dziennika inspekcji, a następnie wybierz pozycję Utwórz.
Uwaga
Twoje możliwości tworzenia pełnozakresowych osobistych tokenów dostępu mogą być ograniczone. Jeśli tak jest, oznacza to, że administrator usługi Azure DevOps w usłudze Microsoft Entra ID włączył zasady, które wprowadzają ograniczenie do określonego niestandardowego zestawu zakresów. Aby uzyskać więcej informacji, zobacz Manage PATs with policies/Restrict creation of full-scoped PATs (Zarządzanie sieciami uprzywilejowanymi przy użyciu zasad/Ograniczanie tworzenia pełnych zakresów paTs). W przypadku niestandardowego zdefiniowanego tokenu DOSTĘPU wymagany zakres dostępu do interfejsu API
vso.governance
ładu składników nie jest wybierany w interfejsie użytkownika.Po zakończeniu skopiuj token i zapisz go w bezpiecznej lokalizacji. W przypadku zabezpieczeń nie są wyświetlane ponownie.
Ostrzeżenie
Traktuj i używaj patu, takiego jak hasło, i zachowaj go w tajemnicy.
Użyj swojego patu w dowolnym miejscu, w jakim poświadczenia użytkownika są wymagane do uwierzytelniania w usłudze Azure DevOps.
Ważne
W przypadku organizacji wspieranych przez identyfikator Entra firmy Microsoft masz 90 dni na zalogowanie się przy użyciu nowego identyfikatora pat. W przeciwnym razie jest to uznawane za nieaktywne. Aby uzyskać więcej informacji, zobacz Częstotliwość logowania użytkownika dla dostępu warunkowego.
Notifications
Użytkownicy otrzymują dwa powiadomienia w okresie istnienia pat - jeden po utworzeniu, a drugi siedem dni przed wygaśnięciem.
Po utworzeniu tokenu dostępu otrzymasz powiadomienie podobne do poniższego przykładu. To powiadomienie potwierdza, że twój identyfikator dostępu został dodany do organizacji.
Na poniższej ilustracji przedstawiono przykład siedmiodniowego powiadomienia przed wygaśnięciem tokenu dostępu.
Aby uzyskać więcej informacji, zobacz Konfigurowanie serwera SMTP i dostosowywanie poczty e-mail na potrzeby alertów i żądań opinii.
Nieoczekiwane powiadomienie
Jeśli otrzymasz nieoczekiwane powiadomienie o patu, administrator lub narzędzie mogło utworzyć identyfikator DOSTĘPU w Twoim imieniu. Zobacz poniższe przykłady.
- Podczas nawiązywania połączenia z repozytorium Git usługi Azure DevOps za pośrednictwem git.exe. tworzy token o nazwie wyświetlanej, takiej jak "git:
https://MyOrganization.visualstudio.com/
on MyMachine". - Gdy użytkownik lub administrator konfiguruje wdrożenie aplikacji internetowej usługi aplikacja systemu Azure Service, tworzy token o nazwie wyświetlanej, takiej jak "Service Hooks: : aplikacja systemu Azure Service: : Deploy web app".
- Gdy użytkownik lub administrator konfiguruje testowanie obciążenia internetowego w ramach potoku, tworzy token o nazwie wyświetlanej, takiej jak "WebAppLoadTestCDIntToken".
- Po skonfigurowaniu rozszerzenia usługi Microsoft Teams Integration Messaging tworzy token o nazwie wyświetlanej, takiej jak "Integracja z usługą Microsoft Teams".
Ostrzeżenie
Jeśli uważasz, że pat istnieje w błędzie, sugerujemy odwołanie pat. Następnie zmień hasło. Jako użytkownik firmy Microsoft Entra sprawdź, czy twoja organizacja została użyta z nieznanego źródła lub lokalizacji. Zobacz również często zadawane pytania dotyczące przypadkowego zaewidencjonowania tokenu dostępu do publicznego repozytorium GitHub.
Korzystanie z pat
Twój identyfikator dostępu to Twoja tożsamość i reprezentuje Cię podczas korzystania z niego, podobnie jak hasło.
Usługa Git
Interakcje z usługą Git wymagają nazwy użytkownika, która może być niczym innym niż pusty ciąg.
Aby użyć tokenu PAT z uwierzytelnianiem podstawowym PROTOKOŁU HTTP, użyj polecenia Base64-encode
dla $MyPat
elementu , który znajduje się w poniższym bloku kodu.
W programie PowerShell wprowadź następujący kod.
$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
Aby zachować bezpieczeństwo tokenu, użyj menedżerów poświadczeń, aby nie trzeba było wprowadzać poświadczeń za każdym razem. Zalecamy narzędzie Git Credential Manager. Usługa Git dla systemu Windows jest wymagana.
Istniejące repozytoria
W przypadku istniejących repozytoriów, jeśli źródło jest już dodane przy użyciu nazwy użytkownika, uruchom najpierw następujące polecenie.
git remote remove origin
W przeciwnym razie uruchom następujące polecenie.
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
Używanie tokenu pat w kodzie
Możesz użyć tokenu DOSTĘPU w kodzie.
Jeśli chcesz podać pat za pośrednictwem nagłówka HTTP, najpierw przekonwertuj go na ciąg Base64. W poniższym przykładzie pokazano, jak przekonwertować na base64 przy użyciu języka C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
Wynikowy ciąg można następnie podać jako nagłówek HTTP w następującym formacie.
W poniższym przykładzie użyto klasy HttpClient w języku 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());
}
}
Napiwek
Gdy używasz zmiennych, dodaj element $
na początku ciągu, podobnie jak w poniższym przykładzie.
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());
}
}
Gdy kod działa, warto przełączyć się z podstawowego uwierzytelniania na protokół OAuth.
Aby uzyskać więcej informacji i przykładów używania paT, zobacz następujące artykuły:
- Menedżerowie poświadczeń usługi Git
- Interfejsy API REST
- NuGet na komputerze Mac
- Klienci raportowania
- Wprowadzenie do interfejsu wiersza polecenia usługi Azure DevOps.
Modyfikowanie pat
Możesz ponownie wygenerować lub rozszerzyć identyfikator pat i zmodyfikować jego zakres. Po rewitalizacji poprzedni pat nie jest już autoryzowany.
Na stronie głównej otwórz ustawienia użytkownika, a następnie wybierz pozycję Profil.
W obszarze Zabezpieczenia wybierz pozycję Osobiste tokeny dostępu. Wybierz token, który chcesz zmodyfikować, a następnie pozycję Edytuj.
Edytuj nazwę tokenu, wygaśnięcie tokenu lub zakres dostępu skojarzony z tokenem, a następnie wybierz pozycję Zapisz.
Odwoływanie pat
W dowolnym momencie możesz odwołać pat z różnych powodów.
Na stronie głównej otwórz ustawienia użytkownika, a następnie wybierz pozycję Profil.
W obszarze Zabezpieczenia wybierz pozycję Osobiste tokeny dostępu. Wybierz token, dla którego chcesz odwołać dostęp, a następnie wybierz pozycję Odwołaj.
Wybierz pozycję Odwołaj w oknie dialogowym potwierdzenia.
Powiązane artykuły
- Informacje o zabezpieczeniach, uwierzytelnianiu i autoryzacji
- Domyślne uprawnienia i dostęp dla usługi Azure DevOps
- Odwoływanie paT użytkowników (dla administratorów)
- Zarządzanie jednostkami usługi i tożsamościami zarządzanymi w usłudze Azure DevOps
Często zadawane pytania
Pyt.: Co się stanie z patem dostępu, jeśli konto użytkownika jest wyłączone?
1: Po usunięciu użytkownika z usługi Azure DevOps token pat zostanie unieważniony w ciągu 1 godziny. Jeśli Twoja organizacja jest połączona z identyfikatorem entra firmy Microsoft, identyfikator pat jest również unieważniany w identyfikatorze Entra firmy Microsoft, ponieważ należy do użytkownika. Zalecamy, aby użytkownik obracał swój identyfikator dostępu do innego użytkownika lub konta usługi w celu zapewnienia działania usług.
Pyt.: Czy istnieje sposób odnowienia tokenu dostępu za pośrednictwem interfejsu API REST?
Ach: Tak, istnieje sposób odnawiania, zarządzania i tworzenia paT przy użyciu naszych interfejsów API zarządzania cyklem życia pat. Aby uzyskać więcej informacji, zobacz Zarządzanie punktami uprzywilejowanymi przy użyciu interfejsu API REST i nasze często zadawane pytania.
Pyt.: Czy mogę używać podstawowego uwierzytelniania ze wszystkimi interfejsami API REST usługi Azure DevOps?
Odpowiedź: Nie. Podstawowe uwierzytelnianie można używać z większością interfejsów API REST usługi Azure DevOps, ale organizacje i profile obsługują tylko protokół OAuth. Aby uzyskać więcej informacji, zobacz Zarządzanie punktami pat przy użyciu interfejsu API REST.
Pyt.: Co się stanie, jeśli przypadkowo zaewidencjonuję swój pat w repozytorium publicznym w usłudze GitHub?
Uwierzytelnianie: Usługa Azure DevOps skanuje pod kątem paT zaewidencjonowane w repozytoriach publicznych w witrynie GitHub. Gdy znajdziemy wyciekły token, natychmiast wyślemy szczegółowe powiadomienie e-mail do właściciela tokenu i zarejestrujemy zdarzenie w dzienniku inspekcji organizacji usługi Azure DevOps. O ile nie wyłączono zasad Automatycznego odwoływania ujawnionych osobistych tokenów dostępu, natychmiast odwołujemy wyciekły token pat. Zachęcamy użytkowników, których dotyczy problem, aby natychmiast rozwiązać ten problem, odwołując ujawniony token i zastępując go nowym tokenem.
Aby uzyskać więcej informacji, zobacz Automatyczne odwoływanie wycieku paTs.
Pyt.: Czy mogę użyć osobistego tokenu dostępu jako klucza ApiKey do publikowania pakietów NuGet w kanale informacyjnym usługi Azure Artifacts przy użyciu wiersza polecenia dotnet/nuget.exe?
Odpowiedź: Nie. Usługa Azure Artifacts nie obsługuje przekazywania osobistego tokenu dostępu jako klucza ApiKey. Podczas korzystania z lokalnego środowiska programistycznego zalecamy zainstalowanie dostawcy poświadczeń usługi Azure Artifacts w celu uwierzytelniania się w usłudze Azure Artifacts. Aby uzyskać więcej informacji, zobacz następujące przykłady: dotnet, NuGet.exe. Jeśli chcesz opublikować pakiety przy użyciu usługi Azure Pipelines, użyj zadania Uwierzytelniania NuGet, aby uwierzytelnić się przy użyciu przykładu źródła danych.
Pyt.: Dlaczego mój pat przestał działać?
Uwierzytelnianie pat wymaga regularnego logowania się do usługi Azure DevOps przy użyciu pełnego przepływu uwierzytelniania. Co 30 dni jest wystarczająca dla wielu, ale może być konieczne zalogowanie się częściej niż w zależności od konfiguracji firmy Microsoft Entra. Jeśli twój pat przestanie działać, najpierw spróbuj zalogować się do organizacji, upewniając się, że przejdziesz przez pełny monit uwierzytelniania. Jeśli twój pat nadal nie działa po tym, sprawdź, czy twój pat wygasł.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla