Praktik terbaik enkripsi untuk Amazon DynamoDB - AWS Panduan 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 Amazon DynamoDB

Amazon DynamoDB adalah layanan database NoSQL yang dikelola sepenuhnya yang menyediakan kinerja yang cepat, dapat diprediksi, dan terukur. Enkripsi DynamoDB saat istirahat mengamankan data dalam tabel terenkripsi — termasuk kunci utama, indeks sekunder lokal dan global, aliran, tabel global, cadangan, dan klaster DynamoDB Accelerator (DAX) setiap kali data disimpan dalam media tahan lama.

Sesuai dengan persyaratan klasifikasi data, kerahasiaan dan integritas data dapat dipertahankan dengan menerapkan enkripsi sisi server atau sisi klien:

Untuk enkripsi sisi server, saat Anda membuat tabel baru, Anda dapat menggunakan AWS KMS keys untuk mengenkripsi tabel. Anda dapat menggunakan kunci AWS yang dimiliki, kunci AWS terkelola, atau kunci yang dikelola pelanggan. Sebaiknya gunakan kunci yang dikelola pelanggan karena organisasi Anda memiliki kontrol penuh atas kunci tersebut, dan karena ketika Anda menggunakan jenis kunci ini, kunci enkripsi tingkat tabel, tabel DynamoDB, indeks sekunder lokal dan global, dan aliran semuanya dienkripsi dengan kunci yang sama. Untuk informasi selengkapnya tentang jenis kunci ini, lihat Kunci dan AWS kunci pelanggan.

catatan

Anda dapat beralih antara kunci yang AWS dimiliki, kunci AWS terkelola, dan kunci yang dikelola pelanggan pada waktu tertentu.

Untuk enkripsi sisi klien dan end-to-end perlindungan data, baik saat istirahat maupun saat transit, Anda dapat menggunakan Klien Enkripsi Amazon DynamoDB. Selain enkripsi, yang melindungi kerahasiaan nilai atribut item, Klien Enkripsi DynamoDB menandatangani item. Ini memberikan perlindungan integritas dengan memungkinkan deteksi perubahan yang tidak sah pada item, termasuk menambahkan atau menghapus atribut, atau mengganti satu nilai terenkripsi dengan yang lain.

Pertimbangkan praktik terbaik enkripsi berikut untuk layanan ini:

  • Batasi izin untuk menonaktifkan atau menjadwalkan penghapusan kunci hanya untuk mereka yang perlu melakukan tugas-tugas ini. Status ini mencegah semua pengguna dan layanan DynamoDB untuk dapat mengenkripsi atau mendekripsi data dan melakukan operasi baca dan tulis di atas meja.

  • Sementara DynamoDB mengenkripsi data dalam perjalanan dengan menggunakan HTTPS secara default, kontrol keamanan tambahan direkomendasikan. Anda dapat menggunakan salah satu opsi berikut:

    • AWS Site-to-Site VPN koneksi menggunakan IPsec untuk enkripsi.

    • AWS Direct Connect koneksi untuk membuat koneksi pribadi.

    • AWS Direct Connect koneksi dengan AWS Site-to-Site VPN koneksi untuk koneksi pribadi IPsec -terenkripsi.

    • Jika akses ke DynamoDB hanya diperlukan dari dalam virtual private cloud (VPC), Anda dapat menggunakan titik akhir gateway VPC dan hanya mengizinkan sumber daya di VPC untuk mengaksesnya. Ini mencegah lalu lintas melintasi internet publik.

  • Jika Anda menggunakan titik akhir VPC, batasi kebijakan titik akhir dan kebijakan IAM yang terkait dengan titik akhir hanya untuk pengguna, sumber daya, dan layanan yang berwenang. Untuk informasi selengkapnya, lihat Mengontrol akses ke titik akhir DynamoDB menggunakan kebijakan IAM dan Kontrol akses ke layanan menggunakan kebijakan titik akhir.

  • Anda dapat menerapkan enkripsi data tingkat kolom di tingkat aplikasi untuk data yang memerlukan enkripsi, sesuai dengan kebijakan enkripsi Anda.

  • Konfigurasikan cluster DAX untuk mengenkripsi data saat istirahat, seperti data dalam cache, data konfigurasi, dan file log, pada saat menyiapkan cluster. Anda tidak dapat mengaktifkan enkripsi saat istirahat di cluster yang ada. Enkripsi sisi server ini membantu melindungi data dari akses tidak sah melalui penyimpanan yang mendasarinya. Enkripsi DAX saat istirahat secara otomatis terintegrasi dengan AWS KMS untuk mengelola kunci default layanan tunggal yang digunakan untuk mengenkripsi cluster. Jika kunci default layanan tidak ada saat kluster DAX terenkripsi dibuat, AWS KMS secara otomatis akan membuat kunci terkelola baru AWS . Untuk informasi selengkapnya, lihat enkripsi DAX saat istirahat.

    catatan

    Kunci terkelola pelanggan tidak dapat digunakan dengan kluster DAX.

  • Konfigurasikan cluster DAX untuk mengenkripsi data dalam perjalanan pada saat menyiapkan cluster. Anda tidak dapat mengaktifkan enkripsi saat transit di klaster yang ada. DAX menggunakan TLS untuk mengenkripsi permintaan dan tanggapan antara aplikasi dan cluster, dan menggunakan sertifikat x509 cluster untuk mengotentikasi identitas cluster. Untuk informasi selengkapnya, lihat enkripsi DAX dalam perjalanan.

  • Di AWS Config, terapkan aturan dax-encryption-enabled AWS terkelola untuk memvalidasi dan memelihara enkripsi cluster DAX.