Praktik terbaik enkripsi untuk AWS Key Management Service - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik enkripsi untuk AWS Key Management Service

AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda. AWS KMS terintegrasi dengan sebagian besar lainnya Layanan AWS yang dapat mengenkripsi data Anda. Untuk daftar lengkap, lihat Layanan AWS terintegrasi dengan AWS KMS. AWS KMS juga terintegrasi dengan AWS CloudTrail untuk mencatat penggunaan KMS kunci Anda untuk kebutuhan audit, peraturan, dan kepatuhan.

KMSkunci adalah sumber daya utama AWS KMS, dan mereka adalah representasi logis dari kunci kriptografi. Ada tiga jenis KMS kunci utama:

  • Kunci yang dikelola pelanggan adalah KMS kunci yang Anda buat.

  • AWS kunci terkelola adalah KMS kunci yang Layanan AWS dibuat di akun Anda, atas nama Anda.

  • AWS kunci yang dimiliki adalah KMS kunci yang Layanan AWS dimiliki dan dikelola, untuk digunakan dalam beberapa Akun AWS.

Untuk informasi selengkapnya tentang jenis kunci ini, lihat Kunci dan AWS kunci pelanggan.

Dalam AWS Cloud, kebijakan digunakan untuk mengontrol siapa yang dapat mengakses sumber daya dan layanan. Misalnya, dalam AWS Identity and Access Management (IAM), kebijakan berbasis identitas menentukan izin untuk pengguna, grup pengguna, atau peran, dan kebijakan berbasis sumber daya yang dilampirkan ke sumber daya, seperti bucket S3, dan menentukan prinsipal mana yang diizinkan mengakses, tindakan yang didukung, dan kondisi lain yang harus dipenuhi. Mirip dengan IAM kebijakan, AWS KMS menggunakan kebijakan utama untuk mengontrol akses ke KMS kunci. Setiap KMS kunci harus memiliki kebijakan kunci, dan setiap kunci hanya dapat memiliki satu kebijakan kunci. Perhatikan hal berikut saat menentukan kebijakan yang mengizinkan atau menolak akses ke KMS kunci:

  • Anda dapat mengontrol kebijakan kunci untuk kunci yang dikelola pelanggan, tetapi Anda tidak dapat secara langsung mengontrol kebijakan kunci untuk kunci AWS terkelola atau untuk kunci yang AWS dimiliki.

  • Kebijakan utama memungkinkan pemberian akses terperinci ke AWS KMS API panggilan dalam file. Akun AWS Kecuali kebijakan kunci secara eksplisit mengizinkannya, Anda tidak dapat menggunakan IAM kebijakan untuk mengizinkan akses ke kunci. KMS Tanpa izin dari kebijakan utama, IAM kebijakan yang mengizinkan izin tidak akan berpengaruh. Untuk informasi selengkapnya, lihat Mengizinkan IAM kebijakan untuk mengizinkan akses ke KMS kunci.

  • Anda dapat menggunakan IAM kebijakan untuk menolak akses ke kunci yang dikelola pelanggan tanpa izin yang sesuai dari kebijakan utama.

  • Saat merancang kebijakan dan IAM kebijakan utama untuk kunci Multi-region, pertimbangkan hal berikut:

    • Kebijakan kunci bukan properti bersama dari kunci Multi-wilayah dan tidak disalin atau disinkronkan di antara kunci Multi-wilayah terkait.

    • Ketika kunci Multi-wilayah dibuat menggunakan ReplicateKey tindakan CreateKey dan, kebijakan kunci default diterapkan kecuali kebijakan kunci ditentukan dalam permintaan.

    • Anda dapat mengimplementasikan kunci kondisi, seperti aws: RequestedRegion, untuk membatasi izin ke tertentu Wilayah AWS.

    • Anda dapat menggunakan izin untuk mengizinkan izin untuk kunci primer multi-wilayah atau kunci replika. Namun, hibah tunggal tidak dapat digunakan untuk mengizinkan izin ke beberapa KMS kunci, bahkan jika itu adalah kunci Multi-wilayah terkait.

Saat menggunakan AWS KMS dan membuat kebijakan utama, pertimbangkan praktik terbaik enkripsi berikut dan praktik terbaik keamanan lainnya:

  • Patuhi rekomendasi dalam sumber daya berikut untuk praktik AWS KMS terbaik:

  • Sesuai dengan pemisahan tugas praktik terbaik, pertahankan identitas terpisah bagi mereka yang mengelola kunci dan mereka yang menggunakannya:

    • Peran administrator yang membuat dan menghapus kunci seharusnya tidak memiliki kemampuan untuk menggunakan kunci.

    • Beberapa layanan mungkin hanya perlu mengenkripsi data dan tidak boleh diberikan kemampuan untuk mendekripsi data menggunakan kunci.

  • Kebijakan utama harus selalu mengikuti model dengan hak istimewa yang paling rendah. Jangan gunakan kms:* untuk tindakan dalam IAM atau kebijakan utama karena ini memberikan izin utama untuk mengelola dan menggunakan kunci.

  • Batasi penggunaan kunci yang dikelola pelanggan secara spesifik Layanan AWS dengan menggunakan kms: ViaService condition key dalam kebijakan kunci.

  • Jika Anda memiliki pilihan di antara jenis kunci, kunci yang dikelola pelanggan lebih disukai karena mereka menyediakan opsi kontrol yang paling terperinci, termasuk yang berikut ini:

  • AWS KMS izin administratif dan modifikasi harus secara eksplisit ditolak ke kepala sekolah yang tidak disetujui dan izin AWS KMS modifikasi tidak boleh ada dalam pernyataan izin untuk kepala sekolah yang tidak sah. Untuk informasi lebih lanjut, lihat Tindakan, sumber daya, kunci syarat untuk AWS Key Management Service.

  • Untuk mendeteksi penggunaan KMS kunci yang tidak sah, di AWS Config, terapkan aturan -kms-actions dan iam-customer-policy-blocked-kms-actions. iam-inline-policy-blocked Ini mencegah prinsipal menggunakan tindakan AWS KMS dekripsi pada semua sumber daya.

  • Menerapkan kebijakan kontrol layanan (SCPs) AWS Organizations untuk mencegah pengguna atau peran yang tidak sah menghapus KMS kunci, baik secara langsung sebagai perintah atau melalui konsol. Untuk informasi selengkapnya, lihat Menggunakan SCPs sebagai kontrol pencegahan (posting AWS blog).

  • Log AWS KMS API panggilan dalam CloudTrail log. Ini mencatat atribut peristiwa yang relevan, seperti permintaan apa yang dibuat, alamat IP sumber dari mana permintaan dibuat, dan siapa yang membuat permintaan. Untuk informasi selengkapnya, lihat Mencatat AWS KMS API panggilan dengan AWS CloudTrail.

  • Jika Anda menggunakan konteks enkripsi, seharusnya tidak berisi informasi sensitif apa pun. CloudTrail menyimpan konteks enkripsi dalam JSON file teks biasa, yang dapat dilihat oleh siapa saja yang memiliki akses ke bucket S3 yang berisi informasi.

  • Saat memantau penggunaan kunci yang dikelola pelanggan, konfigurasikan peristiwa untuk memberi tahu Anda jika tindakan tertentu terdeteksi, seperti pembuatan kunci, pembaruan kebijakan kunci yang dikelola pelanggan, atau impor materi kunci terdeteksi. Anda juga disarankan untuk menerapkan respons otomatis, seperti AWS Lambda fungsi yang menonaktifkan kunci atau melakukan tindakan respons insiden lainnya seperti yang ditentukan oleh kebijakan organisasi Anda.

  • Kunci Multi-Region direkomendasikan untuk skenario tertentu, seperti kepatuhan, pemulihan bencana, atau cadangan. Properti keamanan kunci Multi-region berbeda secara signifikan dari kunci Single-region. Rekomendasi berikut berlaku saat mengotorisasi pembuatan, pengelolaan, dan penggunaan kunci Multi-wilayah:

    • Izinkan perwakilan untuk mereplikasi kunci multi-Wilayah hanya ke Wilayah AWS yang membutuhkannya.

    • Berikan izin kunci multi-Wilayah hanya kepada perwakilan yang membutuhkan dan hanya untuk tugas-tugas yang memerlukannya.