Post

Membuat Enkripsi pada Object di AWS S3

Membuat Enkripsi pada Object di AWS S3

Overview:

Pada tulisan kali ini kita akan membuat enkripsi pada object yang ada di AWS S3, adapun langkah-langkah yang akan kita lakukan adalah:

  1. Membuat bucket

  2. Membuat Key Management Service (AWS KMS)

  3. Upload file

  4. Akses Object

  5. Buat policy

  6. Akses Kembali Object

  7. Bersihkan S3 dan KMS

Kebutuhan:

  • Akun AWS

  • File sampel, bisa ambil di Github

Langkah-langkah:

Membuat bucket

  • Masuk ke service S3

  • Create bucket

  • Isi nama bucket dan region

  • Create bucket

    1.png

Membuat Key Management Service (AWS KMS)

  • Masuk ke service KMS,

  • Create a key

  • Key type: symmetric

  • Key usage: Encrypt and decrypt

    3.png

  • Key material origin: KMS

  • Next

    4.png

  • Isi alias

    5.png

  • Pada Key deletion biarkan default tercentang

  • Klik Next

  • Klik Next

    6.png

    7.png

  • Key policy biarkan default

  • Next

    8.png

Upload File

  1. Upload file tanpa menggunakan enkripsi

    • Upload file

  2. Upload file menggunakan encryption key SSE-S3

    • Upload file menggunakan enkripsi

    • Klik Upload

    • Klik pada bagian Properties

    • Server-side encryption pilih specify an encryption key

    • Encryption key type pilih SSE-S3

    • Upload

  3. Upload file menggunakan encryption key SSE-KMS

    • Upload file menggunakan enkripsi

    • Klik Upload

    • Add files

    • Klik pada bagian Properties

    • Server-side encryption pilih specify an encryption key

    • Encryption key type pilih SSE-S3

    • AWS KMS key pilih choose from your AWS KMS keys

    • Pilih KMS yang sudah kita buat sebelumnya

    • Upload

  4. Lihat Object

Lihat File Object

  1. Lihat file object tanpa menggunakan enkripsi

  2. Lihat file object menggunakan enkripsi SSE-S3

  3. Lihat file object menggunakan enkripsi SSE-KMS

Buat policy

Buat policy untuk mencegah akses ke kms

  • Ke IAM

  • Pilih Users

  • Pada bagian user pilih iamadmin

  • Klik add inline policy

  • Isi Json file

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "Denykms",
                  "Effect": "Deny",
                  "Action": "kms:*",
                  "Resource": "*"
              }
          ]
      }
    

  • Review policy

  • Isi nama denyKMS

  • Create policy

Akses Kembali Object

  1. Lihat file object tanpa menggunakan enkripsi

  2. Lihat file object menggunakan enkripsi SSE-S3

  3. Lihat file object menggunakan enkripsi SSE-KMS

    Terlihat pada pesan error diatas kita tidak diberikan akses terhadap file tersebut, karena sebelumnya kita sudah membuat policy untuk tidak mengijinkan akses kedalam service KMS.

Bersihkan S3 dan KMS

1. Hapus Bucket

2. Hapus Inline policy (denyKMS)

3. Hapus KMS

Referensi:

https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html

learn cantrill - aws sysops training

Repository: GitHub

This post is licensed under CC BY 4.0 by the author.