0Pricing
Terraform Infrastructure as Code · Lektion

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 Terraform Infrastructure as Code-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 Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-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 Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-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 Terraform Infrastructure as Code 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 Terraform Infrastructure as Code zu starten?

Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code 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 Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?

Ja. Jede Terraform Infrastructure as Code-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

  1. AWS-Provider konfigurieren
  2. EC2-Instanzen bereitstellen
  3. S3-Buckets und IAM verwalten
  4. VPC und Netzwerk konfigurieren
← Zurück zu Terraform Infrastructure as Code