AWS Identity and Access Management

Metin Ağaoğlu
5 min readFeb 10, 2019

--

Merhabalar

Bu yazıda AWS’deki kimlik ve erişim yönetimi bölümünü inceleyeceğiz.

Öncelikle IAM servisinin ne olduğundan ve hangi amaçla kullandığımızdan bahsedelim.

AWS Identity and Access Management yani Amazon kimlik ve Erişim Yönetimi ile amazon üzerindeki hizmetlerimizi ,kaynaklarımızı ve bunlara olan erişim, yetkilendirme, kimlik doğrulama vb. gibi işlemlerimizi yönetiyoruz.Bu servisi kullanarak hesabımıza kullanıcılar ve gruplar oluşturabilir ve bunlara özel erişim izinleri ve yetkiler atayabiliriz.

En basit şekilde örnek vermek gerekirse hesabınıza veritabanlarını yönetmesi için bir DB Admin oluşturmak istiyorsunuz.AWS üzerindeki veritabanı ile ilgili servislerden başka birşeye erişmesine gerek yok.Bunun için DB Admins diye grup açıp, o gruba sadece ilgili veritabanı servisleri için izin vermeniz yeterlidir.Sonrasında o gruba dahil ettiğiniz kullanıcılar sadece izin verdiğiniz servislere izin verdiğiniz kadarıyla erişip işlem yapıcaklardır.

Yukarıdaki örnekteki gibi AWS hesabımızda birden fazla kişinin değişik amaçlara yönelik işlem yapabilmeleri için farklı kullanıcılar ve gruplar oluşturup yetkilerini düzenleyebiliriz.

Not: IAM ücretsiz bir servistir.Yani kullanıcı veya grup açtıkça hesabınıza para işlemez ama tabiki açtığınız hesapların kullandıkları AWS hizmetleri tarafınıza fatura edilecektir.

Lafı fazla uzatmadan örneklerle kullanıcı, grup ekleme ve yetkilendirme işlemlerine bakalım.

IAM servisinin’e gittiğimiz zaman bizi aşağıdaki gibi bir anasayfa göreceğiz.

IAM Dashboard

Öncelikle hesap takma adını biraz inceleyelim.Hesap takma adı, hesabınızın web adresindeki hesap kimliğinin yerine geçer. Eğer hesabınız yeniyse veya belirlemediyseniz accountID iz olarak kabul edilir.Sağdaki customize butonuna tıklayarak basitçe bir takma isim verebilirsiniz.

Görmüş olduğunuz gibi oluşturduğunuz kullanıcılar AWS Yönetim Arayüzü’ne giriş yapmak için belirlediğin takma ad’ı veya hesap id’nizi kullanmak durumundadırlar.

Grup Oluşturma

IAM Dashboard’da soldaki menüden grupları seçip sol üst menüden Create New Group ‘tan yeni grup oluşturalım.

Öncelikle grup adı atayalım.Ben yukarıdaki örnek senaryoyu baz alarak DB Admin grubu oluşturuyorum.Grup Adını belirledikten sonra 2. adıma geçebiliriz.

2. aşamada oluşturduğumuz gruba yetki ataması yapıyoruz.Atadığımız yetki bu gruba dahil ediceğimiz kullanıcılar için geçerli olucaktır.Ben DB Admin grubuma RDS için tam erişim yetkisi veriyorum.Sizde kendi ihtiyacınıza göre grup ve yetki ataması yapabilirsiniz.

3. Kısımda yaptıklarınızı gözden geçirip grubu oluşturabilirsiniz.

Groups

Görmüş olduğunuz gibi çok basit bir şekilde grubumuzu oluşturduk.AWS hesabınızda ihtiyaçlarınıza göre gruplar oluşturup bunların altına kullanıcılar dahil ederek hesabınızı güvenli bir şekilde yönetebilirsiniz.

Kullanıcı Oluşturma

Sonraki aşamada ise soldaki menüden Users sekmesine tıklayıp kullanıcıları görüntüleyebilirsiniz..Üstteki menüden Add user butonuna tıklayarak AWS hesabınızdaki ilk kullanıcınızı oluşturabilirsiniz.

Add User

Ekleyeceğimiz kullanıcıya username belirledikten sonra Erişim Tipi belirlememiz gerekiyor.Kısaca erişim tiplerinden bahsetmek gerekirse:

Programatik Erişim(Programmatic access)

İsmindende anlaşılacağı üzere bu erişim türü sadece api veya amazon sdk larında kullanmak için tercih edilmelidir.Bu erişim türünü seçerek kullanıcı oluşturduktan sonra amazon size Access key ID ve Secret Access key vericektir.Bunları kullanarak gerçekleştirmek istediğiniz api çağrılarını vs gerçekleştirebilirsiniz.

Arayüz Erişimi(AWS Management Console Access)

Bu erişim tipinde oluşturduğunuz kullanıcı ise belirlediğiniz yetkilere göre AWS Yönetim Arayüzüne erişim işlem yapabilecektir.

AWS Yönetim Arayüz’ü için hesap oluşturu seçerseniz sizden bu hesap adına parola girmenizi veya kendisini rastgele bir parola atayabileceğiniz söyleyen 2 seçenek daha çıkıcaktır.Ek olarak kullanıcı ilk giriş yaptıktan sonra parola değiştirmeye zorlayan bir seçenekte mevcut.

Kullanıcı adı ve erişim tipi belirledikten sonraki 2. aşama kullanıcının yetkilerini belirlemeye geçelim.

Kullanıcı Ekleme 2. Adım

Amazon kullanıcıya yetki verirken bizlere 3 seçenek sunmaktadır.Bunlardan ilki kullanıcıları bir gruba dahil etmek.Kullanıcı dahil ettiğiniz gruba atanan yetkilere sahip olucaktır.Az önce oluşturduğumuz grubu burada görebilirsiniz.Kullanıcıyı bu gruba dahil ettiğimiz taktirde DB Admin grubuna atanan yetkilerine sahip olucaktır.

İkinci seçenek ise mevcut kullanıcılarınızdan birisinin yetkilerini birebir yeni oluşturacağınız kullanıcı içinde atar.Yeni oluşturulan kullanıcının izinleri ,seçtiğiniz kullanıcının izinleriyle aynı olur , seçtiğiniz kullanıcı bi gruba üye ise oda o gruba üye edilir ,değilse tekil yetkilerini alır.

Üçüncü seçenek ise yeni kullanıcınızı herhangi bir gruba dahil etmeden özel yetki vermek için kullanılmaktadır.Örnek vermek gerekirse kullanıcınız’a farklı yetkiler vericeksiniz ve tekil olucak grup yetkileriyle oynamak veya yeni grup oluşturmak yerine bu seçeneği seçmeniz doğru olucaktır.

Hesapları yetkilendirdikten sonraki aşamada isteğe bağlı olarak kullanıcılara etiket atayabiliyorsunuz.Etiketler kullanıcı erişimlerini düzenlemek , izlemek ve kontrol etmekte kolaylık sağlamaktadır.Örnek vermek gerekirse iş ünvanına göre email adresine göre anahtar/değer atayabilirsiniz.

Bu aşamadan sonra oluşturmak istediğiniz kullanıcı ile ilgili tüm bilgilerin olduğu bi review ekranı gelicektir.Son bir göz gezdirip değiştirmek istediğiniz birşey yoksa Create User butonu ile kullanıcınızı ekleyebilirsiniz.

Kullanıcıları oluşturduktan sonra ise parolarını veya access keylerini email olarak gönderebilirsiniz.

Hesap Yönetiminde bazı tavsiyeler

Hesap yönetiminde birkaç konuya daha değinmek istiyorum aslında zaten bunları size amazonda söylüyor bende kısaca bi özet geçmek istedim.

Root hesabını kullanmayın

Öncelikle amazon kullandığımız root hesabında işlem yapmamızı önermiyor.Bunun nedeni root hesabının tüm yetkilere ve erişimlere sahip olmasıdır.Bu hesabın ele geçirilmesi durumunda çok ciddi sorunlarla karşılaşılabilir.Bu nedenle Kullanıcı Yönetiminden diğer birimlerin dışında kendiniz içinde ihtiyacınız olan servislere yetkisi olan bir kullanıcı açıp kullanmanızı öneriyor.

MFA’yı etkinleştirin

Aslında sadece amazonun değil birçok servisin önerdiği ve güvenlik için Multi-Factor Authentication ‘ı aktif hale getirmek..AWS üzerinde Multi-Factor Authentication ‘ı aktif etmek istediğinizde 3 farklı seçeneğiniz var.

Manage MFA Device

İlk seçenekte telefonunuza Google Authenticator kurup QRCode ile senkronize ediyorsunuz.Ve artık root hesabınıza giriş yaparken telefonunuzdan bu doğrulama kodunuda girmeniz gerekiyor.

AWS diğer seçeneklerde ise donanım tabanlı çözümler sunmaktadır.Detaylı bilgi için tıklayınız.

Oluşturduğunuz Kullanıcılar için Parola Politikası oluşturun

Amazonun bir diğer tavsiyesi oluşturduğunuz kullanıcılar için parola politikası oluşturmaktır.

Resimdeki gördüğünüz gibi karakter uzunluğundan büyük,küçük harfe kadar detaylı bir parola politikası oluşturabiliyorsunuz.Açtığınız kullanıcılar bu politikalar doğrultusunda parola oluşturulmaya zorlanıyor.Buda güvenlik için amazonun size önerdiği yöntemlerden.

Yukarıdaki örnekte gördüğünüz gibi db-admin oluşturulmuş ve girişte parola değiştirmeye zorlanmıştır.Oluşturduğunuz parola politikasına göre burda kendine yeni parola oluşturacaktır.

Temel olarak Amazonun hesap ve erişim yönetiminden bahsetmeye çalıştım.Hatalı veya eksik gördüğünüzüz yerleri bildirseniz sevinirim.İyi çalışmalar…

--

--