AWS'ye Giriş ve Kimlik ve Erişim Yönetimi (IAM) Çalışma Materyali
Kaynak Bilgisi: Bu çalışma materyali, Stephane Maarek'in "Getting started with AWS" başlıklı sunum slaytları (Sayfa 14-40) ve ilgili ders transkriptinden derlenmiştir.
📚 Giriş: AWS'ye Genel Bakış
Amazon Web Services (AWS), bulut bilişim pazarının önde gelen ve lider sağlayıcılarından biridir. Şirket içinde 2002'de başlatılan AWS, Amazon'un güçlü altyapısını dış dünyaya açma fikriyle 2003'te şekillenmiş ve 2004'te SQS hizmetiyle halka açılmıştır. 2006'da SQS, S3 ve EC2 gibi temel hizmetlerle yeniden piyasaya sürülen AWS, 2007'de Avrupa'ya yayılmıştır.
📈 AWS Bulut Tarihçesi ve Pazar Konumu
- 2002: Dahili olarak başlatıldı.
- 2003: Amazon altyapısının temel gücü olarak pazar potansiyeli fark edildi.
- 2004: SQS ile halka açıldı.
- 2006: SQS, S3 ve EC2 ile yeniden halka açıldı.
- 2007: Avrupa'da hizmet vermeye başladı.
- Finansal Başarı: 2023'te 90 milyar dolar yıllık gelir elde etti.
- Pazar Liderliği: 2024'ün ilk çeyreğinde pazarın %31'ini elinde tutarak liderliğini sürdürüyor (Microsoft %25 ile ikinci).
- Kullanıcı Sayısı: Bir milyondan fazla aktif kullanıcısı bulunmaktadır.
💡 AWS Bulut Kullanım Alanları
AWS, karmaşık ve ölçeklenebilir uygulamalar geliştirmek için geniş bir endüstri yelpazesine hitap eder.
- Kurumsal BT çözümleri
- Yedekleme ve depolama
- Büyük veri analizi
- Web sitesi barındırma
- Mobil ve sosyal uygulamalar
- Oyun geliştirme
🌍 AWS Küresel Altyapısı
AWS'nin küresel altyapısı, dünya çapında dağıtılmış bileşenlerden oluşur ve yüksek kullanılabilirlik ile düşük gecikme süresi sağlar.
✅ AWS Bölgeleri (Regions)
- Tanım: Dünya genelinde konumlanmış veri merkezleri kümeleridir (örn.
us-east-1,eu-west-3). - Hizmet Kapsamı: Çoğu AWS hizmeti bölgeye özeldir.
- Bölge Seçim Kriterleri:
- Veri Yönetişimi ve Yasal Gereksinimler: Veriler, açık izniniz olmadan bölge dışına çıkmaz.
- Müşterilere Yakınlık: Düşük gecikme süresi sağlar.
- Bölge İçindeki Mevcut Hizmetler: Yeni hizmetler her bölgede aynı anda kullanıma sunulmayabilir.
- Fiyatlandırma: Fiyatlar bölgeden bölgeye değişebilir.
✅ AWS Erişilebilirlik Alanları (Availability Zones - AZs)
- Tanım: Her bölge, genellikle 3 ila 6 arasında değişen birden fazla Erişilebilirlik Alanına sahiptir (örn.
ap-southeast-2a,ap-southeast-2b). - Yapı: Her AZ, yedekli güç, ağ ve bağlantıya sahip bir veya daha fazla ayrı veri merkezinden oluşur.
- İzolasyon: Felaketlerden izole edilmişlerdir.
- Bağlantı: Yüksek bant genişliğine ve ultra düşük gecikmeye sahip ağlarla birbirine bağlıdırlar.
✅ AWS Uç Konumları (Edge Locations / Points of Presence)
- Tanım: Dünya genelinde 40'tan fazla ülkede 90'dan fazla şehirde 400'den fazla Uç Konumu ve 10'dan fazla Bölgesel Önbellek bulunur.
- Amaç: İçeriğin son kullanıcılara daha düşük gecikmeyle ulaştırılmasını sağlar (örn. Amazon CloudFront).
🌐 AWS Konsolu ve Hizmet Kapsamı
- Küresel Hizmetler: IAM, Route 53 (DNS), CloudFront (CDN), WAF (Web Uygulama Güvenlik Duvarı).
- Bölgeye Özel Hizmetler: Amazon EC2 (IaaS), Elastic Beanstalk (PaaS), Lambda (FaaS), Rekognition (SaaS).
🔑 AWS Kimlik ve Erişim Yönetimi (IAM) ve AWS CLI
AWS Kimlik ve Erişim Yönetimi (IAM), AWS kaynaklarına erişimi güvenli bir şekilde yönetmek için kullanılan küresel bir hizmettir. Bu bölüm, IAM'in temel bileşenlerini ve özellikle AWS Komut Satırı Arayüzü (CLI) ile nasıl entegre olduğunu detaylandıracaktır.
📚 IAM Nedir?
IAM, AWS kaynaklarınıza kimlerin (kullanıcılar, uygulamalar veya hizmetler) hangi koşullar altında erişebileceğini kontrol etmenizi sağlar. Bu, "en az ayrıcalık ilkesi" (least privilege principle) temelinde çalışır; yani kullanıcılara yalnızca görevlerini yerine getirmek için ihtiyaç duydukları minimum izinler verilir.
👥 Kullanıcılar ve Gruplar
- Kök Hesap (Root Account): Varsayılan olarak oluşturulur, ancak güvenlik nedeniyle günlük operasyonlarda kullanılmamalı veya paylaşılmamalıdır.
- Kullanıcılar (Users): Kuruluşunuzdaki bireyleri temsil eder. Her fiziksel kullanıcı için bir AWS kullanıcısı oluşturulmalıdır.
- Gruplar (Groups): Kullanıcıları düzenlemek için kullanılır. Gruplar yalnızca kullanıcıları içerir, başka grupları içermez. Bir kullanıcı birden fazla gruba ait olabilir.
📜 İzinler ve Politikalar
- Politikalar (Policies): Kullanıcılara veya gruplara atanan JSON belgeleridir. Bu belgeler, kullanıcıların AWS kaynakları üzerindeki izinlerini tanımlar.
- Politika Yapısı:
Version: Politika dil sürümü (genellikle "2012-10-17").Id: Politika için isteğe bağlı bir tanımlayıcı.Statement: Bir veya daha fazla bireysel ifade içerir.Sid: İfade için isteğe bağlı bir tanımlayıcı.Effect: İfadenin erişime izin verip vermediği (Allow,Deny).Principal: Bu politikanın uygulandığı hesap/kullanıcı/rol.Action: Bu politikanın izin verdiği veya reddettiği eylemlerin listesi.Resource: Eylemlerin uygulandığı kaynakların listesi.Condition: Bu politikanın ne zaman yürürlükte olduğunu belirten koşullar (isteğe bağlı).
🔒 Şifre Politikası
Hesap güvenliğini artırmak için AWS'de şifre politikaları ayarlanabilir:
- Minimum şifre uzunluğu belirleme.
- Büyük/küçük harf, sayı ve alfanümerik olmayan karakterler gibi belirli karakter türlerini zorunlu kılma.
- IAM kullanıcılarının kendi şifrelerini değiştirmesine izin verme.
- Şifrelerin belirli bir süre sonra değiştirilmesini zorunlu kılma (şifre süresi dolumu).
- Şifrelerin yeniden kullanılmasını engelleme.
🔐 Çok Faktörlü Kimlik Doğrulama (MFA)
MFA, hesap güvenliğini önemli ölçüde artıran kritik bir güvenlik önlemidir.
- Prensip: Bildiğiniz bir şifreye ek olarak, sahip olduğunuz bir güvenlik cihazını gerektirir.
- Fayda: Şifreniz çalınsa bile hesabınızın güvenliği tehlikeye girmez.
- MFA Cihaz Seçenekleri:
- Sanal MFA Cihazları: Google Authenticator, Authy (telefon uygulamaları).
- Universal 2nd Factor (U2F) Güvenlik Anahtarları: YubiKey gibi üçüncü taraf cihazlar.
- Donanım Anahtar Fob MFA Cihazları: Gemalto veya SurePassID gibi üçüncü taraf sağlayıcılar.
💻 AWS'ye Erişim Yöntemleri
Kullanıcılar AWS'ye üç ana yöntemle erişebilir:
-
AWS Yönetim Konsolu:
- Web tabanlı bir arayüzdür.
- Parola ve MFA ile korunur.
- AWS hizmetlerini görsel olarak yönetmek için kullanılır.
-
AWS Komut Satırı Arayüzü (CLI):
- Tanım: Komut satırı kabuğunuzdaki komutları kullanarak AWS hizmetleriyle etkileşim kurmanızı sağlayan güçlü bir araçtır.
- İşlevsellik: AWS hizmetlerinin genel API'lerine doğrudan erişim sağlar.
- Kullanım Alanları:
- Otomasyon: Kaynakları yönetmek için betikler (script) geliştirebilirsiniz. Örneğin, belirli bir saatte EC2 örneklerini başlatmak veya durdurmak.
- Hızlı Yönetim: Konsolu açmadan hızlıca bir kaynak oluşturma, değiştirme veya silme.
- Tekrarlayan Görevler: Birden fazla kaynağı aynı anda yapılandırma veya aynı işlemi birçok kez tekrarlama.
- Güvenlik: Erişim anahtarlarıyla korunur.
- Açık Kaynak:
https://github.com/aws/aws-cliadresinde açık kaynak olarak mevcuttur. - Avantaj: AWS Yönetim Konsolu'na alternatif olarak, programatik ve otomatize edilmiş yönetim sağlar.
-
AWS Yazılım Geliştirme Kiti (SDK):
- Tanım: Programatik olarak AWS hizmetlerine erişmek ve yönetmek için dile özel API'ler (kütüphaneler) sunar.
- Kullanım Alanları: Uygulamalarınızın içine AWS hizmetlerini entegre etmek için kullanılır (örn. Python için Boto3, Java SDK).
- Desteklenen Diller: JavaScript, Python, PHP, .NET, Ruby, Java, Go, Node.js, C++, Mobil SDK'lar (Android, iOS), IoT Cihaz SDK'ları.
- Örnek: AWS CLI, Python için AWS SDK üzerine inşa edilmiştir.
🔑 Erişim Anahtarları (Access Keys)
- Kullanım: AWS CLI ve SDK aracılığıyla programatik erişim için kullanılır.
- Oluşturma: AWS Konsolu üzerinden oluşturulur.
- Bileşenler:
- Erişim Anahtarı Kimliği (Access Key ID): Bir kullanıcı adına benzer.
- Gizli Erişim Anahtarı (Secret Access Key): Bir parolaya benzer.
- Güvenlik Uyarısı: Erişim anahtarları bir parola gibi gizli tutulmalı ve ASLA PAYLAŞILMAMALIDIR!
⚙️ Hizmetler için IAM Rolleri
- Amaç: Bazı AWS hizmetlerinin sizin adınıza eylemler gerçekleştirmesi gerektiğinde kullanılır.
- İşleyiş: IAM Rolleri aracılığıyla AWS hizmetlerine izinler atanır.
- Yaygın Roller: EC2 Örnek Rolleri, Lambda Fonksiyon Rolleri, CloudFormation Rolleri.
🛠️ IAM Güvenlik Araçları
- IAM Kimlik Bilgileri Raporu (Credentials Report): Hesabınızdaki tüm kullanıcıları ve kimlik bilgilerinin durumunu listeleyen hesap düzeyinde bir rapordur.
- IAM Erişim Danışmanı (Access Advisor): Bir kullanıcıya verilen hizmet izinlerini ve bu hizmetlere son erişim zamanlarını gösterir. Politikalarınızı gözden geçirmenize yardımcı olur.
✅ IAM Yönergeleri ve En İyi Uygulamalar
- Kök hesabı yalnızca AWS hesap kurulumu için kullanın.
- Her fiziksel kullanıcıya bir AWS kullanıcısı atayın.
- Kullanıcıları gruplara atayın ve izinleri gruplara verin.
- Güçlü bir şifre politikası oluşturun.
- Çok Faktörlü Kimlik Doğrulama (MFA) kullanın ve kullanımını zorunlu kılın.
- AWS hizmetlerine izin vermek için Rolleri oluşturun ve kullanın.
- Programatik erişim (CLI / SDK) için Erişim Anahtarları kullanın.
- IAM Kimlik Bilgileri Raporu ve IAM Erişim Danışmanı kullanarak hesap izinlerini denetleyin.
- IAM kullanıcılarını ve Erişim Anahtarlarını ASLA PAYLAŞMAYIN!
🎯 Sonuç
AWS, bulut bilişim alanında köklü bir geçmişe ve lider bir pazar konumuna sahiptir. Geniş kullanım yelpazesi ve küresel altyapısı sayesinde yüksek kullanılabilirlik ve düşük gecikme sunar. AWS Kimlik ve Erişim Yönetimi (IAM), bu ortamın güvenliğinin temelini oluşturur. Kullanıcılar, gruplar, izin politikaları ve roller aracılığıyla kaynaklara erişim kontrolü sağlanırken, güçlü şifre politikaları ve Çok Faktörlü Kimlik Doğrulama (MFA) gibi önlemler hesap güvenliğini artırır. AWS Yönetim Konsolu, CLI ve SDK gibi çeşitli erişim yöntemleri, kullanıcıların ve hizmetlerin AWS ile etkileşim kurmasını sağlar. Özellikle AWS CLI, otomasyon ve programatik yönetim için vazgeçilmez bir araçtır. IAM Kimlik Bilgileri Raporu ve Erişim Danışmanı gibi araçlar ise güvenlik denetimi ve politika optimizasyonu için kritik öneme sahiptir. Bu kapsamlı hizmetler ve güçlü güvenlik çerçevesi, modern bulut tabanlı uygulamaların geliştirilmesi ve yönetilmesi için sağlam bir temel sunar.








