Recraftory

IAM dan Manajemen Akses

Identity and Access Management di AWS

Apa itu IAM

  • Layanan untuk mengelola akses ke resource AWS
  • Gratis dan global (tidak terikat region)
  • Prinsip least privilege: beri izin seminimal mungkin

Komponen IAM

User

  • Akun individual untuk manusia atau aplikasi
  • Memiliki Access Key ID dan Secret Access Key
  • Dapat diberikan password untuk console access

Group

  • Kumpulan user dengan permission sama
  • Contoh: Developers, Admins, DevOps
  • User dapat masuk ke multiple group

Role

  • Identitas sementara yang dapat diasumsikan
  • Digunakan oleh service (EC2, Lambda) atau user lain
  • Tidak memiliki password atau long-term credentials

Policy

  • Dokumen JSON yang mendefinisikan izin
  • Attach ke user, group, atau role
  • Berisi effect (allow/deny), action, resource, dan condition

Contoh Policy JSON

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::nama-bucket/*"
    }
  ]
}

IAM Role untuk EC2

  • Instance EC2 perlu akses ke S3, RDS, dll
  • Gunakan IAM Role daripada hardcode credentials
  • Credentials otomatis rotate

Best Practice IAM

  • Jangan gunakan root account untuk operasional
  • Aktifkan MFA untuk semua user
  • Rotate access key secara berkala
  • Gunakan IAM Role untuk aplikasi
  • Audit dengan IAM Credential Report
  • Gunakan AWS IAM Access Analyzer