Praktik terbaik keamanan pencegahan di DynamoDB - Amazon DynamoDB

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

Praktik terbaik keamanan pencegahan di DynamoDB

Praktik terbaik berikut dapat membantu Anda mengantisipasi dan mencegah insiden keamanan di Amazon DynamoDB.

Enkripsi saat diam

DynamoDB mengenkripsi semua data pengguna saat diam yang disimpan dalam tabel, indeks, aliran, dan cadangan menggunakan kunci enkripsi yang disimpan dalam AWS Key Management Service (AWS KMS). Hal ini memberi lapisan perlindungan data tambahan dengan mengamankan data Anda dari akses yang tidak sah ke penyimpanan dasar.

Anda dapat menentukan apakah DynamoDB harus menggunakan Kunci milik AWS (tipe enkripsi default), atau kunci Kunci yang dikelola AWS yang dikelola pelanggan untuk mengenkripsi data pengguna. Untuk informasi selengkapnya, lihat Enkripsi Amazon DynamoDB saat Diam.

Gunakan IAM peran untuk mengautentikasi akses ke DynamoDB

Untuk pengguna, aplikasi, dan AWS layanan lain untuk mengakses DynamoDB, mereka harus menyertakan kredensyal yang AWS valid dalam permintaan mereka. AWS API Anda tidak boleh menyimpan AWS kredensyal secara langsung di aplikasi atau EC2 instance. Ini adalah kredensial jangka panjang yang tidak dirotasi secara otomatis, dan karenanya dapat menimbulkan dampak bisnis yang signifikan jika dibobol. IAMPeran memungkinkan Anda memperoleh kunci akses sementara yang dapat digunakan untuk mengakses AWS layanan dan sumber daya.

Untuk informasi selengkapnya, lihat Manajemen Identitas dan Akses untuk Amazon DynamoDB.

Gunakan IAM kebijakan untuk otorisasi dasar DynamoDB

Saat memberikan izin, Anda memutuskan siapa yang mendapatkannya, DynamoDB mana APIs mereka mendapatkan izin, dan tindakan spesifik yang ingin Anda izinkan pada sumber daya tersebut. Menerapkan akses hak akses paling rendah adalah hal mendasar dalam mengurangi risiko keamanan dan dampak yang dapat disebabkan oleh kesalahan atau niat jahat.

Lampirkan kebijakan izin ke IAM identitas (yaitu, pengguna, grup, dan peran) dan dengan demikian memberikan izin untuk melakukan operasi pada sumber daya DynamoDB.

Anda dapat melakukan hal ini dengan cara berikut:

Gunakan ketentuan IAM kebijakan untuk kontrol akses berbutir halus

Ketika memberikan izin di DynamoDB, Anda dapat menetapkan syarat yang menentukan bagaimana kebijakan izin berlaku. Menerapkan akses hak akses paling rendah adalah hal mendasar dalam mengurangi risiko keamanan dan dampak yang dapat disebabkan oleh kesalahan atau niat jahat.

Anda dapat menentukan kondisi saat memberikan izin menggunakan kebijakan. IAM Misalnya, Anda dapat melakukan hal berikut:

  • Memberi izin kepada pengguna akan akses hanya-baca pada item dan atribut tertentu dalam tabel atau indeks sekunder.

  • Memberi izin kepada pengguna akan akses hanya-tulis pada atribut tertentu dalam tabel, berdasarkan identitas pengguna tersebut.

Untuk informasi selengkapnya, lihat Menggunakan Ketentuan IAM Kebijakan untuk Kontrol Akses Berbutir Baik.

Menggunakan VPC titik akhir dan kebijakan untuk mengakses DynamoDB

Jika Anda hanya memerlukan akses ke DynamoDB dari dalam virtual private cloud VPC (), Anda harus menggunakan endpoint untuk membatasi akses hanya dari VPC yang diperlukan. VPC Melakukan hal ini akan mencegah lalu lintas melintasi internet terbuka dan tunduk pada lingkungan tersebut.

Menggunakan VPC endpoint untuk DynamoDB memungkinkan Anda untuk mengontrol dan membatasi akses menggunakan berikut ini:

  • VPCkebijakan endpoint — Kebijakan ini diterapkan pada titik akhir DynamoDBVPC. Mereka memungkinkan Anda untuk mengontrol dan membatasi API akses ke tabel DynamoDB.

  • IAMkebijakan — Dengan menggunakan aws:sourceVpce kondisi pada kebijakan yang dilampirkan ke pengguna, grup, atau peran, Anda dapat menerapkan bahwa semua akses ke tabel DynamoDB melalui titik akhir yang ditentukan. VPC

Untuk informasi selengkapnya, lihat Titik Akhir untuk Amazon DynamoDB.

Pertimbangkan enkripsi di sisi klien

Kami menyarankan Anda merencanakan strategi enkripsi Anda sebelum menerapkan tabel Anda di DynamoDB. Jika Anda menyimpan data sensitif atau rahasia di DynamoDB, pertimbangkan untuk menyertakan enkripsi di sisi klien dalam paket Anda. Dengan cara ini, Anda dapat mengenkripsi data sedekat mungkin dengan asalnya, dan memastikan perlindungannya sepanjang siklus hidupnya. Mengenkripsi data bergerak dan data diam Anda yang sensitif membantu memastikan bahwa data plaintext Anda tidak tersedia untuk pihak ketiga mana pun.

Enkripsi AWS Database SDK untuk DynamoDB adalah pustaka perangkat lunak yang membantu Anda melindungi data tabel Anda sebelum Anda mengirimkannya ke DynamoDB. Pustaka ini mengenkripsi, menandatangani, memverifikasi, dan mendekripsi item tabel DynamoDB Anda. Anda mengontrol atribut mana yang dienkripsi dan ditandatangani.

Pertimbangan Utama Utama

Jangan gunakan nama sensitif atau data plaintext sensitif di Kunci Utama untuk tabel dan Indeks Sekunder Global. Nama kunci akan muncul dalam definisi tabel Anda. Misalnya, nama Kunci Utama dapat diakses oleh siapa saja yang memiliki izin untuk menelepon DescribeTable. Nilai kunci dapat muncul di log Anda AWS CloudTraildan lainnya. Selain itu, DynamoDB menggunakan nilai-nilai kunci untuk mendistribusikan data dan permintaan rute AWS dan administrator dapat mengamati nilai-nilai untuk menjaga kesehatan layanan.

Jika Anda perlu menggunakan data sensitif dalam tabel atau nilai GSI kunci Anda, sebaiknya gunakan enkripsi end-to-end klien. Ini memungkinkan Anda untuk melakukan referensi nilai kunci ke data Anda sambil memastikan bahwa itu tidak pernah muncul tidak terenkripsi di log terkait DynamoDB Anda. Salah satu cara untuk mencapai ini adalah dengan menggunakan Enkripsi AWS Database SDK untuk DynamoDB, tetapi itu tidak diperlukan. Jika Anda menggunakan solusi Anda sendiri, kami harus selalu menggunakan algoritma enkripsi yang cukup aman. Anda tidak boleh menggunakan opsi non-kriptografi seperti hash, karena mereka tidak dianggap cukup aman dalam kebanyakan situasi.

Jika nama kunci kunci Primer Anda sensitif, sebaiknya gunakan `pk` dan `sk` sebagai gantinya. Ini adalah praktik terbaik umum yang membuat desain Partition Key Anda fleksibel.

Selalu konsultasikan dengan pakar keamanan atau tim AWS akun Anda jika Anda khawatir tentang pilihan yang tepat.