Overview:
Pada tulisan kali ini kita akan mencoba membuat enkripsi pada object yang ada di AWS S3, adapun langkah-langkah yang akan kita lakukan adalah:
Membuat bucket
Membuat Key Management Service (AWS KMS)
Upload file
Akses Object
Buat policy
Akses Kembali Object
Bersihkan S3 dan KMS
Kebutuhan:
Akun AWS
File sampel, bisa ambil di Github
Langkah-langkah:
Membuat bucket
Buat bucket
Masuk ke service S3
Create bucket
Isi nama bucket dan region
Create bucket
Membuat Key Management Service (AWS KMS)
Buat KMS
Masuk ke service KMS,
Create a key
Key type: symmetric
Key usage: Encrypt and decrypt
Key material origin: KMS
Next
Isi alias
Key deletion biarkan default
Next
Next
Key policy biarkan default
Next
Upload File
Upload file tanpa menggunakan enkripsi
Upload file
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
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
Lihat Object
Lihat File Object
Lihat file object tanpa menggunakan enkripsi
Lihat file object menggunakan enkripsi SSE-S3
Lihat file object menggunakan enkripsi SSE-KMS
Buat policy
Buat policy untuk mencegah akses ke kms
Ke IAM
Users
Pilih iamadmin
Klik add inline policy
Isi Json file
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Denykms", "Effect": "Deny", "Action": "kms:*", "Resource": "*" } ] }
Review policy
Isi nama denyKMS
Create policy
Akses Kembali Object
Lihat file object tanpa menggunakan enkripsi
Lihat file object menggunakan enkripsi SSE-S3
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
Hapus Bucket
Hapus Inline policy (denyKMS)
Hapus KMS
Referensi:
https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html