0Pricing
DevOps Bootcamp · Pelajaran

Mengelola Bucket S3 dan IAM

Pelajari cara menyediakan dan mengonfigurasi bucket penyimpanan S3 serta mengelola sumber daya AWS Identity and Access Management (IAM) dengan Terraform.

Mengelola Bucket S3 dan IAM adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

S3 & Terraform: Penyimpanan Cloud

Amazon S3 (Simple Storage Service) menyediakan penyimpanan objek yang sangat mudah diskalakan, tahan lama, dan tersedia. Layanan ini cocok untuk pencadangan, situs web statis, dan pengarsipan data.

Mengelola bucket S3 dengan Terraform memberikan beberapa manfaat:

  • Otomatisasi: Membuat dan mengonfigurasi bucket secara terprogram.
  • Kontrol Versi: Melacak perubahan pada konfigurasi bucket Anda.
  • Konsistensi: Memastikan semua lingkungan memiliki penyiapan S3 yang identik.

Bucket S3 Pertama Anda

Mari kita definisikan bucket S3 sederhana. Sumber daya aws_s3_bucket digunakan untuk ini.

Nama bucket harus unik secara global di seluruh akun AWS. Pilih nama yang unik!

Cobalah menjalankan contoh ini:

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
}

Penamaan & Wilayah Bucket

Saat membuat bucket S3, ingat poin-poin penting berikut:

  • Keunikan Global: Nama bucket harus unik secara global di seluruh akun AWS.
  • Wilayah: Meskipun namanya bersifat global, bucket itu sendiri berada di wilayah AWS tertentu (ditentukan oleh konfigurasi penyedia AWS Anda).
  • Aturan Penamaan: Nama harus menggunakan huruf kecil, memiliki panjang 3 hingga 63 karakter, dan dapat berisi tanda hubung.

Memilih konvensi penamaan yang baik penting untuk keteraturan dan kejelasan.

Keamanan & Fitur S3

S3 menyediakan fitur seperti pembuatan versi untuk menyimpan beberapa versi suatu objek, serta pemblokiran akses publik demi keamanan. Untuk sebagian besar bucket, pemblokiran akses publik secara bawaan sangat penting.

Contoh ini menyiapkan pembuatan versi dan memastikan akses publik diblokir.

Cobalah menjalankan contoh ini:

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: Identitas & Akses

AWS IAM (Identity and Access Management) adalah layanan web yang membantu Anda mengontrol akses ke sumber daya AWS dengan aman. Layanan ini merupakan dasar penting bagi keamanan.

Dengan IAM, Anda dapat:

  • Mengelola pengguna serta akses terprogram atau melalui konsol mereka.
  • Memberikan izin terperinci ke sumber daya AWS tertentu.
  • Mengontrol siapa yang dapat melakukan tindakan tertentu di akun AWS Anda.

Terraform memungkinkan Anda mendefinisikan dan mengelola sumber daya IAM, sama seperti bucket S3.

Menyediakan Pengguna IAM

Mari kita membuat pengguna IAM baru menggunakan Terraform. Pengguna IAM mewakili orang atau layanan yang berinteraksi dengan AWS.

Pengguna ini belum memiliki izin apa pun; kita akan menambahkannya nanti.

Cobalah menjalankan contoh ini:

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
}

Memahami Kebijakan IAM

Kebijakan IAM adalah dokumen yang mendefinisikan izin. Kebijakan ini menentukan tindakan apa yang diizinkan atau ditolak pada sumber daya tertentu, serta dalam kondisi apa.

Kebijakan ditulis dalam JSON dan dapat dilampirkan ke pengguna, grup, atau peran.

  • Kebijakan berbasis identitas: Dilampirkan ke identitas IAM (pengguna, grup, peran).
  • Kebijakan berbasis sumber daya: Dilampirkan ke sumber daya (seperti bucket S3 atau antrean SQS).

Memberikan Izin S3

Sekarang, mari kita membuat kebijakan yang memberikan akses hanya-baca kepada pengguna IAM kita untuk bucket S3 tertentu, lalu melampirkannya.

Sumber daya aws_iam_policy mendefinisikan kebijakan, sedangkan aws_iam_user_policy_attachment menautkannya ke pengguna.

Cobalah menjalankan contoh ini:

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
}

Mengatur Pengguna dengan Grup IAM

Untuk pengelolaan yang lebih baik, terutama jika terdapat banyak pengguna, Anda dapat menggunakan grup IAM. Grup adalah kumpulan pengguna IAM.

Daripada melampirkan kebijakan ke pengguna secara individual, Anda dapat melampirkan kebijakan ke grup, dan semua pengguna dalam grup tersebut akan mewarisi izin itu.

Hal ini menyederhanakan pengelolaan izin dan memudahkan penerapan prinsip hak akses paling rendah.

Pemeriksaan Singkat: S3 & IAM

Pernyataan manakah berikut ini tentang pengelolaan bucket S3 AWS serta pengguna atau kebijakan IAM dengan Terraform yang TRUE?

Rangkuman: S3 dan IAM

Kerja bagus! Dalam pelajaran ini, Anda telah mempelajari cara mengelola bucket S3 AWS dan sumber daya IAM menggunakan Terraform.

  • Kami menyediakan bucket S3, mengonfigurasi pembuatan versi, dan memblokir akses publik.
  • Kami membuat pengguna IAM dan melampirkan kebijakan khusus untuk memberikan izin tertentu.
  • Sekarang Anda memahami pentingnya S3 untuk penyimpanan dan IAM untuk kontrol akses yang aman di AWS, semuanya didefinisikan sebagai kode!

Selanjutnya, kita akan membahas teknik lanjutan untuk mengelola status.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengelola Bucket S3 dan IAM” gratis?

Ya — teks lengkap “Mengelola Bucket S3 dan IAM” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengelola Bucket S3 dan IAM”?

Pelajari cara menyediakan dan mengonfigurasi bucket penyimpanan S3 serta mengelola sumber daya AWS Identity and Access Management (IAM) dengan Terraform. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Mengelola Bucket S3 dan IAM” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konfigurasi Penyedia AWS
  2. Menyediakan Instans EC2
  3. Mengelola Bucket S3 dan IAM
  4. Mengonfigurasi VPC dan Jaringan
← Kembali ke DevOps Bootcamp