0Pricing
AWS Security Academy · Lekcja

AssumeRole i czas trwania sesji

Dowiedzą się Państwo, jak podmiot zamienia swoją tożsamość na uprawnienia roli.

AssumeRole i czas trwania sesji to bezpłatna lekcja AWS Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AWS Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AWS Security Academy zawiera 4 lekcji w sumie.

Zamiana tożsamości na uprawnienia

Operacja AssumeRole pozwala podmiotowi tymczasowo zamienić własną tożsamość na uprawnienia roli. W rezultacie powstaje ograniczona czasowo sesja. Kontrolowanie czasu trwania sesji i zakresu jej uprawnień jest częstym tematem SCS-C02, ponieważ czas życia sesji bezpośrednio wpływa na ekspozycję na zagrożenia.

Sesja przyjętej roli

Po pomyślnym wykonaniu AssumeRole wywołujący działa jako sesja przyjętej roli, identyfikowana przez ARN taki jak arn:aws:sts::ACCOUNT:assumed-role/RoleName/SessionName. Przez czas trwania sesji wywołujący ma uprawnienia roli, a nie uprawnienia pierwotnej tożsamości. Przekazana nazwa sesji jest zachowywana na potrzeby audytu.

Duration Seconds

Parametr DurationSeconds określa czas trwania sesji — od 900 sekund (15 minut) do maksymalnej wartości zdefiniowanej dla roli. Krótsze sesje skracają czas, w którym wyciekłe dane uwierzytelniające pozostają ważne, dlatego zasada najmniejszych uprawnień przemawia za najkrótszym praktycznym czasem trwania.

Maksymalny czas trwania sesji

Każda rola ma ustawienie MaximumSessionDuration (od 1 do 12 godzin). Żądanie wartości DurationSeconds większej niż ta wartość zostaje odrzucone. Ustawienie rozsądnego maksimum dla ról wrażliwych ogranicza czas trwania każdego pojedynczego przyjęcia roli — jest to kontrola, którą można dostosować dla ról wysokiego ryzyka.

Ograniczenie łańcuchowania ról

Gdy jedna przyjęta rola przyjmuje inną rolę, mamy do czynienia z łańcuchowaniem ról. AWS ogranicza czas trwania sesji w takim łańcuchu do maksymalnie jednej godziny, niezależnie od maksymalnego czasu skonfigurowanego dla roli. Znajomość tego ograniczenia wyjaśnia, dlaczego niektóre żądania długich sesji kończą się niepowodzeniem przy łańcuchowaniu ról — to subtelny szczegół egzaminacyjny.

Odświeżanie danych uwierzytelniających

Ponieważ sesje wygasają, aplikacje muszą ponownie przyjąć rolę, aby kontynuować działanie. SDK robią to automatycznie w przypadku profili instancji i skonfigurowanych profili ról, pobierając nowe dane uwierzytelniające przed wygaśnięciem starych. Nie można przedłużyć istniejącej sesji — trzeba po prostu uzyskać nową.

Parametry AssumeRole

Oprócz czasu trwania AssumeRole przyjmuje Policy lub PolicyArns (polityki sesji ograniczające uprawnienia), Tags (tagi sesji na potrzeby ABAC), a także SerialNumber i TokenCode na potrzeby MFA. Pozwala to precyzyjnie określić zakres i zabezpieczyć każde przyjęcie roli w chwili jego wykonywania.

Wymaganie MFA

Polityka zaufania roli może wymagać MFA. W takim przypadku wywołanie AssumeRole musi zawierać ARN urządzenia MFA oraz aktualny kod tokena. Dzięki temu uprzywilejowanej roli nie można przyjąć wyłącznie za pomocą skradzionych danych uwierzytelniających. Połączenie krótkich sesji z MFA to skuteczna kontrola zalecana na egzaminie dla ról wrażliwych.

"Condition": {
  "Bool": { "aws:MultiFactorAuthPresent": "true" }
}

Odwoływanie aktywnych sesji

Nie można usunąć pojedynczych tymczasowych danych uwierzytelniających, ale można odwołać wszystkie aktywne sesje roli, dołączając zaszytą politykę odrzucającą działania dla tokenów wystawionych przed wybraną chwilą za pomocą warunku aws:TokenIssueTime. Przycisk konsoli "Revoke active sessions" robi dokładnie to — jest to ważne narzędzie reagowania na incydenty.

Dlaczego krótkie sesje pomagają

Krótki czas życia sesji oznacza, że nawet jeśli tymczasowe dane uwierzytelniające wyciekną, wkrótce staną się bezużyteczne. W połączeniu z odwoływaniem, MFA i politykami sesji opartymi na zasadzie najmniejszych uprawnień znacznie ograniczają one czas trwania ataku. Na egzaminie preferowane są odpowiedzi minimalizujące czas, przez który dane uwierzytelniające pozostają ważne.

Połączenie wszystkich elementów

AssumeRole tworzy ograniczoną czasowo sesję zarządzaną przez DurationSeconds w ramach MaximumSessionDuration roli, przy czym sesje w łańcuchu ról są ograniczone do jednej godziny. Określaj zakres każdej sesji za pomocą polityk, tagów i MFA, a do natychmiastowego unieważniania przejętych sesji używaj mechanizmu odwoływania opartego na TokenIssueTime. Bezpieślnym ustawieniem domyślnym są krótkie sesje o precyzyjnie ograniczonym zakresie.

Szybki test

Sprawdź wiedzę o czasie życia sesji.

Podsumowanie

AssumeRole tworzy sesję przyjętej roli trwającą od 15 minut do wartości MaximumSessionDuration roli (maksymalnie 12 godzin), przy czym łańcuchowanie ról jest ograniczone do jednej godziny. Ograniczaj zakres sesji za pomocą polityk sesji, tagów i MFA. Odwołuj przejęte sesje, używając mechanizmu odmowy opartego na aws:TokenIssueTime. Preferuj krótkie sesje o precyzyjnie ograniczonym zakresie.

Często zadawane pytania

Czy lekcja „AssumeRole i czas trwania sesji” jest bezpłatna?

Tak — pełny tekst „AssumeRole i czas trwania sesji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AWS Security Academy, przejdź na CoddyKit PRO. Kurs AWS Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „AssumeRole i czas trwania sesji”?

Dowiedzą się Państwo, jak podmiot zamienia swoją tożsamość na uprawnienia roli. Ćwiczysz AWS Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AWS Security Academy?

Nie wymagamy żadnego doświadczenia. AWS Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „AssumeRole i czas trwania sesji”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AWS Security Academy?

Tak. Każda lekcja AWS Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Jak STS wydaje tymczasowe poświadczenia
  2. AssumeRole i czas trwania sesji
  3. External ID i problem zdezorientowanego zastępcy
  4. Zasady sesji i określanie zakresu za pomocą tagów
← Powrót do AWS Security Academy