AWS - IAM - Identity and Access Management
IAM, AWS kaynaklarına kimlerin erişebileceğini ve neleri yapabileceğini yöneten güvenlik sistemidir. AWS hesabındaki kaynaklara erişimi kontrol etmeni sağlayan bir güvenlik servisidir.
Kısaca: “Kim, hangi kaynağa, hangi izinlerle erişebilir?” sorusunun cevabıdır.
IAM’in 4 ana bileşeni vardır: User, group, role, policy
Users: Erişime ihtiyaç duyulan kişilerdir.
Groups: İzinleri tek tek atamak yerine birçok kullanıcının iznini birlikte yönetmemizi sağlar.
Roles: Aws hizmetlerine veya kullanıcılara geçici izinler sağlar.
Policies: Örneğin, bir lambda işlevinin bir s3 klasöründen okuma yapması veya bir dynamodb tablosuna yazması gerektiğinde ve politikalar tam olarak hangi eylemlerin, kullanıcıaların, grupların veya rollerin gerçekleştirilebileceğini tanımlayan kurallar kümesidir.
Console da search alanına IAM diyerek IAM hizmetine gidiyorum.

Buradan kullanıcılar menüsüne tıklıyorum. Gelen sayfada kullanıcı oluştur diyorum.

Kullanıcı adı belirleyip sonraki diyorum.

Burada politikaları doğrudan ekleyin seçip devam edeceğiz ancak burada aws şunu öneriyor Önce bir kullanıcı grubu oluşturulur o gruba politikalar tanımlanır ve kullanıcı gruba eklendiğinde gruba eklenen politikalardan etkilenmiş olur. Ancak biz şimdi politikayı doğrudan kullanıcıya ekleyip devam edeceğiz.

Burada AdministratorAccess politikasına ekleyip kullanıcıya tüm aws kaynaklarına erişim hakkı verir. Sonrasında ileri – ileri diyerek en son kullanıcı oluştur butonuna tıklayarak sonlandırıyoruz.

Sonra bu kullanıcıya tıklayalım.

Eklediğimiz politikayı görebiliyoruz. Şimdi bu kullanıcıyı siliyorum ve bir grup oluşturarak devam edeceğim. Erişim yönetimi menüsünden kullanıcı gruplarına girip grup oluştur diyoruz.

Grubun adına admins diyorum ve izin politikası olarak AdministratorAccess seçiyorum.

Grubun detayında izinlerini görebiliyorum. Ancak henüz bir kullanıcı atamadık. Bunun için kullanıcılar menüsüne geçip bir kullanıcı oluşturacağız.

Kullanıcımın adını girdim ve ikinci ekranda izin seçeneklerinde kullanıcıyı bu az önce oluşturduğum gruba ekleyebilirim. Kullanıcı profilimin detayını görebiliyorum.

Ve bu kullanıcıyı eklediğim gruba baktığımda da gruba eklendiğini görebiliyorum.

Bu gruba eklenen tüm kullanıcılar otomatik olarak gruba tanımlı olan izin politikasına sahip olacaktır. Bir kullanıcı daha oluşturalım ve aynı gruba ekleyelim.


AWS’de 3 temel politika (policy) türü vardır.
Identity-based Policy (Kimliğe Dayalı Politika)
Bu en yaygın kullanılan politika türüdür. Bir IAM user, group veya role üzerine doğrudan atanır. “Bu kullanıcı / grup / rol hangi AWS kaynaklarında hangi işlemleri yapabilir?” sorusuna cevap verir.
Nerede kullanılır:
-
IAM User (bireysel kullanıcılar)
-
IAM Group (kullanıcı grupları)
-
IAM Role (örneğin EC2 veya Lambda rolleri)
Resource-based Policy (Kaynağa Dayalı Politika)
Bu tür politika kaynağın (resource) kendisine eklenir. Yani erişim yetkisi “kullanıcıda” değil, kaynağın üzerinde tanımlanır. “Bu kaynağa kimler, hangi izinlerle erişebilir?” sorusuna cevap verir.
Nerede kullanılır:
-
S3 Bucket Policy
-
SNS Topic Policy
-
SQS Queue Policy
-
Lambda Function Policy
Permissions Boundary (İzin Sınırı Politikası)
Bir IAM user veya role için izinlerin maksimum sınırını belirler.
Amaç:
“Bu kullanıcıya hangi izin verilirse verilsin, asla şu sınırı aşamasın.”
Nerede kullanılır:
-
Büyük organizasyonlarda “yetki sınırı” koymak için.
-
Örneğin: Developer’lara S3 erişimi ver ama IAM değiştirme izni asla verme.