AWS’te İlk IAM Kullanıcınızı 5 Dakikada Kurma: Adım Adım Güvenli Başlangıç
AWS bulut ortamında güvenliğinizi sağlamanın ilk ve en kritik adımı, root kullanıcı hesabınızı doğrudan kullanmaktan vazgeçip, her görev için özel olarak yetkilendirilmiş IAM (Identity and Access Management) kullanıcıları oluşturmaktır. Bu makalede, AWS’te ilk IAM kullanıcınızı sadece 5 dakika içinde nasıl kuracağınızı, adım adım ve en iyi güvenlik uygulamalarını takip ederek öğreneceksiniz. Bu basit ancak hayati adımlarla, bulut kaynaklarınıza erişimi güvenli ve yönetilebilir hale getireceksiniz.
IAM Nedir ve Neden Önemlidir?
AWS IAM (Identity and Access Management), AWS kaynaklarınıza kimlerin (kullanıcılar, gruplar, roller) ne şekilde erişebileceğini güvenli bir şekilde yönetmenizi sağlayan bir web hizmetidir. IAM ile, kullanıcılarınıza ve hizmetlerinize özel, en düşük yetki prensibine dayalı izinler atayarak güvenlik risklerini minimize edersiniz.
IAM’in Temel Fonksiyonları
- Kullanıcı Yönetimi: Bireysel kullanıcılar oluşturma ve yönetme.
- Grup Yönetimi: Kullanıcılara toplu izin atamak için gruplar oluşturma.
- Politika Yönetimi: Kaynaklara erişim izinlerini tanımlayan JSON tabanlı politikalar oluşturma ve yönetme.
- Rol Yönetimi: AWS hizmetleri veya dış kimlikler için geçici izinler sağlayan roller oluşturma.
- Çok Faktörlü Kimlik Doğrulama (MFA): Hesap güvenliğini artırmak için ek bir güvenlik katmanı ekleme.
Root Kullanıcı Yerine IAM Kullanıcısı Kullanmanın Avantajları
AWS hesabınızı ilk oluşturduğunuzda sahip olduğunuz “root kullanıcı” hesabı, tüm AWS hizmetlerine ve kaynaklarına tam erişime sahiptir. Bu hesabı günlük operasyonlarda kullanmak, ciddi güvenlik riskleri taşır. IAM kullanıcıları ise:
- Minimum Yetki Prensibi: Her kullanıcıya sadece görevi için gerekli olan minimum izinleri atamanızı sağlar.
- Hesap İzlenebilirliği: Her eylemin belirli bir IAM kullanıcısıyla ilişkilendirilmesini sağlayarak denetlenebilirliği artırır.
- Güvenlik: Root hesabın ele geçirilmesi durumunda oluşabilecek potansiyel zararı sınırlar.
- MFA Zorunluluğu: IAM kullanıcıları için MFA’yı zorunlu kılarak ek güvenlik sağlar.
Minimum Yetki Prensibi (Least Privilege)
Minimum yetki prensibi, bir kullanıcının veya hizmetin yalnızca görevini yerine getirmek için kesinlikle ihtiyaç duyduğu izinlere sahip olması gerektiğini belirtir. Bu, güvenlik ihlali durumunda potansiyel zararı en aza indiren temel bir güvenlik uygulamasıdır. İlk IAM kullanıcınızı oluştururken bu prensibi aklınızda bulundurmanız, uzun vadede size büyük faydalar sağlayacaktır.
Başlamadan Önce: Ön Hazırlıklar
İlk IAM kullanıcınızı oluşturmadan önce birkaç basit hazırlık yaparak süreci daha da hızlandırabilir ve güvenli bir temel oluşturabilirsiniz.
AWS Hesabınıza Erişim
İlk olarak, AWS hesabınıza root kullanıcı olarak giriş yapmanız gerekecek. Bu, sadece ilk IAM kullanıcınızı oluşturmak ve root hesabınız için MFA’yı etkinleştirmek gibi kritik yönetim görevleri için önerilen bir durumdur. Günlük işleriniz için root hesabı kullanmaktan kaçının.
Güçlü Bir Şifre Politikası Belirleme
Oluşturacağınız IAM kullanıcısı için güçlü bir şifre politikası belirlemek önemlidir. AWS, varsayılan olarak karmaşık şifreler gerektirir, ancak kendi özel şifre politikanızı (uzunluk, özel karakterler, rakamlar vb.) tanımlayarak güvenliği daha da artırabilirsiniz. Bu politikayı IAM konsolunda “Account settings” altında ayarlayabilirsiniz.
Gerekli İzinleri Anlama
Oluşturacağınız ilk IAM kullanıcısı genellikle bir yönetici veya geliştirici rolünde olacaktır. Bu nedenle, başlangıçta ona AdministratorAccess gibi geniş bir yönetici politikası atayabilirsiniz. Ancak, bu sadece bir başlangıç noktasıdır. Daha sonra, kullanıcının görevine özel, daha kısıtlı izinler atamak için bu politikayı değiştirmeyi veya daha spesifik gruplara eklemeyi hedeflemelisiniz.
AWS Konsolu Üzerinden IAM Kullanıcısı Oluşturma Adımları
Şimdi, AWS Yönetim Konsolu üzerinden ilk IAM kullanıcınızı oluşturma sürecine geçelim. Bu adımlar oldukça hızlı ve sezgiseldir.
IAM Paneline Erişim
- AWS Yönetim Konsolu’na root kullanıcı olarak giriş yapın.
- Arama çubuğuna “IAM” yazın ve çıkan sonuçlardan “IAM” hizmetini seçin. Alternatif olarak, “Services” menüsünden “Security, Identity, & Compliance” altında “IAM” seçeneğine tıklayabilirsiniz.
- IAM paneline ulaştığınızda, sol menüde “Users” (Kullanıcılar) seçeneğini göreceksiniz. Buraya tıklayın.
Yeni Kullanıcı Oluşturma İşlemi
- “Users” sayfasında, “Add users” (Kullanıcı ekle) düğmesine tıklayın.
- Bu sizi “Add user” sihirbazına götürecektir.
Kullanıcı Adı ve Erişim Tipi Belirleme
İlk adımda, kullanıcı adını ve erişim tipini belirlemeniz gerekmektedir.
- User name (Kullanıcı adı): Kullanıcı için benzersiz bir ad girin (örneğin,
admin-aliveyadev-ayse). - AWS access type (AWS erişim tipi):
- Programmatic access (Programatik erişim): Bu seçenek, kullanıcıya API, CLI veya SDK aracılığıyla AWS’ye erişim için bir erişim anahtarı kimliği ve gizli erişim anahtarı verir. Genellikle uygulamalar veya otomasyon için kullanılır.
- AWS Management Console access (AWS Yönetim Konsolu erişimi): Bu seçenek, kullanıcıya AWS Yönetim Konsolu’na giriş yapması için bir kullanıcı adı ve şifre verir.
İlk yönetici kullanıcınız için her iki seçeneği de işaretlemeniz önerilir. Bu, hem konsol erişimi hem de CLI/API erişimi için hazırlıklı olmanızı sağlar.
- Console password (Konsol şifresi):
- Autogenerated password (Otomatik oluşturulan şifre): AWS’nin sizin için güçlü bir şifre oluşturmasını sağlar.
- Custom password (Özel şifre): Kendi şifrenizi belirlemenizi sağlar.
Genellikle otomatik oluşturulan şifre daha güvenlidir. Kullanıcının ilk girişinde şifresini değiştirmesini zorunlu kılmak için “Require user to create a new password at next sign-in (Kullanıcının bir sonraki oturum açışında yeni şifre oluşturmasını zorunlu kıl)” seçeneğini işaretlemeyi unutmayın. Bu, ilk şifrenin sadece geçici olmasını sağlar.
- “Next: Permissions” (İleri: İzinler) düğmesine tıklayın.
Kullanıcıya İzinleri Atama: Güvenliğin Temeli
Kullanıcıya izin atamak, IAM’in en kritik adımıdır. Bu adımda, kullanıcının AWS kaynakları üzerinde hangi eylemleri gerçekleştirebileceğini belirlersiniz.
Mevcut Politikaları Kullanma
İzin atama ekranında üç ana seçenek bulunur:
- Add user to group (Kullanıcıyı gruba ekle): Mevcut bir IAM grubuna ekleyerek grubun sahip olduğu tüm izinleri kullanıcıya atarsınız. Bu, birden fazla kullanıcıya aynı izinleri atamanın en iyi yoludur.
- Copy permissions from existing user (Mevcut kullanıcıdan izinleri kopyala): Başka bir kullanıcının sahip olduğu izinleri kopyalar.
- Attach existing policies directly (Mevcut politikaları doğrudan ekle): AWS tarafından yönetilen veya sizin oluşturduğunuz özel politikaları doğrudan kullanıcıya eklersiniz.
İlk yönetici kullanıcınız için “Attach existing policies directly” seçeneğini seçin ve arama kutusuna AdministratorAccess yazın. Çıkan listeden AdministratorAccess politikasını seçin. Bu politika, kullanıcıya hesabınızdaki tüm AWS kaynakları üzerinde tam yönetim yetkisi verir. Ancak unutmayın, bu geniş bir yetkidir ve uzun vadede daha kısıtlı politikalar kullanmayı hedeflemelisiniz.
“Next: Tags” (İleri: Etiketler) düğmesine tıklayın.
Grup Oluşturarak İzin Yönetimi
En iyi uygulama, izinleri doğrudan kullanıcılara atamak yerine gruplar aracılığıyla yönetmektir. Örneğin, “Developers” veya “Admins” adında gruplar oluşturup bu gruplara ilgili politikaları ekleyebilirsiniz. Yeni bir kullanıcı eklediğinizde, onu sadece uygun gruba dahil etmeniz yeterli olur.
Örnek Grup Oluşturma:
- “Add user to group” seçeneğini seçin.
- “Create group” düğmesine tıklayın.
- Grup için bir isim girin (örneğin,
AWSAdmins). - Listeden
AdministratorAccesspolitikasını seçin ve “Create group” düğmesine tıklayın. - Oluşturduğunuz grubu seçerek kullanıcıyı bu gruba ekleyin.
Özel Politika Oluşturma (Gerekirse)
Eğer AWS tarafından yönetilen politikalar ihtiyaçlarınızı karşılamıyorsa, kendi özel IAM politikalarınızı oluşturabilirsiniz. Bu, daha granüler izinler tanımlamanıza olanak tanır. Ancak, ilk kurulum için bu genellikle gerekli değildir ve daha sonraki bir aşamada ele alınabilir.
Etiketler (Tags): İsteğe bağlı olarak, kullanıcıya etiketler ekleyebilirsiniz (örneğin, Department: IT, Project: CoreInfrastructure). Bu, kaynaklarınızı düzenlemenize ve maliyetleri takip etmenize yardımcı olur. “Next: Review” (İleri: İncele) düğmesine tıklayın.
Erişim Anahtarlarını Yönetme ve Güvenlik En İyi Uygulamaları
Kullanıcı oluşturma işleminin son adımı, tüm ayarları gözden geçirmek ve kullanıcıyı oluşturmaktır. Bu aşamada özellikle erişim anahtarları ve MFA konularına dikkat etmek önemlidir.
Erişim Anahtarlarının Oluşturulması ve Saklanması
Review (İnceleme) ekranında, yaptığınız tüm seçimleri gözden geçirin. Her şey doğru görünüyorsa, “Create user” (Kullanıcı oluştur) düğmesine tıklayın.
Kullanıcı oluşturulduktan sonra, bir başarı ekranı göreceksiniz. Eğer programatik erişim seçeneğini işaretlediyseniz, burada kullanıcının Access key ID ve Secret access key bilgilerini göreceksiniz. Bu anahtarlar sadece bir kez gösterilir!
- Access key ID: Genel olarak görülebilir.
- Secret access key: Gizli tutulması gereken, şifre benzeri bir anahtardır.
Bu anahtarları “Download .csv” düğmesine tıklayarak güvenli bir yere indirin ve saklayın. Bu anahtarlar, AWS CLI, SDK’lar ve API’ler aracılığıyla AWS kaynaklarınıza programatik erişim için kullanılır. Bu anahtarları asla genel bir yerde (GitHub, Slack vb.) paylaşmayın!
MFA (Çok Faktörlü Kimlik Doğrulama) Etkinleştirme
Yeni oluşturduğunuz IAM kullanıcısı için MFA’yı etkinleştirmek, hesabınızın güvenliğini önemli ölçüde artıracaktır. Bu, kullanıcı adı ve şifrenin yanı sıra, fiziksel bir cihaz (donanım anahtarı) veya sanal bir MFA uygulaması (Google Authenticator, Authy vb.) aracılığıyla ek bir doğrulama adımı gerektirir.
- IAM paneline geri dönün ve sol menüden “Users” seçeneğine tıklayın.
- Yeni oluşturduğunuz kullanıcıya tıklayın.
- Kullanıcının detay sayfasında “Security credentials” (Güvenlik kimlik bilgileri) sekmesine gidin.
- “Assigned MFA device” (Atanmış MFA cihazı) bölümünde “Manage” (Yönet) düğmesine tıklayın.
- Bir MFA cihazı türü seçin (örneğin, “Virtual MFA device” – Sanal MFA cihazı).
- Talimatları izleyerek sanal MFA uygulamanızı yapılandırın ve iki ardışık MFA kodunu girerek kurulumu tamamlayın.
Root hesabınız için de mutlaka MFA’yı etkinleştirin!
Anahtar Döngüsü ve Güvenlik İpuçları
- Erişim Anahtarlarını Düzenli Olarak Döndürün: Erişim anahtarlarınızı belirli aralıklarla (örneğin, 90 günde bir) yenilemek iyi bir güvenlik uygulamasıdır. Eski anahtarları devre dışı bırakıp yenilerini oluşturun.
- Kullanılmayan Anahtarları Silin: Artık kullanılmayan erişim anahtarlarını silin.
- IAM Politikalarını Gözden Geçirin: Kullanıcılarınızın ve rollerinizin sahip olduğu izinleri düzenli olarak gözden geçirin ve minimum yetki prensibine uygun olduklarından emin olun.
- AWS CloudTrail ve CloudWatch Kullanın: Hesap etkinliklerini izlemek ve şüpheli davranışları tespit etmek için bu hizmetleri kullanın.
Oluşturulan Kullanıcı ile Oturum Açma ve Test Etme
IAM kullanıcınızı oluşturduktan ve MFA’yı etkinleştirdikten sonra, her şeyin doğru çalıştığından emin olmak için yeni kullanıcıyla oturum açmanız ve izinlerini test etmeniz önemlidir.
IAM Kullanıcısı ile Konsola Giriş
- AWS Yönetim Konsolu’ndan root hesabınızdan çıkış yapın.
- IAM paneline geri dönün ve “Dashboard” (Kontrol Paneli) bölümünde “AWS account ID” veya “Account alias” (Hesap kimliği veya Hesap takma adı) bilgisini içeren bir URL göreceksiniz. Bu URL, IAM kullanıcılarınızın oturum açması için özel bir bağlantıdır. Bu URL’yi kopyalayın ve yeni bir tarayıcı sekmesinde açın.
- Açılan oturum açma sayfasında, yeni oluşturduğunuz IAM kullanıcısının adını ve şifresini girin.
- Eğer MFA etkinleştirdiyseniz, MFA cihazınızdan gelen kodu girmeniz istenecektir.
- Başarılı bir şekilde oturum açtıysanız, AWS Yönetim Konsolu’na yönlendirileceksiniz.
İpucu: IAM kullanıcılarınızın oturum açmasını kolaylaştırmak için hesabınıza bir “Account alias” (Hesap takma adı) atayabilirsiniz. Bu, sayısal hesap kimliği yerine daha akılda kalıcı bir isimle oturum açma URL’si oluşturur.
İzinlerin Çalıştığını Doğrulama
Konsola IAM kullanıcınızla giriş yaptıktan sonra, atadığınız izinlerin gerçekten çalıştığını test edin:
- Eğer
AdministratorAccessatadıysanız, EC2, S3, Lambda gibi farklı AWS hizmetlerine giderek kaynak oluşturmaya veya mevcut kaynakları yönetmeye çalışın. Herhangi bir hata almadan bu işlemleri yapabilmeniz gerekir. - Eğer daha kısıtlı bir politika atadıysanız, kullanıcının erişmesi gereken hizmetlere gitmeye çalışın ve erişiminiz olup olmadığını kontrol edin. Erişmemesi gereken hizmetlere erişmeye çalıştığınızda “Access Denied” (Erişim Reddedildi) hatası almanız beklenir.
Hata Ayıklama İpuçları
Eğer bir hizmete erişirken “Access Denied” hatası alıyorsanız ve almamız gerektiğini düşünüyorsanız:
- IAM Politikalarını Kontrol Edin: Kullanıcıya veya kullanıcının dahil olduğu gruba atanan IAM politikalarını dikkatlice inceleyin. Gerekli izinlerin (
Action) ve kaynakların (Resource) doğru bir şekilde tanımlandığından emin olun. - AWS CloudTrail’i Kullanın: CloudTrail, hesabınızdaki tüm API çağrılarını kaydeder. Hata aldığınızda CloudTrail olay günlüklerini kontrol ederek hangi API çağrısının reddedildiğini ve nedenini (
errorCode,errorMessage) görebilirsiniz. - IAM Policy Simulator’ı Kullanın: IAM konsolunda bulunan Policy Simulator, belirli bir kullanıcının belirli bir eylemi belirli bir kaynak üzerinde gerçekleştirip gerçekleştiremeyeceğini test etmenize olanak tanır. Bu, politika sorunlarını gidermek için çok değerli bir araçtır.
Sıkça Yapılan Hatalar ve Kaçınılması Gerekenler
IAM kullanıcıları oluştururken ve yönetirken yapılan bazı yaygın hatalar vardır. Bu hatalardan kaçınmak, AWS ortamınızın güvenliğini artıracaktır.
Root Kullanıcı ile Çalışmaya Devam Etmek
En büyük hata, ilk IAM kullanıcısını oluşturduktan sonra bile root kullanıcı hesabını günlük operasyonlar için kullanmaya devam etmektir. Root kullanıcı hesabını sadece çok nadir ve kritik yönetim görevleri için kullanın ve her zaman MFA ile koruyun.
Aşırı Yetki Verme
Kullanıcılara veya gruplara görevleri için gerekenden daha fazla izin vermek (örneğin, her kullanıcıya AdministratorAccess vermek) ciddi bir güvenlik riskidir. Her zaman “minimum yetki prensibini” uygulayın ve sadece gerekli izinleri atayın. İzinleri zamanla daraltmayı hedefleyin.
MFA Kullanımını İhmal Etmek
Hem root hesabınız hem de tüm IAM kullanıcılarınız için MFA’yı etkinleştirmemek, hesabınızı brute-force saldırılarına veya kimlik avına karşı savunmasız bırakır. MFA, hesap güvenliğiniz için olmazsa olmaz bir adımdır.
Erişim Anahtarlarını Güvenli Saklamamak
Erişim anahtarlarını (özellikle gizli erişim anahtarını) açıkta bırakmak, kod depolarına yüklemek veya güvensiz bir şekilde paylaşmak, hesabınızın ele geçirilmesine yol açabilir. Anahtarları güvenli bir şekilde saklayın, düzenli olarak döndürün ve kullanılmayanları silin.
Politikaları Düzenli Olarak Gözden Geçirmemek
İş ihtiyaçları zamanla değişebilir. Bu nedenle, IAM politikalarınızı ve kullanıcı izinlerinizi düzenli olarak gözden geçirmek ve güncel tutmak önemlidir. Artık gerekli olmayan izinleri kaldırın.
Sonuç
AWS’te ilk IAM kullanıcınızı oluşturmak, bulut güvenliğinizin temel taşıdır ve gördüğünüz gibi, bu süreç sadece birkaç dakika içinde tamamlanabilir. Root hesabınızı koruyarak ve her görev için özel olarak yetkilendirilmiş IAM kullanıcıları kullanarak, AWS ortamınızın güvenliğini önemli ölçüde artırabilirsiniz. Minimum yetki prensibini benimseyin, MFA’yı etkinleştirin ve erişim anahtarlarınızı dikkatli yönetin. Bu basit adımlar, AWS yolculuğunuzda size sağlam ve güvenli bir başlangıç sağlayacaktır.
SSS (Sık Sorulan Sorular)
AWS IAM nedir?
AWS IAM (Identity and Access Management), AWS kaynaklarınıza kimlerin ve hangi yetkilerle erişebileceğini güvenli bir şekilde yönetmenizi sağlayan bir AWS hizmetidir. Kullanıcılar, gruplar, roller ve politikalar aracılığıyla erişim kontrolü sağlar.
Root kullanıcı yerine neden IAM kullanmalıyım?
Root kullanıcı hesabı, AWS hesabınızdaki tüm kaynaklara tam erişime sahiptir ve bu da büyük bir güvenlik riski oluşturur. IAM kullanıcıları, her göreve özel minimum yetki prensibiyle izinler atanmasına olanak tanır, böylece güvenlik ihlali durumunda potansiyel zararı sınırlar ve hesap etkinliklerinin daha iyi izlenmesini sağlar.
IAM kullanıcısı oluşturmak ne kadar sürer?
AWS Yönetim Konsolu üzerinden ilk IAM kullanıcınızı oluşturmak, bu makaledeki adımları takip ederek ortalama 5 dakika veya daha kısa sürede tamamlanabilir.
Bir IAM kullanıcısına hangi izinleri vermeliyim?
Kullanıcının görevini yerine getirmesi için kesinlikle ihtiyaç duyduğu minimum izinleri vermelisiniz (minimum yetki prensibi). Başlangıçta AdministratorAccess gibi geniş bir politika atayabilirsiniz, ancak daha sonra kullanıcının ihtiyaçlarına göre daha kısıtlı ve spesifik politikalarla değiştirmeyi hedeflemelisiniz.
Erişim anahtarlarımı kaybedersem ne yapmalıyım?
Eğer bir IAM kullanıcısının gizli erişim anahtarını kaybederseniz, yeni bir anahtar oluşturmanız gerekir. Kayıp anahtarı geri getirme veya görüntüleme imkanı yoktur. Kayıp anahtarı devre dışı bırakıp yeni bir tane oluşturarak güvenliği sağlayın.
MFA (Çok Faktörlü Kimlik Doğrulama) nedir ve neden önemlidir?
MFA, kullanıcı adı ve şifrenin yanı sıra ek bir doğrulama adımı (örneğin, bir mobil uygulamadan gelen kod) gerektiren bir güvenlik katmanıdır. Hesap güvenliğini önemli ölçüde artırır ve yetkisiz erişimi engellemeye yardımcı olur. Hem root hesabınız hem de tüm IAM kullanıcılarınız için MFA’yı etkinleştirmek zorunludur.
