Refresh Token a Access Token: czym się różnią i dlaczego to ma znaczenie w Microsoft Entra ID
By Mirko Peters ·
Refresh Token a Access Token: czym się różnią i dlaczego to ma znaczenie w Microsoft Entra ID
Automatically translated with AI from the original post. Read the English original

Jeśli kiedykolwiek zastanawiałeś się, co naprawdę odróżnia refresh token od access tokena, trafiłeś we właściwe miejsce. W świecie Microsoft Entra ID i nowoczesnego bezpieczeństwa chmury te dwa typy tokenów odgrywają główne role, a każdy ma własne zadanie, specyficzne cechy i zasady bezpieczeństwa. Dobre zrozumienie tych różnic może uratować projekt bezpiecznych przepływów logowania do Microsoft 365, Azure lub dowolnej aplikacji połączonej z platformą Entra.
To nie jest wyłącznie teoria. Wiedza o tym, którego tokena użyć i kiedy, gdzie go przechowywać i jak go bezpiecznie chronić, to podstawowa umiejętność każdego specjalisty IT, dewelopera czy administratora pracującego w ekosystemie Microsoft. Ten wybór wpływa nie tylko na poziom bezpieczeństwa aplikacji, ale także na codzienne doświadczenia użytkowników, szczególnie w kwestii pozostawania zalogowanym i odzyskiwania sprawności po incydentach bezpieczeństwa.
W tym przewodniku zobaczysz dokładnie, jak access tokeny i refresh tokeny wpisują się w konfiguracje uwierzytelniania i autoryzacji, dlaczego ich czas życia ma znaczenie i co wyróżnia każdy z nich, zwłaszcza w środowiskach Microsoft Entra ID. Na koniec będziesz wiedział, jak wyważyć silne środki bezpieczeństwa z płynnym doświadczeniem użytkownika, poruszając się po złożonym krajobrazie zarządzania tokenami w chmurze.
Zrozumienie tokenów we nowoczesnym uwierzytelnianiu
Nowoczesne uwierzytelnianie polega na przydzielaniu właściwych uprawnień we właściwym momencie, a kluczową rolę odgrywają cyfrowe tokeny. Jeśli masz aplikację lub usługę online, najprawdopodobniej już z nich korzystasz, nawet jeśli jeszcze o tym nie wiesz. To one pośredniczą w tym, by aplikacje mogły potwierdzić Twoją tożsamość przed usługą w chmurze, bez konieczności podawania hasła za każdym razem.
Tokeny stanowią serce frameworku OAuth 2.0, który obsługuje logowania i bezpieczny dostęp na platformach takich jak Microsoft Entra ID. Zamiast zarządzać identyfikatorami sesji czy kruchymi plikami cookie, aplikacje opierają się teraz na tych sprytnych cyfrowych „przepustkach”, które identyfikują użytkowników i przyznają dostęp do wrażliwych zasobów w chmurze. Ta zmiana sprawiła, że bezpieczeństwo jest zarówno ściślejsze, jak i wygodniejsze dla dużych organizacji przechodzących do chmury.
Cała magia polega na tym, że istnieją różne rodzaje tokenów do różnych zadań. Jedne służą do dostępu tymczasowego – szybkie i jednorazowe. Inne podtrzymują sesje w tle, dzięki czemu możesz pracować cały dzień bez ciągłego ponownego logowania. To rozróżnienie między access a refresh tokenami jest kluczowe dla tego, jak usługi chmurowe Microsoftu, w tym Entra ID, utrzymują równowagę między wygodą użytkownika a bezpieczeństwem organizacji.
Ta sekcja wprowadza podstawy, które są potrzebne: czym jest token, jakie typy istnieją i dlaczego ich role mają tak duże znaczenie we współczesnym krajobrazie uwierzytelniania. Przejdźmy do szczegółów, zaczynając od najbardziej podstawowego pytania – czym dokładnie jest token?
Czym jest token?
Token w bezpieczeństwie cyfrowym to zwarta porcja danych, która pełni funkcję cyfrowego poświadczenia. Wyobraź sobie go jako cyfrową wersję karty dostępu – coś, co aplikacja przedstawia, aby udowodnić Twoją tożsamość lub uprawnienia innemu systemowi. Tokeny mogą służyć do uwierzytelniania (czy jesteś tym, za kogo się podajesz?) oraz autoryzacji (czy możesz robić to, co właśnie robisz?) w aplikacjach chmurowych i interfejsach API.
Tokeny zazwyczaj opierają się na nowoczesnych standardach, takich jak OAuth 2.0, i często występują jako tokeny na okaziciela (bearer tokens), na przykład JSON Web Tokens (JWT). Są preferowane wobec klasycznych identyfikatorów sesji, ponieważ są bardziej przenośne, mogą zawierać ustrukturyzowane roszczenia (claims) i umożliwiają bezpieczny dostęp do zasobów chmurowych oraz systemów rozproszonych.
Czym są access tokeny?
Access tokeny to krótkotrwałe poświadczenia cyfrowe, wydawane aplikacji po pomyślnym uwierzytelnieniu. Ich głównym celem jest przyznanie tymczasowego, ściśle zakresowego dostępu do konkretnych zasobów – takich jak interfejsy API, dane użytkowników czy magazyny w chmurze – bez ujawniania haseł ani innych wrażliwych informacji.
Tokeny te są ważne tylko przez ograniczony czas, zazwyczaj 30–90 minut w Microsoft Entra ID. To właśnie je aplikacje wysyłają przy każdym żądaniu do API, aby potwierdzić, że użytkownik ma uprawnienia. Zgodnie ze standardami OAuth 2.0 access tokeny działają w Microsoft 365, Azure i każdej usłudze połączonej z Entra ID, zapewniając szczegółowe, ograniczone czasowo uprawnienia.
Czym są refresh tokeny?
Refresh tokeny to trwałe poświadczenia przyznawane zaufanym aplikacjom po pierwszym logowaniu. W przeciwieństwie do access tokenów, główne zadanie refresh tokena polega na cichym pobieraniu nowych access tokenów, gdy bieżący wygaśnie – bez konieczności ponownego uwierzytelniania się przez użytkownika.
Oznacza to, że token odświeżania pomaga utrzymywać długotrwałe sesje i ogranicza potrzebę wielokrotnego logowania się przez użytkowników. W środowiskach Microsoft tokeny odświeżania są kluczowe dla płynnego działania aplikacji: pozwalają im cicho odnawiać dostęp w tle, w ramach sesji, na różnych urządzeniach, a nawet po chwilowych problemach z siecią, jednocześnie chroniąc wrażliwe poświadczenia.
Kluczowe różnice między tokenem dostępu a tokenem odświeżania
Na pierwszy rzut oka tokeny dostępu i tokeny odświeżania mogą wyglądać jak losowe ciągi znaków, ale ich role i czas życia są diametralnie różne. Nie są one wymienne. Zostały zaprojektowane do bardzo konkretnych zadań w procesie uwierzytelniania w Microsoft Entra ID.
Tokeny dostępu to Twoja „przepustka” do wywoływania interfejsów API i pobierania danych, ale tylko na krótki czas. Mają celowo krótki okres ważności, aby ograniczyć ryzyko bezpieczeństwa, zwłaszcza w razie ich wycieku. Tokeny odświeżania z kolei utrzymują się dłużej. Ich zadaniem jest zapewnienie płynności korzystania z aplikacji poprzez ciche ponowne autoryzowanie w tle.
Zrozumienie tych różnic to coś więcej niż ćwiczenie teoretyczne. Jeśli wybierzesz niewłaściwą strategię albo przechowasz token w niewłaściwym miejscu, albo będziesz frustrować użytkowników zbyt częstym ponownym logowaniem, albo pozostawisz poważne luki w zabezpieczeniach. Kolejne sekcje omawiają, za co odpowiada każdy token, jak długo jest ważny i co sprawia, że jest bezpieczny (lub ryzykowny) w praktyce, a nie tylko w teorii.
Jeśli projektujesz rozwiązania dla Microsoft 365, Azure lub dowolnej usługi połączonej z Microsoft Entra ID, zwróć uwagę na poniższe różnice. Determinują one, jak Twoja aplikacja równoważy szczelne zabezpieczenia z płynnymi, nieprzerwanymi sesjami wszystkich użytkowników.
Role funkcjonalne: co robią
Tokeny dostępu to Twoja przepustka do interfejsów API i zasobów chmury, ale ich zasięg jest ograniczony. Gdy token dostępu wygaśnie, nie masz dostępu, chyba że masz też token odświeżania. Token odświeżania działa jak przepustka za kulisami: daje aplikacji prawo do cichego zażądania nowego tokenu dostępu bez ponownego angażowania użytkownika.
Tak więc w świecie chmury Microsoft 365 i Azure tokeny dostępu obsługują działania „tu i teraz”, a tokeny odświeżania zapewniają, że te działania mogą być kontynuowane w tle, sesja po sesji. Ten duet buduje bezpieczne procesy i oszczędza użytkownikom ciągłych problemów z ponownym uwierzytelnianiem.
Jak długo działają tokeny i dlaczego wygaśnięcie ma znaczenie
Tokeny dostępu mają krótki termin ważności nie bez powodu – domyślnie w Entra ID zwykle wynosi on od 30 do 90 minut. Mają zapewniać wystarczający dostęp tylko przez krótki czas, co zmniejsza ryzyko w razie wycieku tokenu. Tokeny odświeżania to natomiast maratończycy. Często są ważne przez dni, tygodnie, a nawet miesiące, w zależności od potrzeb aplikacji i skonfigurowanych zasad bezpieczeństwa.
Ta różnica ma znaczenie, ponieważ krótko żyjące tokeny oznaczają mniejsze narażenie, ale wymagają też częstszego odnawiania. Dłużej ważne tokeny odświeżania sprzyjają nieprzerwanym sesjom, ale zwiększają ryzyko, jeśli trafią w niepowołane ręce. Kluczem jest zrównoważenie bezpieczeństwa z wygodą użytkownika.
Charakterystyka bezpieczeństwa tokenów dostępu i odświeżania
- 1. Bezpieczeństwo tokenu dostępu: Tokeny dostępu są przeznaczone do natychmiastowego, tymczasowego użycia. Ponieważ zwykle działają krócej niż godzinę, okno ryzyka w razie kradzieży jest niewielkie. Ponieważ jednak są tokenami na okaziciela (bearer tokens), czyli każdy, kto je posiada, może z nich korzystać, muszą być przesyłane wyłącznie przez HTTPS i przechowywane w pamięci, a nie w trwałej pamięci po stronie klienta.
- 2. Bezpieczeństwo tokenu odświeżania: Tokeny odświeżania są długotrwałe i bardziej wrażliwe. Jeśli token odświeżania zostanie przejęty, atakujący może w sposób trwały uzyskiwać nowe tokeny dostępu, nawet po wylogowaniu użytkownika. Dlatego bezpieczne przechowywanie ma kluczowe znaczenie – najlepiej w bezpiecznym enklawie (np. w magazynie opartym na sprzęcie na urządzeniach mobilnych lub w plikach cookie HTTP-only z atrybutem Secure w przeglądarkach).
- 3. Powierzchnie ataku: Tokeny dostępu mogą zostać przechwycone podczas transmisji, jeśli HTTPS nie jest wymuszony, lub odnalezione w zrzutach pamięci. Tokeny odświeżania, jeśli są przechowywane w lokalnym lub sesyjnym magazynie, są bardzo podatne na ataki typu cross-site scripting (XSS). Aby zapewnić dodatkową ochronę w środowiskach Microsoft, stosuj zasady dostępu warunkowego i monitoruj nietypowe użycie tokenów.
- 4. Odwoływanie i ryzyko: Tokeny dostępu zazwyczaj nie mogą zostać odwołane przed upływem ważności, ponieważ są najczęściej bezstanowymi tokenami JWT. Tokeny odświeżania można natomiast aktywnie odwołać lub unieważnić przez serwer autoryzacji, jeśli wykryte zostanie naruszenie bezpieczeństwa. Rzeczywiste zagrożenia i sposoby ich kontroli dla trwałych tokenów opisuje ten przegląd ataków typu OAuth consent w usłudze Entra ID, w których atakujący wykorzystują trwały dostęp za pomocą tokenów odświeżania.
- 5. Środki zaradcze w chmurze Microsoft: Połączenie krótkotrwałych tokenów dostępu, ścisłej kontroli zgód, solidnego rejestrowania zdarzeń i wymuszania zgody administratora może znacząco ograniczyć ryzyko. Zarządzanie bezpieczeństwem, o którym mowa w tym odcinku podcastu o zarządzaniu bezpieczeństwem w Entra ID, powinno zostać wdrożone, aby kontrolować rozrost tożsamości i egzekwować lepsze zasady bezpieczeństwa.
Krótkotrwałe tokeny dostępu w celu ograniczenia ryzyka
Decyzja projektowa, by tokeny dostępu miały krótki czas życia, nie jest przesadną ostrożnością, tylko mądrym zarządzaniem ryzykiem. Jeśli krótkotrwały token dostępu zostanie skradziony, okno czasowe dla ataku jest bardzo wąskie. Po godzinie lub krócej token traci wartość, co kończy większość prób przemieszczania się w poziomie i incydentów polegających na ponownym odtwarzaniu tokenu.
W rozproszonych systemach, takich jak Microsoft 365 i Azure, dzięki temu zmiany uprawnień użytkowników i działania związane z wylogowaniem są egzekwowane szybko. Szybkie wygasanie oznacza, że każde nieautoryzowane użycie tokenu jest wąskim celem, co umożliwia szybką reakcję bez konieczności prowadzenia scentralizowanych list odwołań dla każdego tokenu w obiegu.
Trwałe tokeny odświeżania dla płynnego ponownego uwierzytelniania
Trwałe tokeny odświeżania służą przede wszystkim wygodzie użytkowników. Zamiast za każdą godzinę wyświetlać ekran logowania, token odświeżania pozwala aplikacjom „wymienić” wygasłe tokeny dostępu na nowe, często w sposób niewidoczny i natychmiastowy. Ma to ogromne znaczenie dla produktywności, zwłaszcza przy aplikacjach Microsoft 365 używanych przez cały dzień lub klientach mobilnych z niestabilnym połączeniem.
Haczyk? Dłużej żyjące tokeny odświeżania niosą większe ryzyko w razie kradzieży. Dlatego dobrze zaprojektowane aplikacje stosują mechanizmy odwoływania oraz zasady dostępu warunkowego, równoważąc korzyści płynące z bezproblemowego ponownego uwierzytelniania z możliwością nadużycia w razie wycieku tokenu.
Zarządzanie cyklem życia tokenów w Microsoft Entra ID
Samo uzyskanie tokenów to dopiero połowa sukcesu. Prawdziwie wyróżnia cię bezpieczeństwo i komfort użytkowania dopiero zarządzanie nimi w czasie. W Microsoft Entra ID cykl życia tokenu obejmuje wszystko: od chwili utworzenia tokenu dostępu lub odświeżania, po sposób i moment ich odnawiania, rotacji albo całkowitego odwołania.
Proces ten kształtują najlepsze praktyki OAuth 2.0 oraz mechanizmy specyficzne dla Microsoft w zakresie kontroli sesji. Trzeba brać pod uwagę zagrożenia w czasie rzeczywistym (np. ataki typu replay), problemy z czasem (np. rozjazd zegarów) oraz szczegóły rozproszonych systemów globalnych. Aby zrobić to dobrze, trzeba znać rotację tokenów, kroki walidacji i ścieżki odwoływania.
Zgodnie z podejściem Microsoft organizacje mogą stosować egzekwowanie zasad, kontrolę administracyjną i szczegółowe rejestrowanie zdarzeń, aby zarządzać rozrostem tokenów, zwłaszcza gdy liczba urządzeń połączonych z chmurą gwałtownie rośnie. Więcej o skalowaniu zasad bezpieczeństwa tożsamości w dużych środowiskach znajdziesz w praktycznych wskazówkach dotyczących zarządzania w tym odcinku podcastu o dostępie warunkowym w Entra ID i ograniczaniu ryzyka.
Poniżej omówiono, jak rotować i odnawiać tokeny, jak Entra ID wystawia i sprawdza tokeny oraz na co zwrócić uwagę w kwestii czasu i szczegółów wdrożenia. Jeśli te kroki wykonasz poprawnie, zarówno twoje aplikacje, jak i użytkownicy docenią ten wysiłek.
Najlepsze praktyki rotacji i odnawiania tokenów
- 1. Często rotuj tokeny: Zawsze wymieniaj tokeny dostępu po ich wygaśnięciu; nie próbuj przedłużać ich ważności. W przypadku tokenów odświeżania stosuj rotację przy każdym użyciu, czyli za każdym razem, gdy token służy do uzyskania nowego tokenu dostępu, zastąp go nowym tokenem odświeżania. Pomaga to odciąć atakujących, którzy mogli ukraść starszy token.
- 2. Unieważniaj wcześniej użyte tokeny: Standardem powinno być odwołanie („dodanie do czarnej listy”) tokenu odświeżania natychmiast po zastąpieniu go nowym. Dzięki temu ważny pozostaje wyłącznie ostatnio wystawiony token odświeżania, co zmniejsza potencjalne okno czasowe ataków typu replay.
- 3. Nie udostępniaj tokenów niezabezpieczonym klientom: Nigdy nie wysyłaj tokenów odświeżania do publicznych klientów po stronie przeglądarki, takich jak aplikacje jednostronicowe (SPA), chyba że jest to absolutnie konieczne, i tylko z dodatkowymi zabezpieczeniami, takimi jak Proof Key for Code Exchange (PKCE).
- 4. Monitoruj podejrzane użycie: Korzystaj z wbudowanego monitorowania i powiadomień administracyjnych Microsoft Entra ID dotyczących nietypowego użycia tokenów, np. ponownego użycia tokenów odświeżania z różnych lokalizacji lub urządzeń. Zautomatyzuj reakcje oparte na dostępie warunkowym, aby przerywać przejęte sesje i ograniczać zasięg ataku.
- 5. Zgodność w przypadku kluczowych aplikacji: Microsoft 365, Azure AD i aplikacje obsługujące Entra ID oferują wbudowaną obsługę wzorców rotacji tokenów. Przyjmij ich domyślne zasady jako minimum (np. jednorazowe tokeny odświeżania dla Exchange Online), a następnie wzmocnij je w razie potrzeby dla wrażliwych obciążeń.
Jak tokeny są wystawiane i weryfikowane w Entra ID
- 1. Wystawianie tokenów (serwer autoryzacji): Po pomyślnym uwierzytelnieniu Microsoft Entra ID (serwer autoryzacji) wystawia token dostępu oraz – jeśli zostanie o niego poproszono – token odświeżania. Są to zazwyczaj tokeny JWT, podpisane cyfrowo przy użyciu silnych algorytmów podpisu (takich jak RS256) i kluczy prywatnych zarządzanych przez firmę Microsoft.
- 2. Oświadczenia i zawartość tokenów: Token dostępu zawiera oświadczenia – informacje o użytkowniku, jego uprawnieniach (zakresach) oraz dane o czasie wygaśnięcia. Tokeny odświeżania są nieprzejrzyste i zawierają informacje potrzebne Entra ID do bezpiecznego odnawiania sesji.
- 3. Weryfikacja na serwerach zasobów: Gdy Twoja aplikacja lub interfejs API otrzyma token dostępu, sprawdza jego podpis cyfrowy, używając opublikowanego klucza publicznego (z punktu końcowego JWKS usługi Entra ID). Weryfikacja potwierdza, że token jest autentyczny, nie został zmodyfikowany i nadal jest ważny (nie wygasł ani nie został unieważniony).
- 4. Kontrole bezpieczeństwa: Entra ID obsługuje weryfikację odbiorcy, egzekwowanie zakresów i sprawdzanie podpisu na każdym serwerze zasobów i interfejsie API. W przypadku krytycznych aplikacji zawsze sprawdzaj te oświadczenia i weryfikuj podpis przed udzieleniem dostępu.
- 5. Unieważnianie/umieszczanie na czarnej liście: Tokeny odświeżania – w przeciwieństwie do bezstanowych tokenów dostępu – mogą zostać unieważnione przez Entra ID, co zapewnia szybką reakcję na podejrzenie przejęcia. Administratorzy mogą wymusić wylogowanie lub ograniczyć ważność tokenów, aktualizując zasady.
Okresy tolerancji i szczegóły implementacji
Okresy tolerancji łagodzą problemy z czasem występujące w praktyce w uwierzytelnianiu opartym na tokenach. Ponieważ serwery i klienty często działają z nieznacznie różniącymi się zegarami – zjawisko znane jako przesunięcie zegara (clock skew) – Microsoft Entra ID dodaje niewielki margines (zazwyczaj około 5 minut) podczas sprawdzania wygaśnięcia tokenu. Dzięki temu logowanie nie kończy się niepowodzeniem z powodu różnic w czasie systemowym liczonych w sekundach.
Aby uzyskać najlepsze rezultaty, synchronizuj zegary wszystkich serwerów za pomocą NTP i pamiętaj, że wdrożenia wysokiej dostępności lub wielu regionów mogą nieznacznie wydłużać okna ważności tokenów. Kieruj się zaleceniami Entra ID dotyczącymi okresów tolerancji i zawsze testuj zachowanie na rzeczywistym ruchu, zwłaszcza w przypadku użytkowników przemieszczających się między regionami lub strefami czasowymi.
Bezpieczne przechowywanie i obsługa tokenów w aplikacjach klienckich
Nawet najsilniejszy token jest tylko tak bezpieczny, jak miejsce, w którym go przechowujesz. Dlatego bezpieczne przechowywanie i obsługa to najbardziej praktyczne zagadnienie dla każdej aplikacji korzystającej z uwierzytelniania Microsoft Entra ID. Miejsce przechowywania tokenu dostępu lub odświeżania zależy od klienta: przeglądarki, urządzenia mobilnego lub aplikacji desktopowej. Każde środowisko ma swoje mocne strony, słabe punkty i typowe pułapki.
Jeśli uważasz, że przechowywanie tokenów w localStorage przeglądarki jest niegroźne, pomyśl jeszcze raz – wystarczy jeden atak XSS, a token jest stracony. Aplikacje mobilne wydają się bezpieczniejsze, ale rootowanie lub jailbreak mogą odsłonić również „bezpieczne” tokeny. Z kolei w aplikacjach jednostronicowych (SPA) nie ma nawet bezpiecznej opcji przechowywania, do której złośliwe skrypty nie miałyby dostępu.
Ta sekcja przedstawia wskazówki potrzebne do podjęcia właściwych decyzji dotyczących opcji przechowywania dla różnych typów aplikacji. Znajdziesz tu zestawienie praktycznych rozwiązań – ciasteczka HTTP-only z flagą secure, pamięć sesji przeglądarki, platformowe bezpieczne magazyny – oraz obowiązkowe kroki zabezpieczania trwałych tokenów. Zobaczysz też, dlaczego publiczni klienci, w których sekretów klienta nie da się ukryć, wymagają szczególnej uwagi, co pozwoli Ci przygotować plan przechowywania i rotacji uwzględniający ryzyko w każdym scenariuszu.
Bezpieczeństwo Twojej aplikacji zależy od tych wyborów, dlatego nie zostawiaj ich przypadkowi. Poznaj bezpieczne i niebezpieczne wzorce, które decydują o tym, czy aplikacja wytrzyma, czy upadnie przy pierwszych oznakach kradzieży tokenów.
Bezpieczne przechowywanie tokenów odświeżania w różnych typach klientów
- 1. Aplikacje internetowe (przeglądarki): Najbezpieczniejszym miejscem do przechowywania tokenów odświeżania w przeglądarkach są pliki cookie z atrybutami HTTP-only i Secure. W przeciwieństwie do localStorage lub sessionStorage, tych plików cookie nie może odczytać JavaScript, dzięki czemu są odporne na ataki XSS. Nie przechowuj tokenów w localStorage – jest on podatny na ataki wykonywane za pomocą skryptów i nie powinien zawierać niczego wrażliwego.
- 2. Aplikacje jednostronicowe (SPA): Aplikacje SPA nie mają bezpiecznego trwałego magazynu. Najlepsze, co można zrobić, to przechowywać tokeny w pamięci przeglądarki (zmienne JavaScript) przez czas trwania sesji. Po przeładowaniu strony tokeny znikają, co minimalizuje ryzyko. Nigdy nie utrwalaj tokenów odświeżania w magazynie lub plikach cookie, nad którymi nie masz kontroli, i w możliwie największym stopniu polegaj na tokenach dostępu o krótkim czasie życia oraz na cichym odnawianiu.
- 3. Aplikacje mobilne: Do przechowywania tokenów odświeżania używaj bezpiecznego magazynu kluczy urządzenia (iOS Keychain/Android Keystore). Te zabezpieczone przez platformę magazyny są zaprojektowane tak, aby blokować dostęp innym aplikacjom i procesom systemowym – nawet jeśli telefon zostanie przejęty lub ma odblokowany root, wyodrębnienie danych jest trudne.
- 4. Aplikacje desktopowe: Do przechowywania trwałych tokenów używaj menedżerów poświadczeń na poziomie systemu operacyjnego (na przykład Windows Credential Locker). Nigdy nie zapisuj ich w plikach tekstowych ani w katalogach użytkownika, do których może sięgnąć złośliwe oprogramowanie.
- 5. Granica przedsiębiorstwa: We wszystkich przypadkach stosuj dodatkowe mechanizmy kontroli, takie jak szyfrowanie urządzenia, blokada ekranu użytkownika i możliwość zdalnego wyczyszczenia. W przypadku obciążeń o wysokim poziomie wrażliwości wymagaj uwierzytelnienia dodatkowego (step-up) przed ujawnieniem lub użyciem tokenu odświeżania przechowywanego na urządzeniu.
Szczególne zagadnienia dotyczące rotacji tokenów w klientach publicznych
- 1. Klienci publiczni nie mogą przechowywać sekretów: Klienci publiczni – aplikacje SPA i niektóre aplikacje mobilne – nie mogą bezpiecznie ukrywać tokenów odświeżania ani sekretów klienta. Zakładaj, że wszystko, co zostanie zapisane, może zostać ujawnione.
- 2. Używaj wyłącznie tokenów dostępu o krótkim czasie życia: Ogranicz lub wyeliminuj tokeny odświeżania, gdy tylko to możliwe. Polegaj na tokenach dostępu o krótkim czasie życia i żądaj interaktywnego ponownego uwierzytelnienia zamiast długotrwałego przechowywania tokenów.
- 3. Rotuj tokeny przy każdym użyciu: Jeśli musisz używać tokenów odświeżania, wdróż wzorce rotacji jednorazowej – wystawiaj nowy token odświeżania przy każdym przyznaniu dostępu i unieważniaj poprzedni.
- 4. Połącz z PKCE dla dodatkowego bezpieczeństwa: Wymagaj Proof Key for Code Exchange (PKCE) w przepływach OAuth, co blokuje większość ataków przechwytujących nawet w narażonych środowiskach.
Najlepsze praktyki zarządzania tokenami dostępu i odświeżania
Znajomość zasad bezpieczeństwa tokenów to jedno, a stosowanie ich na co dzień to drugie. Gdy masz do czynienia z wrażliwymi danymi Microsoft 365, obciążeniami w Azure lub dowolnym scenariuszem Entra ID, stawka jest wyższa: musisz połączyć szczelną ochronę z doświadczeniem użytkownika, które nie wywoła narzekań na zbyt częste logowania.
Ta sekcja przedstawia obowiązkowe działania i te, których należy unikać, przy zarządzaniu tokenami odświeżania i dostępu na dużą skalę. Mówiąc szczerze, chmura Microsoft ma swoje własne niuanse – od złożonych zasad dostępu warunkowego po głęboką integrację z Microsoft Defender i Microsoft Purview w zakresie monitorowania i zarządzania. Najlepsze praktyki obejmują każdy etap: wydawanie tokenów, bezpieczne przechowywanie, rotację, użycie i – gdy zajdzie potrzeba – szybkie odcięcie dostępu, jeśli coś pójdzie nie tak.
Wkrótce przedstawię praktyczne wnioski, które możesz wdrożyć już teraz, dzięki czemu Twoje aplikacje zapewnią podwójną obietnicę: „płynniej i bezpieczniej”. Chcesz więcej o wzmacnianiu zabezpieczeń Microsoft 365 bez utrudniania pracy użytkownikom? Koniecznie przeczytaj szerszy przewodnik o zabezpieczaniu Microsoft 365 przy jednoczesnym zadowoleniu użytkowników, obejmujący Defender, Purview i zasady dostępu warunkowego w środowiskach Entra ID.
Poniżej znajdziesz podsumowanie podstawowych zasad wyboru, obsługi i zabezpieczania tokenów dostępu i odświeżania w każdym wdrożeniu opartym na rozwiązaniach Microsoft.
Najważniejsze wnioski dotyczące wyboru i obsługi tokenów
- Używaj tokenów dostępu wyłącznie do natychmiastowego, krótkoterminowego dostępu do zasobów; polegaj na tokenach odświeżania tylko tam, gdzie płynne, trwałe sesje są kluczowe, a mechanizmy kontroli bezpieczeństwa są wdrożone.
- Przechowuj tokeny bezpiecznie, korzystając z magazynów wymuszanych przez platformę, takich jak pliki cookie HTTP-only dla aplikacji internetowych, magazyn kluczy dla aplikacji mobilnych i menedżery poświadczeń dla aplikacji desktopowych. Nigdy nie przechowuj wrażliwych tokenów w postaci zwykłego tekstu ani w localStorage przeglądarki.
- Wdróż rotację i unieważnianie tokenów, zapewniając, że tokeny odświeżania są zastępowane, a stare unieważniane podczas każdego procesu odnawiania, aby ograniczyć okna czasowe ataku.
- Zachowaj równowagę między czasem trwania sesji a wygodą użytkowników; nie ustawiaj tokenów dostępu tak krótkich, by użytkownicy stale musieli się logować, ale też nie na tyle długich, by w razie wycieku tokena tworzyć niepotrzebne narażenie.
- Monitoruj, zarządzaj i audytuj użycie tokenów— integruj je z narzędziami takimi jak Microsoft Defender i Purview oraz wymuszaj zasady dostępu warunkowego dla ryzykownych scenariuszy logowania. W przypadku podejrzenia lub wykrycia kompromitacji niezwłocznie odwołuj dostęp.
Podsumowanie i szybki sprawdzian wiedzy
Zrozumienie różnicy między tokenami dostępu a tokenami odświeżania to nie tylko punkt na liście kontrolnej procesu OAuth 2 – to klucz do budowania bezpiecznych i płynnych doświadczeń na platformie tożsamości Microsoft, takiej jak Entra ID. Znalezienie właściwej równowagi między krótkim czasem życia tokenów ze względów bezpieczeństwa a dłuższymi cyklami odświeżania dla wygody to prawdziwa sztuka, szczególnie gdy zarządzasz sesjami użytkowników na wielu urządzeniach lub w wielu usługach.
Gotowy na szybki sprawdzian wiedzy? Zadaj sobie pytanie: jak obsłużyłbyś wygasanie tokenów w aplikacji działającej przy słabym połączeniu z internetem? Czy tokeny odświeżania w ogóle powinny docierać do Twoich mikrousług w backendzie? Jeśli ten przegląd Ci pomógł lub czegoś nauczył, podziel się swoimi uwagami – najlepiej oceniane komentarze otwierają drzwi i wzmacniają całą społeczność. Podobało Ci się? Zostań z nami i rozwijaj swoje umiejętności bezpieczeństwa!