CLOUD-101: 3-AWS Identity and Access Management (IAM)

AWS IAM Nedir?

Bulut bilişim dünyasında güvenlik, her zaman birinci önceliktir. Amazon Web Services (AWS) ekosisteminde bu güvenliğin kalbinde AWS Identity and Access Management (IAM) yer alır.

AWS Identity and Access Management (IAM), AWS servislerine ve kaynaklarına olan erişimi güvenli bir şekilde yönetmenizi sağlayan bir servistir. IAM sayesinde, hangi kullanıcıların veya sistemlerin hangi kaynaklara erişebileceğini ve bu kaynaklar üzerinde hangi işlemleri yapabileceğini (okuma, yazma, silme vb.) merkezi bir noktadan kontrol edebilirsiniz.

IAM’in Temel Bileşenleri

IAM mimarisini anlamak için dört temel yapı taşını bilmek gerekir: Kullanıcılar, Gruplar, Roller ve Politikalar.

1. Kullanıcılar

Bir IAM kullanıcısı, AWS ile etkileşime giren bir kişiyi veya uygulamayı temsil eden bir varlıktır. Her kullanıcı bir isimden ve kimlik bilgilerinden (credentials) oluşur. Örneğin, ekibinize yeni katılan bir geliştirici için özel bir IAM kullanıcısı oluşturarak ona sadece ihtiyacı olan yetkileri verebilirsiniz.

2. Gruplar

IAM grupları, IAM kullanıcılarının bir koleksiyonudur. Gruplar, birden fazla kullanıcı için izinleri aynı anda yönetmeyi kolaylaştırır. Örneğin, bir “Geliştiriciler” grubu oluşturup gerekli izinleri bu gruba tanımlarsanız, gruba eklediğiniz her kullanıcı otomatik olarak bu izinlere sahip olur.

3. Roller

IAM rolleri, bir AWS servisinin (EC2, RDS vb.) veya bir kullanıcının geçici olarak belirli izinleri üstlenmesini sağlayan varlıklardır. Roller, kalıcı kimlik bilgilerine sahip değildir; bunun yerine “Güven İlişkisi” (Trust Relationship) prensibiyle çalışır.

Örnek Senaryo: Bir EC2 örneğinin, bir S3 klasörüne erişip veri okuması gerekiyorsa, EC2’ye bir IAM rolü atanır ve bu rol üzerinden erişim sağlanır.

4. Politikalar

Politikalar, izinleri tanımlayan belgelerdir. Bir politika, bir aksiyonun (Action) gerçekleştirilmesi için gerekli izinleri belirler. Politikalar kullanıcılara, gruplara veya rollere eklenebilir.

Politika Verisi (JSON Yapısı)

IAM politikaları genellikle JSON formatındadır ve üç ana bölümden oluşur:

Effect: Erişime izin mi verileceğini yoksa reddedileceğini belirtir (Allow/Deny).

Action: İzin verilen veya reddedilen işlemlerin listesidir (Örn: Get, Put, Delete).

Resource: Bu işlemlerin hangi kaynaklar üzerinde uygulanacağını belirtir.

Politika Türleri

AWS’de iki ana politika türü bulunur:

1. Managed Policies (Yönetilen Politikalar):

    ◦ AWS Managed: AWS tarafından oluşturulan ve yönetilen politikalardır.

    ◦ Customer Managed: Sizin tarafınızdan oluşturulan ve özelleştirilen politikalardır.

2. Inline Policies (Satır İçi Politikalar): Doğrudan tek bir kullanıcıya, gruba veya role gömülü olan politikalardır.