Role i zasady IAM
Napiszą dokumenty zasad w formacie JSON, dołączą je do ról i poznają różnicę między zasadami opartymi na tożsamości a zasadami opartymi na zasobach.
Role i zasady IAM to bezpłatna lekcja Cloud & IT Cert Prep 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 Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Polityki IAM: język uprawnień
Polityka IAM to dokument JSON określający, co jest dozwolone. Każda instrukcja zawiera element Effect (Allow lub Deny), Action oraz Resource. Kod pokazuje jeden przykład.
{
'Version': '2012-10-17',
'Statement': [
{
'Effect': 'Allow',
'Action': [
's3:GetObject',
's3:PutObject'
],
'Resource': 'arn:aws:s3:::my-bucket/*'
}
]
}Polityki oparte na tożsamości a polityki oparte na zasobach
Polityka oparta na tożsamości jest przypisana do użytkownika lub roli i określa, jakie działania mogą oni wykonywać. Polityka oparta na zasobach jest przypisana bezpośrednio do zasobu i określa, kto może uzyskać do niego dostęp.
# Example S3 bucket policy (resource-based)
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}Role IAM: tymczasowe tożsamości
Rola IAM to tożsamość, którą przyjmuje się na krótki czas. Udostępnia tymczasowe poświadczenia, które wygasają — doskonale sprawdza się w przypadku EC2, Lambda i innych usług.
# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
--instance-id i-0abcdef1234567890 \
--iam-instance-profile Name=MyEC2RolePolityki zaufania: kto może przyjąć rolę
Każda rola ma politykę zaufania określającą, kto może ją przyjąć, oraz polityki uprawnień określające, co można robić po jej przyjęciu. Bez polityki zaufania nie ma dostępu.
# Trust policy for a Lambda execution role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'lambda.amazonaws.com'
},
'Action': 'sts:AssumeRole'
}]
}Role usług AWS: EC2 i Lambda
Gdy EC2 musi wywołać AWS, należy przypisać mu profil instancji zawierający rolę. Poświadczenia są automatycznie zmieniane — nie trzeba umieszczać kluczy na stałe w kodzie. Lambda działa tak samo.
# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2RolePrzyjmowanie ról między kontami
Rola między kontami umożliwia użytkownikowi z jednego konta przyjęcie roli na innym koncie i uzyskanie dostępu do jego zasobów. Dzięki temu konfiguracje wielokontowe nie wymagają tworzenia wszędzie zduplikowanych użytkowników.
# Assume a cross-account role from Account A
aws sts assume-role \
--role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
--role-session-name my-sessionWarunki w politykach: szczegółowa kontrola
Element Condition dodaje do polityki dodatkowe reguły — na przykład wymóg MFA albo ograniczenie dostępu do określonego zakresu adresów IP lub regionu. Dzięki temu uprawnienia są znacznie bardziej precyzyjne.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}Granice uprawnień
Granica uprawnień określa maksymalny zakres uprawnień, jaki może kiedykolwiek uzyskać tożsamość, nawet jeśli polityka przyznaje ich więcej. Jest to zabezpieczenie umożliwiające programistom tworzenie własnych ról.
# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
--user-name alice \
--permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessLogika oceny polityk
Podczas sprawdzania żądania przez AWS obowiązuje nadrzędna zasada: jawna odmowa zawsze blokuje żądanie. Ponadto każda warstwa polityk musi zezwolić na dostęp.
Symulator polityk IAM
Symulator polityk IAM sprawdza, czy tożsamość może wykonać daną operację — bez faktycznego jej wykonywania. Doskonale nadaje się do debugowania uprawnień przed wdrożeniem.
# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/alice \
--action-names s3:PutObject \
--resource-arns arn:aws:s3:::my-bucket/*Role na potrzeby dostępu federacyjnego
Użytkownicy zewnętrzni z Okta, Google lub Active Directory mogą przyjmować role za pośrednictwem federacji (SAML lub OIDC). Można w ten sposób przyznać dostęp milionom osób bez tworzenia użytkowników IAM.
Szybkie sprawdzenie
Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
Krótkie podsumowanie: polityki to reguły JSON określające Allow i Deny, role udostępniają tymczasowe poświadczenia, a warunki zapewniają szczegółową kontrolę. Następnie: zasada najmniejszych uprawnień.
Często zadawane pytania
Czy lekcja „Role i zasady IAM” jest bezpłatna?
Tak — pełny tekst „Role i zasady IAM” 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 Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Co nauczysz się w „Role i zasady IAM”?
Napiszą dokumenty zasad w formacie JSON, dołączą je do ról i poznają różnicę między zasadami opartymi na tożsamości a zasadami opartymi na zasobach. Ćwiczysz Cloud & IT Cert Prep 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ąć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep 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 „Role i zasady IAM”?
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 Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep 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.