AWS IAM User, Group, Role ve Policy Nedir? Arasındaki Farklar Nelerdir?
4 min read

AWS IAM User, Group, Role ve Policy Nedir? Arasındaki Farklar Nelerdir?

AWS Identify and Access Management (IAM), AWS hizmetlerine ve kaynaklarına ayrıntılı izinler sağlar.
AWS IAM User, Group, Role ve Policy Nedir? Arasındaki Farklar Nelerdir?
Photo by Daniel Eledut / Unsplash

Amazon Web Services'deki (AWS) Identify and Access Management (IAM); kullanıcı (user), kullanıcı grubu (user group), ilke (policy) ve rol (role) olmak üzere birden fazla kimliğine sahiptir.  

Bu makalede bu kimliklerin ne olduğunu, arasındaki benzerlikleri ve farklılıkları tartışacağız. Makalenin sonunda, IAM rolleri, kullanıcıları ve grupları arasındaki farkı anlamanın yanı sıra, bir AWS rolünü policy'den neyin ayırt ettiğini net bir şekilde anlamış olacaksınız.

AWS Identify and Access Management (IAM), AWS hizmetlerine ve kaynaklarına ayrıntılı izinler sağlar.

Bu yazıda, aşağıdaki IAM kavramlarına daha yakından bakacağız:

  • User
  • User Group
  • Role
  • Policy

1. IAM Nedir?

AWS Identity and Access Management (IAM), AWS kaynaklarınıza erişimi kontrol etmenizi sağlayan, AWS tarafından sağlanan bir hizmettir. IAM, kaynaklarınıza kimlerin (kimlik doğrulama) ve hangi yollarla (yetkilendirme) erişebileceğini kontrol etmenizi sağlar.

AWS Authentication ve Authorization kavramlarını anlamaya çalışarak devam edelim.

1.1. IAM ile Kimlik Doğrulama (Authentication)

AWS IAM'de kimlik doğrulama veya kimlik yönetimi aşağıdaki tanımlardan oluşur:

  • Kullanıcılar (Users):  Bir IAM kullanıcısı, AWS konsolundan ve AWS CLI'den AWS kaynaklarınızla etkileşim kurar. Varsayılan olarak, yeni bir IAM kullanıcısının herhangi bir AWS kaynağına erişimi yoktur.
  • Gruplar (Groups): Bir IAM grubu, IAM kullanıcıları ve bu kullanıcılara atanan izinlerden oluşur.
  • Roller (Roles): IAM rolü, belirli bir dizi izine sahip bir varlıktır.

1.2. IAM ile Yetkilendirme (Authorization)

IAM Policy, çeşitli IAM kimliklerine belirli izinler vererek IAM'de yetkilendirme veya erişim yönetimini belirler.

2. IAM User Nedir?

IAM user, AWS'de oluşturduğunuz bir varlıktır. IAM user, AWS ile etkileşim kurmak için IAM user'ı kullanan kişiyi veya hizmeti temsil eder.

IAM user için birincil kullanım, insanlara etkileşimli görevler için AWS Management Console'da oturum açma ve API ya da CLI kullanarak AWS hizmetlerine programatik isteklerde bulunma yeteneği vermektir.

AWS'deki bir user, bir ad, AWS Management Console'da oturum açmak için bir parola ve API veya CLI ile kullanılabilecek en fazla iki erişim anahtarından oluşur.

Bir IAM kullanıcısı oluşturduğunuzda, onu uygun izin policyleri eklenmiş (önerilen) bir kullanıcı grubunun üyesi yaparak veya doğrudan kullanıcıya policyler ekleyerek izin vermiş olursunuz. Ayrıca, yeni kullanıcıyı otomatik olarak aynı kullanıcı gruplarının bir üyesi yapan ve aynı policylerin tümünü ekleyen mevcut bir IAM user'ın izinlerini de kopyalayabilirsiniz.

3. IAM User Group Nedir?

IAM user group, IAM user topluluğudur. Bir kullanıcı topluluğuna izinleri belirtmek için user group kullanabilirsiniz; Bu, bu izinlerin bu kullanıcılar için yönetilmesini kolaylaştırabilir.

Örneğin, Managers adında bir user group olabilir ve bu kullanıcı grubuna yöneticilerin tipik olarak ihtiyaç duyduğu izin türlerini verebilirsiniz. Bu kullanıcı grubundaki herhangi bir kullanıcı, kullanıcı grubuna atanan izinlere otomatik olarak sahiptir. Kuruluşunuza yeni bir kullanıcı katılırsa ve yönetici ayrıcalıklarına sahip olması gerekiyorsa, kullanıcıyı o kullanıcı grubuna ekleyerek uygun izinleri atayabilirsiniz.

Benzer şekilde, bir kişi kuruluşunuzdaki işleri değiştirirse, o kullanıcının izinlerini düzenlemek yerine, onu eski kullanıcı gruplarından çıkarabilir ve uygun yeni kullanıcı gruplarına ekleyebilirsiniz.

Bir user group, aynı anda birden çok kullanıcıya policy eklemenin bir yoludur. Bir user group'a kimlik tabanlı bir ilke eklediğinizde, kullanıcı grubundaki tüm kullanıcılar, kullanıcı grubundan izinleri alır.

4. IAM Role Nedir?

IAM rolü, AWS hesabınızda oluşturabileceğiniz ve belirli izinler atayabileceğiniz bir IAM kimliğidir.

Bir IAM rolü, AWS'de neler yapabileceğini ve yapamayacağını belirleyen policylere sahip bir kimlik olması bakımından IAM user'a çok benzer. Ancak, bir rolün kendisiyle ilişkilendirilmiş herhangi bir kimlik bilgisi (parola veya erişim anahtarı) yoktur.

Bir IAM rolü ile bir IAM kullanıcısı arasındaki önemli bir fark, bir rolün ona ihtiyacı olan herkes tarafından üstlenilebilir olmasıdır. Bir rolün kendisiyle ilişkilendirilmiş standart uzun vadeli kimlik bilgileri (parolalar gibi) yoktur. AWS, bir IAM rolü üstlenildiğinde geçici güvenlik kimlik bilgileri oluşturur.

5. IAM Policy Nedir?

IAM politikası, bir dizi kurala sahip bir belgedir. Her IAM politikası, belirli bir dizi izin verir.

Politikalar Kullanıcılar, Gruplar ve Roller gibi IAM kimliklerine eklenir. Her IAM politikasının benzersiz bir adı vardır.

AWS hesabınızda iki tür ilke vardır:

  • Yönetilen ilkeler: Bu ilkeler yeniden kullanılabilir ve birden çok varlığa eklenebilir. AWS, varsayılan olarak birçok yönetilen ilke sağlar. Müşteriler ayrıca kendi yönetilen politikalarını da oluşturabilir.
  • Dahili politikalar: Bu politikalar doğrudan IAM varlıklarına uygulanır. Ancak, bu ilkeler yeniden kullanılamaz ve birden çok varlığa eklenemez.

6. IAM User ve Role Farkı

Bir IAM user ve role arasındaki farkı tablo ile özetleyelim:

User Role
Parolası var mı? Evet Hayır
Access Keyi var mı? Evet Hayır
Bir gruba dahil olabilir mi? Evet Hayır
Kaynaklarla ilişkilendirilebilir mi? Hayır Evet

7. IAM Role ve Policy Farkı

IAM Rolleri, AWS kaynaklarınıza kimlerin erişebileceğini yönetirken, IAM Policy izinlerini kontrol eder.

Policy eklenmemiş bir Rolün herhangi bir AWS kaynağına erişmesi gerekmez.

Bir IAM rolüne eklenmemiş bir Policy etkin bir şekilde kullanılmaz. Bir IAM policy'de listelenen izinler, yalnızca bu policy bir IAM kimliğine eklendiğinde uygulanır.

Bu nedenle, AWS kaynaklarınızın güvenliğini yönetmek için rolleri ve policyleri birlikte yönetmelisiniz.