0Pricing
Cloud & IT Cert Prep · Pelajaran

Identitas Cloud: Peran IAM dan Akun Layanan

Konfigurasikan peran IAM dan akun layanan dengan hak istimewa minimum di platform cloud, serta hindari kesalahan umum seperti izin wildcard dan kunci berumur panjang.

Identitas Cloud: Peran IAM dan Akun Layanan adalah pelajaran Cloud & IT Cert Prep 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 Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Dasar-Dasar Identitas Cloud

Di lingkungan cloud, identitas merupakan perimeter baru. Setiap tindakan — mulai dari menjalankan VM, membaca basis data, hingga memanggil API — diotorisasi berdasarkan identitas pemanggil. Sistem IAM cloud (Identity and Access Management) menentukan siapa yang dapat melakukan apa pada resource yang mana. Tidak seperti lingkungan lokal yang lokasi jaringannya memberikan kepercayaan implisit, IAM cloud menganggap setiap permintaan memerlukan otorisasi eksplisit, di mana pun asalnya.

Pengguna, Grup, dan Peran dalam AWS IAM

AWS IAM memiliki tiga jenis identitas utama. IAM Users mewakili individu atau aplikasi dengan kredensial jangka panjang (kunci akses + kunci rahasia). IAM Groups mengelompokkan pengguna dan menetapkan izin bersama. IAM Roles adalah identitas dengan kredensial sementara yang dapat diambil oleh pengguna, layanan AWS (EC2, Lambda), atau akun lain. Peran lebih disukai daripada kunci akses jangka panjang karena kredensialnya kedaluwarsa secara otomatis, sehingga mengurangi risiko kredensial terekspos.

# IAM role trust policy — allows EC2 to assume this role
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': { 'Service': 'ec2.amazonaws.com' },
    'Action': 'sts:AssumeRole'
  }]
}

# EC2 instance with this role attached can call AWS APIs
# using temporary credentials from the instance metadata service

Hak Akses Minimum dalam Policy IAM

Policy IAM menentukan tindakan apa yang boleh dilakukan oleh suatu identitas pada resource mana. Prinsip hak akses minimum mengharuskan policy hanya memberikan tindakan tertentu yang diperlukan untuk tugas tersebut. Pelanggaran yang umum meliputi: menggunakan wildcard * untuk tindakan (memberikan semua tindakan dalam suatu layanan), menggunakan * untuk resource (memberikan akses ke semua resource), dan melampirkan policy terkelola yang terlalu luas seperti AdministratorAccess ke akun layanan. Setiap wildcard harus memiliki alasan yang jelas dan ditinjau secara berkala.

# Overly permissive policy (AVOID)
{
  'Effect': 'Allow',
  'Action': 's3:*',      # all S3 actions
  'Resource': '*'         # all buckets
}

# Least-privilege policy (PREFERRED)
{
  'Effect': 'Allow',
  'Action': ['s3:GetObject', 's3:ListBucket'],
  'Resource': [
    'arn:aws:s3:::my-specific-bucket',
    'arn:aws:s3:::my-specific-bucket/*'
  ]
}

Akun Layanan di GCP

Di Platform Google Cloud (GCP), beban kerja non-manusia melakukan autentikasi menggunakan akun layanan—entitas identitas terkelola dengan file kunci JSON atau Workload Identity Federation. Setiap akun layanan harus mengikuti prinsip hak akses minimum: hubungkan akun tersebut hanya ke layanan GCP yang perlu dipanggilnya. Kunci akun layanan (file JSON yang diunduh dari konsol) adalah kredensial berumur panjang yang harus diperlakukan seperti kata sandi—diputar secara berkala dan tidak pernah dimasukkan ke kode sumber atau diunggah ke repositori publik.

# Check service account permissions (gcloud)
gcloud projects get-iam-policy my-project \
  --flatten='bindings[].members' \
  --format='table(bindings.role, bindings.members)' \
  --filter='bindings.members:serviceAccount'

# Prefer Workload Identity over service account keys
# (no downloadable key files — uses workload federation tokens)

Identitas Terkelola Azure

Identitas Terkelola Azure (sebelumnya MSI) adalah padanan Azure untuk peran IAM AWS pada layanan—memungkinkan sumber daya Azure (VM, App Services, Functions) melakukan autentikasi ke API Azure tanpa menyimpan kredensial. Ada dua jenis: identitas terkelola yang ditetapkan sistem terikat pada sumber daya tertentu dan dihapus ketika sumber daya tersebut dihapus. Identitas terkelola yang ditetapkan pengguna adalah objek mandiri yang dapat digunakan bersama oleh beberapa sumber daya. Identitas terkelola menghilangkan kebutuhan untuk menyimpan kunci atau rahasia apa pun.

# Azure CLI — assign managed identity to a VM
az vm identity assign \
  --name myVM \
  --resource-group myRG \
  --identities /subscriptions/.../userAssignedIdentities/myIdentity

# The VM can now call Azure Key Vault without any stored credentials:
# Token is fetched automatically from the Instance Metadata Service

Kredensial Berumur Panjang: Risikonya

Kredensial berumur panjang—kunci akses statis, token API, dan file kunci akun layanan yang tidak pernah kedaluwarsa—merupakan salah satu elemen berisiko paling tinggi di lingkungan cloud. Jika bocor (melalui GitHub, bucket S3, log, atau laptop pengembang yang telah disusupi), kredensial ini memberikan akses langsung hingga dicabut secara manual. Organisasi harus: mengaudit semua kredensial berumur panjang, memutarnya sesuai jadwal, mengutamakan akses berbasis peran atau federasi yang menghasilkan token berumur pendek, dan segera memberikan peringatan ketika kredensial muncul di repositori publik.

# Find IAM access keys older than 90 days (AWS)
aws iam generate-credential-report
aws iam get-credential-report --query 'Content' --output text | \
  base64 -d | grep -v 'N/A' | \
  awk -F',' '$10 > 90 {print $1, $10}'

# Keys older than 90 days should be rotated or deleted

Rantai Peran IAM dan Eskalasi Hak Istimewa

Eskalasi hak istimewa IAM terjadi ketika suatu identitas menggunakan kombinasi permissions untuk memberikan permissions tambahan kepada dirinya sendiri. Jalur eskalasi klasik meliputi: melampirkan kebijakan yang lebih permisif ke user sendiri, membuat user IAM baru dengan permissions yang ditingkatkan, meneruskan peran (iam:PassRole) ke layanan, dan memperbarui peran eksekusi fungsi Lambda. IAM Access Analyzer AWS dapat mendeteksi pola-pola ini, dan batas permissions IAM dapat membatasi secara ketat permissions maksimum yang dapat diberikan kepada identitas mana pun.

# Dangerous permission combination (enables privilege escalation):
# iam:CreatePolicyVersion + iam:SetDefaultPolicyVersion
# Attacker can create a new policy version with AdministratorAccess

# Or: iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction
# Attacker creates Lambda with a privileged role, invokes it

# Defense: permission boundaries limit maximum grantable permissions

Asumsi Peran Lintas Akun

Organisasi cloud sering menggunakan beberapa akun (dev, staging, prod, keamanan) sebagai batas dampak insiden. Asumsi peran lintas akun memungkinkan identitas di satu akun mengasumsikan peran di akun lain—sehingga alat terpusat dapat beroperasi di berbagai akun. Kontrol keamanan meliputi: mewajibkan External ID dalam kebijakan kepercayaan untuk mencegah serangan confused deputy, membatasi akun mana yang dapat mengasumsikan peran melalui ARN Principal, dan mencatat semua asumsi lintas akun di CloudTrail untuk keperluan audit.

# Trust policy with External ID (confused deputy protection)
{
  'Effect': 'Allow',
  'Principal': { 'AWS': 'arn:aws:iam::PARTNER-ACCOUNT-ID:root' },
  'Action': 'sts:AssumeRole',
  'Condition': {
    'StringEquals': {
      'sts:ExternalId': 'unique-shared-secret-12345'
    }
  }
}

Keamanan IMDS dan Layanan Metadata

Instance EC2 AWS dapat mengambil kredensial peran IAM-nya dari Instance Metadata Service (IMDS) di http://169.254.169.254. Kelas kerentanan SSRF sangat berbahaya dalam hal ini: jika aplikasi rentan terhadap SSRF, penyerang dapat mengekstrak kredensial peran IAM instance dengan meminta server mengambil data dari URL IMDS. IMDSv2 (yang mewajibkan token sesi) mengurangi pencurian kredensial berbasis SSRF dan harus diberlakukan pada semua instance EC2.

# Enforce IMDSv2 on a new EC2 instance (requires token for IMDS)
aws ec2 run-instances \
  --metadata-options 'HttpTokens=required,HttpEndpoint=enabled' \
  ...

# IMDSv1 (insecure) just needs a GET request:
# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# IMDSv2 requires a PUT to get a session token first

IAM Access Analyzer dan Tinjauan Kebijakan

IAM Access Analyzer (AWS) secara otomatis mengidentifikasi sumber daya yang dibagikan dengan principal eksternal dan kebijakan IAM yang memberikan akses lebih besar daripada yang dimaksudkan. Alat ini menganalisis kebijakan bucket, kebijakan kepercayaan peran, dan kebijakan kunci KMS untuk menandai akses eksternal yang tidak secara eksplisit dimaksudkan. Tinjauan kebijakan IAM secara berkala—secara manual atau dengan alat seperti Cloudsplaining, PMapper, atau Permissions Boundary Analyzer—sangat penting untuk mengidentifikasi jalur eskalasi hak istimewa sebelum ditemukan oleh penyerang.

Federasi Identitas Beban Kerja

Workload Identity Federation memungkinkan beban kerja eksternal (GitHub Actions, sistem lokal, penyedia cloud lain) melakukan autentikasi ke IAM cloud menggunakan token OIDC berumur pendek, bukan kunci akun layanan berumur panjang. Alur kerja GitHub Actions dapat mengasumsikan peran IAM AWS menggunakan token OIDC-nya selama pekerjaan berlangsung, lalu token tersebut kedaluwarsa. Pendekatan ini menghilangkan seluruh jenis kebocoran kredensial berumur panjang dari pipeline CI/CD.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: peran IAM menyediakan kredensial sementara dan lebih diutamakan daripada kunci akses berumur panjang untuk beban kerja cloud, kebijakan hak akses minimum harus menghindari wildcard dan hanya memberikan tindakan tertentu pada sumber daya tertentu, serta IMDSv2, batas permissions, dan federasi identitas beban kerja menghilangkan jalur umum paparan kredensial. Selanjutnya kita akan membahas Cloud Security Posture Management (CSPM).

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Identitas Cloud: Peran IAM dan Akun Layanan” gratis?

Ya — teks lengkap “Identitas Cloud: Peran IAM dan Akun Layanan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Identitas Cloud: Peran IAM dan Akun Layanan”?

Konfigurasikan peran IAM dan akun layanan dengan hak istimewa minimum di platform cloud, serta hindari kesalahan umum seperti izin wildcard dan kunci berumur panjang. Kamu berlatih Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep 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 “Identitas Cloud: Peran IAM dan Akun Layanan” 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 Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep 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. Model Tanggung Jawab Bersama: IaaS, PaaS, SaaS
  2. Keamanan Penyimpanan Cloud dan Risiko Paparan Data
  3. Identitas Cloud: Peran IAM dan Akun Layanan
  4. Manajemen Postur Keamanan Cloud (CSPM)
← Kembali ke Cloud & IT Cert Prep