S3-Buckets und IAM verwalten
Lernen Sie, S3-Speicher-Buckets bereitzustellen und zu konfigurieren sowie AWS-Identity-and-Access-Management-(IAM)-Ressourcen mit Terraform zu verwalten.
S3-Buckets und IAM verwalten ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
S3 und Terraform: Cloud-Speicher
Amazon S3 (Simple Storage Service) bietet hochskalierbaren, langlebigen und verfügbaren Objektspeicher. Der Dienst eignet sich ideal für Backups, statische Websites und die Datenarchivierung.
Die Verwaltung von S3-Buckets mit Terraform bietet mehrere Vorteile:
- Automatisierung: Erstellen und konfigurieren Sie Buckets programmgesteuert.
- Versionskontrolle: Verfolgen Sie Änderungen an Ihren Bucket-Konfigurationen.
- Konsistenz: Stellen Sie sicher, dass alle Umgebungen identisch eingerichtete S3-Ressourcen verwenden.
Ihr erster S3-Bucket
Definieren wir einen einfachen S3-Bucket. Dafür wird die Ressource aws_s3_bucket verwendet.
Bucket-Namen müssen über alle AWS-Konten hinweg global eindeutig sein. Wählen Sie einen eindeutigen Namen!
Führen Sie dieses Beispiel aus:
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
}Bucket-Namen und Region
Beachten Sie beim Erstellen eines S3-Buckets die folgenden wichtigen Punkte:
- Globale Eindeutigkeit: Bucket-Namen müssen weltweit über alle AWS-Konten hinweg eindeutig sein.
- Region: Obwohl die Namen global eindeutig sind, befindet sich der Bucket selbst in einer bestimmten AWS-Region, die in Ihrer AWS-Provider-Konfiguration festgelegt wird.
- Namensregeln: Namen müssen aus Kleinbuchstaben bestehen, 3 bis 63 Zeichen lang sein und dürfen Bindestriche enthalten.
Die Wahl einer guten Namenskonvention ist für eine übersichtliche und klare Organisation unerlässlich.
S3-Sicherheit und -Funktionen
S3 bietet Funktionen wie die Versionierung, mit der mehrere Versionen eines Objekts aufbewahrt werden, sowie Sperren für den öffentlichen Zugriff zur Erhöhung der Sicherheit. Bei den meisten Buckets ist es entscheidend, den öffentlichen Zugriff standardmäßig zu blockieren.
Dieses Beispiel richtet die Versionierung ein und stellt sicher, dass der öffentliche Zugriff blockiert ist.
Führen Sie dieses Beispiel aus:
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: Identität und Zugriff
AWS IAM (Identity and Access Management) ist ein Webdienst, mit dem Sie den Zugriff auf AWS-Ressourcen sicher steuern können. IAM ist ein grundlegender Bestandteil der Sicherheit.
Mit IAM können Sie:
- Benutzer sowie deren programmgesteuerten Zugriff und Konsolenzugriff verwalten.
- Granulare Berechtigungen für bestimmte AWS-Ressourcen vergeben.
- Steuern, wer in Ihrem AWS-Konto welche Aktionen ausführen darf.
Mit Terraform können Sie IAM-Ressourcen genauso definieren und verwalten wie S3-Buckets.
Bereitstellen eines IAM-Benutzers
Erstellen wir mit Terraform einen neuen IAM-Benutzer. Ein IAM-Benutzer steht für eine Person oder einen Dienst, die beziehungsweise der mit AWS interagiert.
Dieser Benutzer hat zunächst noch keine Berechtigungen. Diese fügen wir im nächsten Schritt hinzu.
Führen Sie dieses Beispiel aus:
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-Richtlinien verstehen
IAM-Richtlinien sind Dokumente, die Berechtigungen definieren. Sie legen fest, welche Aktionen für welche Ressourcen und unter welchen Bedingungen erlaubt oder verweigert werden.
Richtlinien werden in JSON geschrieben und können Benutzern, Gruppen oder Rollen zugewiesen werden.
- Identitätsbasierte Richtlinien: Einer IAM-Identität (Benutzer, Gruppe oder Rolle) zugewiesen.
- Ressourcenbasierte Richtlinien: Einer Ressource (zum Beispiel einem S3-Bucket oder einer SQS-Warteschlange) zugewiesen.
S3-Berechtigungen vergeben
Erstellen wir nun eine Richtlinie, die unserem IAM-Benutzer schreibgeschützten Zugriff auf einen bestimmten S3-Bucket gewährt, und weisen wir sie anschließend zu.
Die Ressource aws_iam_policy definiert die Richtlinie, und aws_iam_user_policy_attachment verknüpft sie mit dem Benutzer.
Führen Sie dieses Beispiel aus:
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
}Organisation mit IAM-Gruppen
Für eine bessere Verwaltung, insbesondere bei vielen Benutzern, können Sie IAM-Gruppen verwenden. Eine Gruppe ist eine Sammlung von IAM-Benutzern.
Anstatt Richtlinien einzelnen Benutzern zuzuweisen, können Sie sie einer Gruppe zuweisen. Alle Benutzer dieser Gruppe erben dann die entsprechenden Berechtigungen.
Das vereinfacht die Verwaltung von Berechtigungen und erleichtert die Umsetzung des Prinzips der geringsten Berechtigung.
Kurze Überprüfung: S3 und IAM
Welche der folgenden Aussagen über die Verwaltung von AWS-S3-Buckets und IAM-Benutzern beziehungsweise -Richtlinien mit Terraform sind RICHTIG?
Rückblick: S3 und IAM
Sehr gut! In dieser Lektion haben Sie gelernt, AWS-S3-Buckets und IAM-Ressourcen mit Terraform zu verwalten.
- Wir haben S3-Buckets bereitgestellt, die Versionierung konfiguriert und den öffentlichen Zugriff blockiert.
- Wir haben IAM-Benutzer erstellt und ihnen benutzerdefinierte Richtlinien zugewiesen, um bestimmte Berechtigungen zu vergeben.
- Sie verstehen nun die Bedeutung von S3 für die Speicherung und von IAM für die sichere Zugriffssteuerung in AWS – vollständig als Code definiert!
Als Nächstes sehen wir uns fortgeschrittene Techniken zur Verwaltung des Zustands an.
Häufig gestellte Fragen
Ist die Lektion „S3-Buckets und IAM verwalten“ kostenlos?
Ja — der vollständige Text von „S3-Buckets und IAM verwalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „S3-Buckets und IAM verwalten“?
Lernen Sie, S3-Speicher-Buckets bereitzustellen und zu konfigurieren sowie AWS-Identity-and-Access-Management-(IAM)-Ressourcen mit Terraform zu verwalten. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „S3-Buckets und IAM verwalten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- AWS-Provider konfigurieren
- EC2-Instanzen bereitstellen
- S3-Buckets und IAM verwalten
- VPC und Netzwerk konfigurieren