0Pricing
Cloud & IT Cert Prep · Lekcja

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=MyEC2Role

Polityki 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/MyEC2Role

Przyjmowanie 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-session

Warunki 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/AmazonS3ReadOnlyAccess

Logika 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.

Wszystkie lekcje w tym kursie

  1. Użytkownicy i grupy IAM
  2. Role i zasady IAM
  3. Zasada najmniejszych uprawnień
  4. Najlepsze praktyki IAM i MFA
← Powrót do Cloud & IT Cert Prep