• Osobisty token dostępu
  • Uwierzytelnianie

Uprość uwierzytelnianie API z tokenem dostępu osobistego — Bardziej bezpieczny token API

Wyjaśnij, jak działają osobiste tokeny dostępu (PAT), kiedy ich używać, jak wspierać funkcje PAT w swoich usługach i czym różnią się one od kluczy API, tokenów API, tokenów oAuth i haseł.

Ran
Ran
Product & Design

Przestań tracić tygodnie na uwierzytelnianie użytkowników
Uruchamiaj bezpieczne aplikacje szybciej z Logto. Zintegruj uwierzytelnianie użytkowników w kilka minut i skup się na swoim głównym produkcie.
Rozpocznij
Product screenshot

Osobiste tokeny dostępu (PAT) to tokeny generowane przez użytkowników, które zastępują hasła w wywołaniach API. Zaprojektowane dla konkretnych użytkowników, PAT zapewniają bezpieczny i kontrolowany dostęp do zasobów.

Bezproblemowe uwierzytelnianie. Granularna kontrola dostępu. Uproszczone przepływy pracy. To tylko kilka powodów, dla których programiści i zespoły produktowe na całym świecie polegają na osobistych tokenach dostępu, aby zwiększyć produktywność, zarówno przy zarządzaniu pipeline'ami CI/CD, integrowaniu API, jak i dostępie do narzędzi.

Jesteś ciekawy, jak działają PAT, jakie mają korzyści lub kiedy ich używać? Ten przewodnik jest dla Ciebie.

Co to jest osobisty token dostępu?

Osobisty token dostępu to tymczasowy, bezpieczny sposób autoryzacji dostępu do Twoich osobistych zasobów i usług przez API. Jest głównie używany przez programistów do ułatwienia zadań, takich jak dostęp do API lub automatyzacja przepływów pracy, czyniąc je prostszymi i bardziej efektywnymi.

Pomyśl o osobistym tokenie dostępu jak o „kluczu” do dostępu do API, zastępującym potrzebę wprowadzania hasła. W przeciwieństwie do hasła, PAT mają określone uprawnienia i daty wygaśnięcia, co zapewnia, że są używane tylko do celów, dla których zostały przeznaczone, na przykład do uzyskiwania dostępu do profili użytkowników lub systemów fakturowania, ale nie do kontroli admina.

Kluczowe cechy osobistych tokenów dostępu:

  • Przyjazne dla deweloperów: Osobiste tokeny dostępu są łatwiejsze do zarządzania niż pełne przepływy oAuth, co czyni je idealnymi do skryptów, automatyzacji lub pipeline'ów CI/CD.
  • Wiele tokenów: Użytkownicy mogą generować i zarządzać wieloma osobistymi tokenami dostępu, z których każdy dedykowany jest do konkretnej usługi lub celu.
  • Dostęp specyficzny dla użytkownika: W odróżnieniu od globalnych kluczy API, osobiste tokeny dostępu są powiązane z indywidualnymi kontami użytkowników, co oznacza, że członkowie zespołu mogą potrzebować tworzenia osobnych tokenów do wspólnego dostępu.
  • Granularne uprawnienia: Z osobistymi tokenami dostępu, możesz definiować konkretne zakresy, przyznając dostęp tylko do zasobów i akcji, które są potrzebne.
  • Dostęp ograniczony czasowo: Osobiste tokeny dostępu można konfigurować z datami wygaśnięcia, co zmniejsza okno ryzyka w przypadku ich ujawnienia.
  • Łatwa rewokacja: W przeciwieństwie do haseł, osobiste tokeny dostępu można cofać lub regenerować bez narażania głównych danych logowania do konta.

Osobisty token dostępu vs. Bear Token vs. Token API

  1. Osobisty token dostępu jest rodzajem tokenu API: To typ tokenu API na poziomie użytkownika, powiązanego z kontem użytkownika. Przyznaje pozwolenie na dostęp do zasobów systemowych w imieniu użytkownika. PAT są bardziej bezpieczne niż tradycyjne klucze API, ponieważ pozwalają na szczegółową kontrolę uprawnień—np. na ograniczanie dostępu do określonych repozytoriów lub organizacji—i mogą obejmować daty wygaśnięcia dla dodatkowego bezpieczeństwa.
  2. Osobisty token dostępu może być użyty jako token bearer: Token bearer to sposób autoryzacji żądań API, często tworzony dynamicznie przy użyciu protokołów jak OAuth czy JWT. Osobisty token dostępu to statyczna wersja tokenu bearer, ręcznie generowana przez użytkownika (np. na GitHubie). Na przykład, używając PAT GitHub do wywołań API, wprowadzasz go w nagłówku żądania jako authorization: bearer <your-pat>. W tym przypadku, PAT działa jako token bearer.
  3. Token API to szerokie pojęcie: Token API to ogólny termin dla dowolnego tokenu używanego do uwierzytelniania żądań API. Obejmuje różne typy, takie jak tokeny bearer, tokeny OAuth i osobiste tokeny dostępu. PAT i tokeny bearer to po prostu konkretne typy tokenów API.

Wybierz swoje mechanizmy AuthN i AuthZ

Przed wprowadzeniem osobistego tokenu dostępu, ważne jest zrozumienie jego roli w szerszym kontekście metod uwierzytelniania. Z kilkoma mechanizmami do wyboru, istotne jest wiedzieć, jak się do siebie mają. Poniżej znajduje się kompleksowa tabela przedstawiająca kluczowe różnice między Osobistymi tokenami dostępu (PAT), hasłami, kluczami API i tokenami OAuth, aby pomóc Ci podjąć świadomą decyzję.

  1. Osobisty token dostępu: Lekka metoda uwierzytelniania idealna do zadań automatycznych lub dostępu API. Zapewnia precyzyjną, szczegółową kontrolę uprawnień, gwarantując bezpieczny i dostosowany dostęp.
  2. Hasło: Tradycyjne podejście uwierzytelniania używane do uzyskiwania dostępu do kont osobistych przez interfejs użytkownika. Przyznaje te same uprawnienia, co właściciel konta, nie oferując dodatkowej szczegółowości.
  3. Token OAuth: Najbardziej bezpieczna metoda pozwalająca usługom trzecim na ograniczony dostęp. Pozwala użytkownikom definiować konkretne zakresy dostępu bez ujawniania ich danych logowania, zapewniając zarówno bezpieczeństwo, jak i elastyczność.
  4. Klucz API: Zazwyczaj używany do automatyzacji dostępu API, klucze API są powiązane z kontami usług, a nie osobistymi. Jednak brakuje im szczegółowej kontroli uprawnień dostępnych w PAT czy OAuth.
FunkcjaHasłoOsobisty token dostępuToken OAuthKlucz API
DefinicjaUżytkownicy uwierzytelniają się za pomocą identyfikatora i hasła.Token do uzyskiwania dostępu do konkretnych zasobów lub API, często z ograniczonymi uprawnieniami.System, w którym użytkownicy przyznają aplikacjom trzecim dostęp do swoich danych bez udostępniania danych logowania. Np. logowanie przez GoogleUnikalny ciąg znaków używany przez klientów do uwierzytelniania żądań API.
Ograniczenie zakresuZazwyczaj przyznaje pełen dostęp do konta użytkownika po zalogowaniu.Umożliwia szczegółową kontrolę uprawnień.Pozwala użytkownikowi definiować, do czego aplikacja trzecia może mieć dostęp.Zazwyczaj przyznaje dostęp do konkretnych zasobów API. Brak granularnej kontroli.
CofnięcieTrudne do cofnięcia bez zmiany hasła, co wpływa na wiele usług.Łatwo cofany przez użytkownika lub administratora.Może być cofnięty bez wpływu na dane uwierzytelniania użytkownika.Może być cofnięty lub zregenerowany na poziomie usługi API.
WygaśnięcieNie wygasa, chyba że zmienione przez użytkownika.Często długotrwałe, ale konfigurowalne do wygasania.Tokeny dostępu wygasają po ustalonym czasie; tokeny odświeżania mogą przedłużać dostęp.Często długotrwałe, ale mogą być rotowane lub ograniczane przez dostawcę API.
Łatwość użyciaŁatwe do zapamiętania, ale ryzykowne w przypadku niewłaściwego obchodzenia się.Proste do generowania i używania w zadaniach automatycznych.Wymaga początkowej interakcji użytkownika, ale oferuje bezpieczną delegację dostępu.Łatwe do użycia w żądaniach, ale nie idealne do uwierzytelniania skierowanego do użytkowników.
Najlepsze dlaPodstawowe logowanie i weryfikacja użytkowników po stronie klienta.Automatyzacja, dostęp do ograniczonych zasobów API i rozwój w pipeline'ach CI/CD.Aplikacje trzecie potrzebujące ograniczonego dostępu do danych użytkowników bez przechowywania haseł.Usługi backendowe, komunikacja serwer-serwer i publiczne API.
Ryzyko bezpieczeństwaJeśli skradzione, daje pełen dostęp do konta.Jeśli wycieknięte, przyznaje dostęp tylko do określonych zasobów. Może być łatwo cofnięte.Jeśli wycieknięte, aplikacje trzecie mogą wykonywać akcje w ramach przyznanego zakresu.Jeśli skradzione, jest zazwyczaj używane do dostępu serwer-serwer.

Jak działają osobiste tokeny dostępu?

Osobiste tokeny dostępu działają podobnie jak tokeny dostępu OAuth, ale są zazwyczaj ciągami znaków bez danych, które można by odczytać w ich treści przez użytkownika. Kiedy uwierzytelniasz się przy użyciu serwisu, takiego jak GitHub, możesz wygenerować PAT powiązany z twoim kontem użytkownika i przypisać mu określone uprawnienia. Token ten służy jako bezpieczna alternatywa dla używania hasła przy składaniu żądań—na przykład uzyskiwania dostępu do prywatnego repozytorium za pośrednictwem API.

Zazwyczaj, PAT jest włączany w nagłówkach żądań, jak pokazano w tym przykładzie:

Wysyłając swój PAT w ten sposób, serwis może zweryfikować twoją tożsamość, ocenić uprawnienia powiązane z twoim tokenem i albo zapewnić żądane dane, albo wykonać określoną akcję.

Jak używać osobistego tokenu dostępu?

  • Wygeneruj osobisty token dostępu: Zacznij od stworzenia osobistego tokenu dostępu za pośrednictwem platformy, z której korzystasz. I wybierając konkretne zakresy, aby określić jego uprawnienia dostępu (zakresy).
  • Uwierzytelnij żądania API: Z gotowym tokenem dostępu, użyj go do uwierzytelnienia żądań do usług wymagających bezpiecznego dostępu. Włącz token jako token bearer w nagłówku autoryzacji żądań API.
  • Cofnij osobisty token dostępu: Jeśli musisz dezaktywować swój token, po prostu cofnij go przez ustawienia uwierzytelnienia platformy. Po cofnięciu, każde żądanie API z tym tokenem będzie automatycznie odrzucane.

Kiedy powinienem używać osobistych tokenów dostępu?

Osobiste tokeny dostępu sprawdzają się w sytuacjach, gdy trzeba zapewnić bezpieczny, przyjazny dla deweloperów i zdefiniowany dostęp do swoich API. Oto kilka idealnych przypadków zastosowania:

  • Zadania automatyczne: Idealne dla skryptów lub narzędzi, które muszą pobierać dane z API bez wymagania, aby deweloperzy osadzali wrażliwe dane logowania.
  • Granularna kontrola uprawnień: Umożliwiają precyzyjny dostęp, przyznając skryptom lub narzędziom ograniczone uprawnienia, takie jak dostęp do określonych repozytoriów, bez ujawniania pełnych uprawnień do konta.
  • Tymczasowy dostęp: Idealne dla sytuacji czasowych, gdzie ograniczenie długości dostępu minimalizuje ryzyko bezpieczeństwa.
  • Uproszczony dostęp dla deweloperów: Wygodny sposób przyznawania dostępu poszczególnym deweloperom bez złożoności konfigurowania pełnego przepływu autoryzacji OAuth.
  • Integracja z aplikacjami trzecimi: Optymalizacja funkcjonalności z zewnętrznymi narzędziami poprzez ograniczanie dostępu do konkretnych zdefiniowanych wcześniej akcji. Na przykład, gdy firma korzysta z narzędzia do zarządzania projektami, integracja z aplikacjami trzecimi może pozwolić członkom zespołu na tworzenie zadań lub aktualizowanie statusów bezpośrednio z chatu Slack, bez potrzeby pełnego dostępu do narzędzia do zarządzania projektami.

GitHub od 2013 roku wspiera użycie osobistych tokenów dostępu, stających się popularnymi dzięki prostocie i elastyczności. Wiele narzędzi deweloperskich i platform SaaS popiera PAT, czyniąc je łatwymi w użyciu i ulubionym wyborem programistów:

  • GitHub/GitLab/Azure DevOps (Narzędzia deweloperskie): Pomaga w automatyzacji CI/CD, podłączaniu do innych narzędzi i zarządzaniu kodem w repozytoriach.

    github-personal-access-token.png

  • Figma (Narzędzia do projektowania): Ułatwia współpracę nad projektami za pomocą integracji API.

    figma-personal-access-token.png

  • Atlassian Jira / Asana (Zarządzanie projektami): Ułatwia tworzenie, aktualizowanie lub usuwanie zadań, zarządzanie sprintami i organizację projektów za pomocą API.

    jira-personal-access-token-admin.png

Czy mogę udostępniać osobisty token dostępu innym użytkownikom?

Krótka odpowiedź—Nie, nie powinieneś.

Tokeny mają być powiązane z indywidualnym kontem i nie powinny być udostępniane. Jeśli inni potrzebują dostępu, najlepiej jest wygenerować unikalne tokeny z ich uprawnieniami lub skonfigurować role użytkowników, aby uniknąć ryzyka bezpieczeństwa. Niewłaściwe użycie tokenów może prowadzić do niezamierzonego dostępu, kompromitacji danych lub naruszeń prywatności. Zachowaj prywatne tokeny i cofnij te, które uważasz za skompromitowane.

Włącz swoją aplikację do generowania osobistych tokenów dostępu za pomocą Logto

Niezależnie od tego, czy oferujesz usługi B2B czy rozwijasz nowoczesne produkty AI, implementacja przyjaznego dla deweloperów uwierzytelniania i autoryzacji jest kluczowa. Osobisty token dostępu może otworzyć nowe możliwości dla Twojego biznesu.

Logto, kompleksowe rozwiązanie do zarządzania tożsamościami i dostępem klienta (CIAM), pozwala na łatwe tworzenie, zarządzanie i cofanie osobistych tokenów dostępu. Oto jak możesz zacząć:

  1. Przejdź do Logto Console > Zarządzanie użytkownikami.
  2. Uzyskaj dostęp do profilu konkretnego użytkownika, aby zarządzać jego osobistymi tokenami dostępu.

personal-acess-tokens-management.webp

Z Logto możesz:

  • Generować nowe osobiste tokeny dostępu.
  • Zarządzać wieloma tokenami dla jednego użytkownika.
  • Ustawiać niestandardowe daty wygaśnięcia dla tokenów.
  • Zmieniać nazwy tokenów dla lepszej organizacji.
  • Cofać tokeny, gdy nie są już potrzebne.

logto-create-personal-access-token.png

Dodatkowo, możesz umożliwić użytkownikom samodzielne zarządzanie ich osobistymi tokenami dostępu na stronach ustawień profilu za pośrednictwem Logto Management API.