S3 Paketlerini ve IAM'i Yönetme
S3 depolama paketlerini hazırlayıp yapılandırmayı ve AWS Identity and Access Management (IAM) kaynaklarını Terraform ile yönetmeyi öğrenin.
S3 Paketlerini ve IAM'i Yönetme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
S3 ve Terraform: Bulut Depolama
Amazon S3 (Basit Depolama Hizmeti), yüksek düzeyde ölçeklenebilir, dayanıklı ve kullanılabilir nesne depolama olanağı sunar. Yedeklemeler, statik web siteleri ve veri arşivleme için idealdir.
S3 paketlerini Terraform ile yönetmek çeşitli avantajlar sağlar:
- Otomasyon: Paketleri program aracılığıyla oluşturup yapılandırabilirsiniz.
- Sürüm Denetimi: Paket yapılandırmalarınızdaki değişiklikleri izleyebilirsiniz.
- Tutarlılık: Tüm ortamların aynı S3 kurulumuna sahip olmasını sağlayabilirsiniz.
İlk S3 Paketiniz
Basit bir S3 paketi tanımlayalım. Bunun için aws_s3_bucket kaynağı kullanılır.
Paket adları tüm AWS hesapları arasında küresel olarak benzersiz olmalıdır. Benzersiz bir ad seçin!
Bu örneği çalıştırmayı deneyin:
resource "aws_s3_bucket" "my_unique_bucket" {
bucket = "my-coddykit-unique-bucket-12345" # Replace with a globally unique name
}
output "bucket_id" {
value = aws_s3_bucket.my_unique_bucket.id
}Paket Adlandırma ve Bölge
Bir S3 paketi oluştururken şu önemli noktaları unutmayın:
- Küresel Benzersizlik: Paket adları, tüm AWS hesapları arasında küresel olarak benzersiz olmalıdır.
- Bölge: Adlar küresel olsa da paketin kendisi belirli bir AWS bölgesinde bulunur (AWS sağlayıcısı yapılandırmanız tarafından belirlenir).
- Adlandırma Kuralları: Adlar küçük harflerden oluşmalı, 3 ila 63 karakter uzunluğunda olmalı ve kısa çizgi içerebilir.
İyi bir adlandırma kuralı seçmek, düzen ve anlaşılırlık açısından çok önemlidir.
S3 Güvenliği ve Özellikleri
S3, bir nesnenin birden çok sürümünü korumak için sürüm oluşturma ve güvenlik için genel erişim engelleri gibi özellikler sunar. Çoğu paket için genel erişimi varsayılan olarak engellemek çok önemlidir.
Bu örnek, sürüm oluşturmayı etkinleştirir ve genel erişimin engellendiğinden emin olur.
Bu örneği çalıştırmayı deneyin:
resource "aws_s3_bucket" "my_versioned_bucket" {
bucket = "coddykit-versioned-bucket-98765" # Replace with a unique name
}
resource "aws_s3_bucket_versioning" "my_versioned_bucket_versioning" {
bucket = aws_s3_bucket.my_versioned_bucket.id
versioning_configuration {
status = "Enabled"
}
}
resource "aws_s3_bucket_public_access_block" "my_versioned_bucket_public_access_block" {
bucket = aws_s3_bucket.my_versioned_bucket.id
block_public_acls = true
block_public_and_cross_account_access = true
ignore_public_acls = true
restrict_public_buckets = true
}
output "bucket_name_versioned" {
value = aws_s3_bucket.my_versioned_bucket.bucket
}AWS IAM: Kimlik ve Erişim
AWS IAM (Kimlik ve Erişim Yönetimi), AWS kaynaklarına erişimi güvenli bir şekilde denetlemenize yardımcı olan bir web hizmetidir. Güvenliğin temel unsurlarından biridir.
IAM ile şunları yapabilirsiniz:
- Kullanıcıları ve onların programatik/konsol erişimini yönetebilirsiniz.
- Belirli AWS kaynaklarına ayrıntılı izinler verebilirsiniz.
- AWS hesabınızda kimin ne yapabileceğini denetleyebilirsiniz.
Terraform, S3 paketlerinde olduğu gibi IAM kaynaklarını da tanımlamanıza ve yönetmenize olanak tanır.
IAM Kullanıcısı Sağlama
Terraform kullanarak yeni bir IAM kullanıcısı oluşturalım. IAM kullanıcısı, AWS ile etkileşimde bulunan bir kişiyi veya hizmeti temsil eder.
Bu kullanıcının henüz hiçbir izni olmayacak; sonraki adımda izinleri ekleyeceğiz.
Bu örneği çalıştırmayı deneyin:
resource "aws_iam_user" "coddykit_user" {
name = "coddykit-app-user"
path = "/system/"
tags = {
Department = "DevOps"
}
}
output "iam_user_name" {
value = aws_iam_user.coddykit_user.name
}
output "iam_user_arn" {
value = aws_iam_user.coddykit_user.arn
}IAM Politikalarını Anlama
IAM politikaları, izinleri tanımlayan belgelerdir. Hangi kaynaklarda hangi eylemlere izin verildiğini veya izin verilmediğini ve bunun hangi koşullarda geçerli olduğunu belirtirler.
Politikalar JSON biçiminde yazılır ve kullanıcılara, gruplara veya rollere eklenebilir.
- Kimlik tabanlı politikalar: Bir IAM kimliğine (kullanıcı, grup, rol) eklenir.
- Kaynak tabanlı politikalar: Bir kaynağa (S3 paketi veya SQS kuyruğu gibi) eklenir.
S3 İzinleri Verme
Şimdi IAM kullanıcımıza belirli bir S3 paketine salt okunur erişim veren bir politika oluşturalım ve ardından bu politikayı ekleyelim.
aws_iam_policy kaynağı politikayı tanımlar, aws_iam_user_policy_attachment ise politikayı kullanıcıya bağlar.
Bu örneği çalıştırmayı deneyin:
resource "aws_s3_bucket" "policy_target_bucket" {
bucket = "coddykit-policy-bucket-112233" # Unique name
}
resource "aws_iam_user" "s3_reader_user" {
name = "coddykit-s3-reader"
}
data "aws_iam_policy_document" "s3_read_only_policy" {
statement {
actions = [
"s3:GetObject",
"s3:ListBucket"
]
resources = [
aws_s3_bucket.policy_target_bucket.arn,
"${aws_s3_bucket.policy_target_bucket.arn}/*"
]
}
}
resource "aws_iam_policy" "s3_read_only" {
name = "CoddyKitS3ReadOnlyPolicy"
description = "Grants read-only access to a specific S3 bucket"
policy = data.aws_iam_policy_document.s3_read_only_policy.json
}
resource "aws_iam_user_policy_attachment" "attach_s3_read_only" {
user = aws_iam_user.s3_reader_user.name
policy_arn = aws_iam_policy.s3_read_only.arn
}
output "s3_reader_user_name" {
value = aws_iam_user.s3_reader_user.name
}
output "s3_read_only_policy_arn" {
value = aws_iam_policy.s3_read_only.arn
}IAM Gruplarıyla Düzenleme
Özellikle çok sayıda kullanıcı olduğunda daha iyi yönetim için IAM gruplarını kullanabilirsiniz. Grup, IAM kullanıcılarından oluşan bir topluluktur.
Politikaları tek tek kullanıcılara eklemek yerine bir gruba ekleyebilirsiniz; bu gruptaki tüm kullanıcılar söz konusu izinleri devralır.
Bu, izin yönetimini kolaylaştırır ve en az ayrıcalık ilkesini daha kolay uygulamanızı sağlar.
Hızlı Denetim: S3 ve IAM
AWS S3 paketlerini ve IAM kullanıcılarını/politikalarını Terraform ile yönetme hakkındaki aşağıdaki ifadelerden hangileri DOĞRUDUR?
Özet: S3 ve IAM
Harika iş çıkardınız! Bu derste AWS S3 paketlerini ve IAM kaynaklarını Terraform kullanarak nasıl yöneteceğinizi öğrendiniz.
- S3 paketlerini sağladık, sürüm oluşturmayı yapılandırdık ve genel erişimi engelledik.
- IAM kullanıcıları oluşturduk ve belirli izinler vermek için özel politikalar ekledik.
- Artık depolama için S3'ün ve AWS'de güvenli erişim denetimi için IAM'in önemini, tüm bunların kod olarak tanımlanmasıyla birlikte anlıyorsunuz!
Sırada gelişmiş durum yönetimi tekniklerini ayrıntılı olarak inceleyeceğiz.
Sıkça Sorulan Sorular
“S3 Paketlerini ve IAM'i Yönetme” dersi ücretsiz mi?
Evet — “S3 Paketlerini ve IAM'i Yönetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“S3 Paketlerini ve IAM'i Yönetme” dersinde ne öğreneceğim?
S3 depolama paketlerini hazırlayıp yapılandırmayı ve AWS Identity and Access Management (IAM) kaynaklarını Terraform ile yönetmeyi öğrenin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“S3 Paketlerini ve IAM'i Yönetme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- AWS Sağlayıcı Yapılandırması
- EC2 Örneklerini Hazırlama
- S3 Paketlerini ve IAM'i Yönetme
- VPC ve Ağ Yapılandırması