Zasady zaufania i osoby mogące przyjąć rolę
Zdefiniują Państwo podmioty, którym wolno przyjąć daną rolę.
Zasady zaufania i osoby mogące przyjąć rolę to bezpłatna lekcja AWS Security Academy na CoddyKit. To lekcja 3 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.
Zasada strażnika
Zasada zaufania to dokument dołączony do roli, który dokładnie określa, które podmioty główne mogą ją przyjąć. Pełni funkcję strażnika: nawet jeśli zasada uprawnień przyznaje szeroki dostęp, nikt nie może użyć roli, jeśli zasada zaufania go nie wymienia. Na egzaminie błędy w zasadach zaufania często powodują zarówno niedziałający dostęp, jak i niebezpieczne nadmierne uprawnienia.
Typy podmiotów głównych
Element Principal zasady zaufania może wskazywać:
- AWS — konto, użytkownika lub ARN roli (Amazon Resource Name).
- Service — usługę AWS, taką jak lambda.amazonaws.com.
- Federated — dostawcę SAML lub dostawcę tożsamości internetowej.
Wybór właściwego typu podmiotu głównego i precyzyjne jego określenie są niezbędne, aby uniknąć przyznania szerszego zaufania, niż zamierzono.
Dwustronne uzgodnienie
Przyjęcie roli między kontami wymaga zgody obu stron. Zasada zaufania roli na koncie docelowym musi zezwalać wywołującemu podmiotowi głównemu, a ten podmiot musi mieć zasadę tożsamości zezwalającą na wykonanie sts:AssumeRole względem ARN roli. Brak któregokolwiek z tych elementów blokuje żądanie. To dwustronne uzgodnienie jest klasyczną pułapką egzaminacyjną.
Przykład zasady zaufania
Ta zasada zaufania pozwala określonej roli na koncie 111122223333 przyjąć daną rolę. Wskazanie dokładnego ARN zamiast całego konta jest bardziej restrykcyjne i bezpieczniejsze.
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/AppRole"
},
"Action": "sts:AssumeRole"
}Root konta a konkretny podmiot
Określenie podmiotu głównego jako arn:aws:iam::ACCOUNT:root oznacza zaufanie do całego konta: każdy podmiot na tym koncie, który ma również uprawnienie sts:AssumeRole, może przyjąć rolę. Jest to szerokie ustawienie. Jeśli to możliwe, należy wskazać dokładny ARN użytkownika lub roli, aby stosować zasadę najmniejszych uprawnień i ograniczyć obszar zaufania.
Warunki zaufania
Zasady zaufania obsługują bloki Condition, które precyzują, kto i w jaki sposób może przyjąć rolę. Typowe klucze to sts:ExternalId (aby zapobiegać problemowi zdezorientowanego zastępcy), aws:MultiFactorAuthPresent (wymaganie MFA) oraz aws:SourceIp. Warunki pozwalają zezwolić na przyjęcie roli wyłącznie w określonych, możliwych do zweryfikowania okolicznościach.
Wymaganie MFA przy przyjmowaniu roli
Skutecznym rozwiązaniem jest wymaganie MFA przed przyjęciem roli o wysokich uprawnieniach. Warunek w zasadzie zaufania sprawdza, czy sesja wywołująca została uwierzytelniona za pomocą MFA. Oznacza to, że nawet skradzione długoterminowe dane uwierzytelniające nie wystarczą do przyjęcia uprzywilejowanej roli bez drugiego składnika, co znacznie podnosi poprzeczkę atakującym.
"Condition": {
"Bool": { "aws:MultiFactorAuthPresent": "true" }
}Zaufanie powiązane z usługą
Niektóre role to role powiązane z usługą, wstępnie zdefiniowane przez AWS i wyposażone w zasadę zaufania, której nie można edytować. Pozwalają one usłudze zarządzać zasobami w Państwa imieniu, z dokładnie takim zakresem zaufania, jakiego wymaga AWS. Ich rozpoznawanie jest istotne, ponieważ ich uprawnienia i zaufanie są ściśle kontrolowane oraz powiązane z cyklem życia usługi.
Zaufanie zewnętrzne a wewnętrzne
Zaufanie do wewnętrznego podmiotu głównego (na tym samym koncie) wiąże się zazwyczaj z mniejszym ryzykiem niż zaufanie do zewnętrznego konta lub dostawcy SaaS będącego stroną trzecią. W przypadku zaufania zewnętrznego należy zawsze połączyć konkretny podmiot główny z warunkami, takimi jak ExternalId. Każde zewnętrzne oświadczenie dotyczące zaufania należy traktować jako punkt wejścia, który atakujący z chęcią spróbuje wykorzystać.
Audytowanie zasad zaufania
IAM Access Analyzer automatycznie sprawdza zasady zaufania i zasady zasobów, aby znaleźć role, które mogą być przyjmowane przez zewnętrzne konta lub publicznie. Oznacza niezamierzone zaufanie między kontami lub zaufanie publiczne, aby mogli je Państwo zaostrzyć. Przeglądanie ustaleń Access Analyzer jest zalecaną i istotną z punktu widzenia egzaminu kontrolą, która pomaga wykrywać zbyt szerokie zaufanie.
Projektowanie bezpiecznego zaufania
Aby bezpiecznie zaprojektować zaufanie, należy wskazać możliwie najbardziej konkretny podmiot główny, dodać w razie potrzeby warunki, takie jak ExternalId i MFA, preferować role zamiast zaufania do konta root oraz przeprowadzić przegląd za pomocą Access Analyzer. Należy pamiętać, że zasada zaufania odpowiada na pytanie kto, a zasady uprawnień na pytanie co; oba elementy muszą być zgodne, aby dostęp działał i nadal spełniał zasadę najmniejszych uprawnień.
Szybkie sprawdzenie
Proszę sprawdzić swoją wiedzę na temat zasad zaufania.
Podsumowanie
Zasada zaufania określa, które podmioty główne mogą przyjąć rolę, i pełni funkcję strażnika niezależnie od zasad uprawnień. Przyjęcie roli między kontami wymaga dwustronnego uzgodnienia: zasady zaufania oraz uprawnienia sts:AssumeRole wywołującego. Należy preferować konkretne ARN podmiotów głównych zamiast root konta, dodawać warunki, takie jak ExternalId i MFA, oraz przeprowadzać audyt za pomocą IAM Access Analyzer.
Często zadawane pytania
Czy lekcja „Zasady zaufania i osoby mogące przyjąć rolę” jest bezpłatna?
Tak — pełny tekst „Zasady zaufania i osoby mogące przyjąć rolę” 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 „Zasady zaufania i osoby mogące przyjąć rolę”?
Zdefiniują Państwo podmioty, którym wolno przyjąć daną rolę. Ć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 3 z 4.
Ile czasu zajmuje lekcja „Zasady zaufania i osoby mogące przyjąć rolę”?
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
- Porównanie użytkowników i grup IAM
- Czym naprawdę jest rola IAM
- Zasady zaufania i osoby mogące przyjąć rolę
- Profile instancji dla obciążeń EC2