Siapa yang mengendalikan key

Menggunakan Keamanan AWS untuk Developer

Rahul Singh

Technical Product Manager

Dua jenis KMS key

AWS managed

  • Dibuat oleh layanan, alias aws/s3
  • Kebijakan dapat dibaca, tidak dapat diedit
  • Tanpa biaya bulanan

Dua kartu bertumpuk membandingkan key AWS managed dengan customer managed pada tiga baris yang sama: kebijakan key, rotasi, dan biaya. Baris kebijakan key pada kartu customer managed disorot. Tiap kartu menampilkan aliasnya: aws garis miring s3 dan alias garis miring reports.

Menggunakan Keamanan AWS untuk Developer

Dua jenis KMS key

AWS managed

  • Dibuat oleh layanan, alias aws/s3
  • Kebijakan dapat dibaca, tidak dapat diedit
  • Tanpa biaya bulanan

Customer managed

  • Dibuat oleh Anda, alias alias/reports, kebijakan Anda yang menulis
  • Periode rotasi Anda yang atur
  • Satu dolar per bulan per key

Dua kartu bertumpuk membandingkan key AWS managed dengan customer managed pada tiga baris yang sama: kebijakan key, rotasi, dan biaya. Baris kebijakan key pada kartu customer managed disorot. Tiap kartu menampilkan aliasnya: aws garis miring s3 dan alias garis miring reports.

Menggunakan Keamanan AWS untuk Developer

Dua gerbang, dan keduanya harus terbuka

Satu permintaan decrypt mendekati gerbang pertama dari dua gerbang. Gerbang kebijakan IAM digambar tebal dan bernomor satu, gerbang kebijakan key di belakangnya bergaris putus-putus dan abu-abu, dan keduanya belum menjawab.

  1. IAM policy: apa yang boleh diminta pemanggil
Menggunakan Keamanan AWS untuk Developer

Dua gerbang, dan keduanya harus terbuka

Satu permintaan decrypt melintas dari kiri ke kanan melalui dua gerbang bernomor, penanda satu adalah kebijakan IAM dan penanda dua adalah kebijakan key, sebelum mencapai KMS key. Sebuah kurung di bawah dua gerbang memberi label jawaban independen.

  1. IAM policy: apa yang boleh diminta pemanggil
  2. Key policy: siapa yang akan dijawab oleh key

Default key policy: mendelegasikan ke IAM

Grant: operasi key tertentu untuk satu principal, dapat dicabut sendiri

Menggunakan Keamanan AWS untuk Developer

Key tidak pernah menyentuh data Anda

Amazon S3, bertindak atas nama Anda, memanggil AWS KMS pada penanda satu, dan KMS mengembalikan satu data key sebagai salinan plaintext dan salinan terenkripsi. Salinan terenkripsi disimpan di samping ciphertext objek, dan jalur kembali putus-putus pada penanda dua membawanya kembali melalui panggilan decrypt.

Envelope encryption

Enkripsi langsung: batas 4 KB

Menggunakan Keamanan AWS untuk Developer

Key tidak pernah menyentuh data Anda

Amazon S3, bertindak atas nama Anda, memanggil AWS KMS pada penanda satu, dan KMS mengembalikan satu data key sebagai salinan plaintext dan salinan terenkripsi. Salinan terenkripsi disimpan di samping ciphertext objek, dan jalur kembali putus-putus pada penanda dua membawanya kembali melalui panggilan decrypt.

Envelope encryption

Enkripsi langsung: batas 4 KB

  1. GenerateDataKey, dua salinan kembali
  2. kms:Decrypt pada salinan yang disimpan
Menggunakan Keamanan AWS untuk Developer

Lintas akun, tak ada yang melihat keduanya sekaligus

Akun pemanggil

  • Aksi diizinkan di IAM
  • Resource: ARN key

Dua panel akun bergaris putus-putus dipisahkan oleh batas akun. Peran pemanggil dan kebijakan IAM berada di panel atas, kebijakan key dan KMS key berada di panel bawah, dan permintaan melintasi batas di antara keduanya.

Menggunakan Keamanan AWS untuk Developer

Lintas akun, tak ada yang melihat keduanya sekaligus

Akun pemanggil

  • Aksi diizinkan di IAM
  • Resource: ARN key

Akun pemilik key

  • Kebijakan key menyebut pemanggil
  • Akunnya, atau sebuah role di dalamnya

Dua panel akun bergaris putus-putus dipisahkan oleh batas akun. Peran pemanggil dan kebijakan IAM berada di panel atas, kebijakan key dan KMS key berada di panel bawah, dan permintaan melintasi batas di antara keduanya.

Menggunakan Keamanan AWS untuk Developer

Baca alasan penolakan, bukan tebakan

Berbasis identitas

  • AccessDeniedException, lalu klausul yang menyebut gerbang

  • no identity-based policy allows

  • Perbaiki kebijakan IAM pemanggil

 

Permintaan decrypt dihentikan di gerbang pertama, di mana kebijakan IAM bertanda silang merah dan kebijakan key di belakangnya diarsir abu-abu dan tidak pernah dicapai. Keterangan di bawah diagram berbunyi: no identity-based policy allows.

 

Menggunakan Keamanan AWS untuk Developer

Baca alasan penolakan, bukan tebakan

Berbasis identitas

  • AccessDeniedException, lalu klausul yang menyebut gerbang

  • no identity-based policy allows

  • Perbaiki kebijakan IAM pemanggil

Berbasis resource

  • no resource-based policy allows
  • Perbaiki kebijakan key

Permintaan decrypt dihentikan di gerbang pertama, di mana kebijakan IAM bertanda silang merah dan kebijakan key di belakangnya diarsir abu-abu dan tidak pernah dicapai. Keterangan di bawah diagram berbunyi: no identity-based policy allows.

Permintaan decrypt melewati kebijakan IAM bertanda centang hijau lalu dihentikan di gerbang kedua, di mana kebijakan key bertanda silang merah. Keterangan di bawah diagram berbunyi: no resource-based policy allows.

Menggunakan Keamanan AWS untuk Developer

Apa yang benar-benar berubah saat rotasi

Rotasi otomatis

  • Default 365 hari
  • Rentang 90 hingga 2,560 hari

Tiga kartu yang menampilkan periode rotasi otomatis minimum, default, dan maksimum dalam hari, di atas tiga baris yang menunjukkan jenis key yang berotasi dan menurut jadwal siapa.

Menggunakan Keamanan AWS untuk Developer

Apa yang benar-benar berubah saat rotasi

Rotasi otomatis

  • Default 365 hari
  • Rentang 90 hingga 2,560 hari

Sesuai permintaan

  • RotateKeyOnDemand, hingga 25 kali per key

Dua batasan

  • AWS managed key, tetap tahunan
  • Rotasi otomatis: hanya material simetris yang dibuat KMS

Tiga kartu yang menampilkan periode rotasi otomatis minimum, default, dan maksimum dalam hari, di atas tiga baris yang menunjukkan jenis key yang berotasi dan menurut jadwal siapa.

Menggunakan Keamanan AWS untuk Developer

Apa yang tidak diperbaiki oleh rotasi

Empat baris dibandingkan di kedua sisi garis rotasi. Baris material key berubah dari versi satu ke dua, sementara pengenal key, alias dan kebijakan key, serta objek yang ditulis sebelumnya identik di kedua sisi.

Berubah: material key pendukung

Tidak berubah: ID key, ARN, alias, kebijakan key

Menggunakan Keamanan AWS untuk Developer

Apa yang tidak diperbaiki oleh rotasi

Empat baris dibandingkan di kedua sisi garis rotasi. Baris material key berubah dari versi satu ke dua, sementara pengenal key, alias dan kebijakan key, serta objek yang ditulis sebelumnya identik di kedua sisi.

Berubah: material key pendukung

Tidak berubah: ID key, ARN, alias, kebijakan key

  • Tidak ada yang perlu diubah di kode Anda
  • Objek lama, dan kebijakan yang terlalu luas: keduanya tetap
Menggunakan Keamanan AWS untuk Developer

Jadi, mengapa menyalakannya

Keuntungannya

  • Satu versi tidak pernah mencakup semua data Anda
  • Aturan kepatuhan dan kontrak yang mewajibkan rotasi

Sebuah kartu hijau berjudul what it buys, di bawah label menyalakan rotasi. Kartu menampilkan aturan audit bertuliskan rotate every 365 days dengan centang hijau, dan satu key digambar sebagai tiga versi tersambung, v1, v2, dan v3, diberi keterangan bahwa masing-masing hanya mencakup apa yang ditulisnya.

Menggunakan Keamanan AWS untuk Developer

Jadi, mengapa menyalakannya

Keuntungannya

  • Satu versi tidak pernah mencakup semua data Anda
  • Aturan kepatuhan dan kontrak yang mewajibkan rotasi

 

Biayanya

  • Tanpa perubahan kode, tidak ada yang perlu dienkripsi ulang

Kartu hijau what it buys yang sama, kini dengan kartu kedua di bawahnya berjudul what it costs. Kartu itu menampilkan dua baris: kode Anda, tidak berubah, dan objek lama, tidak perlu enkripsi ulang.

Menggunakan Keamanan AWS untuk Developer

Ayo berlatih!

Menggunakan Keamanan AWS untuk Developer

Preparing Video For Download...