IAM

Zbiór procesów i narzędzi do zarządzania tożsamościami użytkowników oraz kontrolowania, do jakich zasobów i na jakich zasadach mają dostęp.

IAM (Identity and Access Management, czyli zarządzanie tożsamością i dostępem) to zbiór procesów, polityk i narzędzi, które odpowiadają na dwa proste pytania: kim jesteś i co wolno ci zrobić. Mówiąc konkretniej, IAM ogarnia cały cykl życia tożsamości cyfrowej — od założenia konta nowemu pracownikowi, przez nadawanie i odbieranie uprawnień, aż po wyłączenie dostępu, gdy ktoś odchodzi z firmy. Tożsamością może być człowiek, ale równie dobrze aplikacja, serwis albo maszyna.

Pod maską IAM rozdziela dwie rzeczy, które łatwo pomylić. Uwierzytelnianie (authentication) sprawdza, czy naprawdę jesteś tym, za kogo się podajesz — hasło, klucz, token, drugi składnik z aplikacji typu authenticator. Autoryzacja (authorization) decyduje, do czego masz dostęp już po zalogowaniu. Do tego dochodzi zarządzanie uprawnieniami: zamiast przypisywać prawa pojedynczo, grupujesz je w role (model RBAC — Role-Based Access Control) albo przyznajesz na podstawie atrybutów (ABAC). Złota zasada to least privilege — każdy dostaje minimum potrzebne do roboty, ani jednego uprawnienia więcej.

Przykład z praktyki

Najczęściej spotkasz IAM w chmurze. W AWS IAM tworzysz użytkowników, role i polityki opisane w JSON. Powiedzmy, że aplikacja ma móc tylko czytać pliki z jednego bucketa S3 — dajesz jej rolę z polityką zawierającą akcję s3:GetObject ograniczoną do konkretnego zasobu, i nic poza tym. Tożsamość roli możesz podejrzeć poleceniem:

  1. aws sts get-caller-identity — pokazuje, jako kto jesteś aktualnie uwierzytelniony.
  2. aws iam list-attached-role-policies --role-name moja-rola — listuje przypięte polityki.

Aplikacja nie trzyma wtedy żadnego stałego hasła — dostaje tymczasowe poświadczenia z przypisanej roli. Mniej sekretów do wycieknięcia.

Częste błędy i mity

  • Rozdawanie uprawnień na zapas. „Na razie damy admina, potem ograniczymy” — i tak zostaje na zawsze. To prosta droga do tego, że jedno przejęte konto kładzie całą infrastrukturę.
  • Zombie-konta. Ktoś odszedł pół roku temu, a jego login wciąż działa. Offboarding to część IAM, nie formalność dla HR.
  • Mylenie IAM z samym SSO. Single Sign-On i MFA to elementy układanki, a nie całe IAM. Bez kontroli uprawnień i przeglądów dostępu masz tylko ładny ekran logowania.

Pojęcia powiązane: authentication, authorization, MFA, SSO, RBAC, ABAC, least privilege, Zero Trust, PAM (Privileged Access Management), OAuth 2.0, SAML, Active Directory.