encyklopedia.space

AWS IAM (Identity and Access Management)

AWS IAM (ang. Identity and Access Management) jest usługą zarządzania tożsamością i dostępem udostępnianą w ramach Amazon Web Services. Umożliwia ona kontrolowanie, które podmioty (użytkownicy, grupy, role, usługi) mają dostęp do określonych zasobów w chmurze oraz jakie operacje mogą na nich wykonywać.

Historia

Usługa została wprowadzona w 2007 roku w początkowej wersji AWS. Od tego czasu AWS IAM przeszedł liczne i ważne aktualizacje, w tym wprowadzenie uwierzytelniania wieloczynnikowego (MFA) i wsparcia dla AWS Organizations.

Kluczowe pojęcia

  • Konta użytkowników (Accounts) – jednostki reprezentujące osoby lub aplikacje, które logują się do konsoli AWS lub korzystają z interfejsu API.
  • Grupy – zestawy użytkowników dzielących wspólne uprawnienia. Pozwala to na zarządzanie dostępem na poziomie zbiorczym.
  • Role – zestawy uprawnień przydzielane podmiotom (np. instancjom EC2, funkcjom Lambda) zamiast konkretnym kontom użytkowników.
  • Polityki (Policies) – dokumenty w formacie JSON definiujące, jakie akcje są dozwolone lub zabronione na określonych zasobach.
  • Identity providers (IdP) – zewnętrzne systemy uwierzytelniania (np. Active Directory, SAML), które mogą być zintegrowane z IAM.

Mechanizm działania

Podstawowy proces autoryzacji w AWS IAM przebiega w trzech krokach:

  1. Uwierzytelnianie – użytkownik potwierdza swoją tożsamość przy pomocy hasła, klucza dostępu lub MFA.
  2. Weryfikacja ról i grup – system określa, do których ról i grup użytkownik należy.
  3. Ewaluacja polityk – wszystkie polityki przydzielone użytkownikowi, jego grupom oraz wybranej roli są łączone i oceniane, aby ustalić, które akcje są dozwolone.

Elementy polityk

Polityka IAM składa się z następujących sekcji:

  • Version – określa wersję schematu (np. 2012-10-17).
  • Statement – lista deklaracji, z których każda zawiera pola:
    • EffectAllow lub Deny.
    • Action – operacje (np. ec2:StartInstances).
    • Resource – ARN zasobu, do którego odnosi się akcja.
    • Condition – opcjonalne warunki dodatkowe (np. ograniczenia czasowe).

Bezpieczeństwo i dobre praktyki

W kontekście bezpieczeństwa AWS zaleca stosowanie następujących praktyk:

  1. Używanie MFA dla wszystkich kont z uprawnieniami administracyjnymi.
  2. Stosowanie zasady least privilege – przyznawanie minimalnych niezbędnych uprawnień.
  3. Wykorzystywanie ról zamiast stałych kluczy dostępu dla aplikacji uruchamianych w chmurze.
  4. Regularny przegląd i audyt polityk przy pomocy AWS CloudTrail.
  5. Korzyść z AWS Organizations do centralnego zarządzania wieloma kontami.

Integracje z innymi usługami AWS

IAM jest podstawą kontroli dostępu w praktycznie wszystkich usługach AWS, m.in.:

  • Amazon S3 – zarządzanie dostępem do bucketów.
  • Amazon RDS – uprawnienia do zarządzania bazami danych.
  • Amazon EC2 – role EC2 pozwalające instancjom na dostęp do innych usług bez przechowywania kluczy.
  • AWS Lambda – przypisywanie ról funkcjom w celu wywoływania innych zasobów.
  • AWS KMS – kontrola dostępu do kluczy szyfrujących.

Audyt i monitorowanie

Do monitorowania działań IAM wykorzystuje się:

  • AWS CloudTrail – rejestruje wszystkie operacje na poziomie konta i użytkownika.
  • AWS Config – monitoruje konfigurację zasobów IAM oraz ich zmiany w czasie.

Przyszłość i rozwój

Od momentu powstania AWS IAM stale się rozwija. Najnowsze kierunki to:

  • Rozszerzona integracja z IdP w chmurze (np. AWS Single Sign‑On).
  • Dynamiczne polityki oparte na atrybutach (ABAC – Attribute‑Based Access Control).
  • Lepsze wsparcie dla środowisk hybrydowych i Edge Computing.

Źródła i dalsza lektura

Więcej informacji można znaleźć w oficjalnych dokumentach AWS, a także w dedykowanych artykułach encyklopedycznych: