Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Enkripsi yang dapat dicari untuk database multitenant
| Pustaka enkripsi sisi klien kami diubah namanya menjadi SDK Enkripsi AWS Database. Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi DynamoDB. |
Untuk mengimplementasikan enkripsi yang dapat dicari di database Anda, Anda harus menggunakan keyring AWS KMS Hierarkis. Keyring AWS KMS Hierarkis menghasilkan, mengenkripsi, dan mendekripsi kunci data yang digunakan untuk melindungi catatan Anda. Ini juga menciptakan kunci suar yang digunakan untuk menghasilkan suar. Saat menggunakan keyring AWS KMS Hierarkis dengan database multitenant, ada kunci cabang dan kunci suar yang berbeda untuk setiap penyewa. Untuk menanyakan data terenkripsi dalam database multitenant, Anda harus mengidentifikasi bahan kunci suar yang digunakan untuk menghasilkan suar yang Anda kueri. Untuk informasi selengkapnya, lihat Menggunakan keyring Hierarkis untuk enkripsi yang dapat dicari.
Saat Anda menentukan versi beacon untuk database multitenant, tentukan daftar semua beacon standar yang Anda konfigurasikan, daftar semua suar majemuk yang Anda konfigurasikan, versi suar, dan a. keySource Anda harus mendefinisikan sumber kunci suar Anda sebagaiMultiKeyStore, dan menyertakankeyFieldName, waktu cache untuk hidup untuk cache kunci suar lokal, dan ukuran cache maksimum untuk cache kunci suar lokal.
Jika Anda mengonfigurasi suar yang ditandatangani, mereka harus disertakan dalam suar Anda. compoundBeaconList Signed beacon adalah jenis suar majemuk yang mengindeks dan melakukan kueri kompleks pada dan bidang. SIGN_ONLY SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
- keyFieldName
-
keyFieldNameMendefinisikan nama bidang yang menyimpan yang
branch-key-idterkait dengan kunci suar yang digunakan untuk menghasilkan suar untuk penyewa tertentu.Saat Anda menulis catatan baru ke database Anda,
branch-key-idyang mengidentifikasi kunci suar yang digunakan untuk menghasilkan suar apa pun untuk catatan itu disimpan di bidang ini.Secara default,
keyFieldadalah bidang konseptual yang tidak secara eksplisit disimpan dalam database Anda. SDK Enkripsi AWS Database mengidentifikasi branch-key-id dari kunci data terenkripsi dalam deskripsi material dan menyimpan nilai dalam konseptual keyField untuk Anda referensikan di suar majemuk dan suar bertanda tangan. Karena deskripsi materi ditandatangani, konseptualkeyFielddianggap sebagai bagian yang ditandatangani.Anda juga dapat memasukkan
keyFielddalam tindakan kriptografi Anda sebagaiSIGN_ONLYatauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXTbidang untuk secara eksplisit menyimpan bidang dalam database Anda. Jika Anda melakukan ini, Anda harus secara manual memasukkanbranch-key-iddalamkeyFieldsetiap kali Anda menulis catatan ke database Anda.
Menanyakan beacon dalam database multitenant
Untuk menanyakan suar, Anda harus menyertakan kueri keyField dalam kueri Anda untuk mengidentifikasi bahan kunci suar yang sesuai yang diperlukan untuk menghitung ulang suar. Anda harus menentukan yang branch-key-id terkait dengan kunci suar yang digunakan untuk menghasilkan suar untuk catatan. Anda tidak dapat menentukan nama ramah yang mengidentifikasi penyewa branch-key-id di pemasok ID kunci cabang. Anda dapat memasukkan keyField dalam kueri Anda dengan cara berikut.
- Suar majemuk
-
Apakah Anda secara eksplisit menyimpan
keyFielddalam catatan Anda atau tidak, Anda dapat memasukkankeyFieldlangsung ke dalam suar majemuk Anda sebagai bagian yang ditandatangani. Bagian yangkeyFieldditandatangani harus diperlukan.Misalnya, jika Anda ingin membangun suar majemuk,, dari dua bidang
compoundBeacon,encryptedFielddansignedField, Anda juga harus menyertakankeyFieldsebagai bagian yang ditandatangani. Hal ini memungkinkan Anda untuk melakukan query berikut padacompoundBeacon.compoundBeacon = E_encryptedFieldValue.S_signedFieldValue.K_branch-key-id - Suar yang ditandatangani
-
AWS Database Encryption SDK menggunakan beacon standar dan gabungan untuk menyediakan solusi enkripsi yang dapat dicari. Beacon ini harus menyertakan setidaknya satu bidang terenkripsi. Namun, AWS Database Encryption SDK juga mendukung beacon bertanda tangan yang dapat dikonfigurasi seluruhnya dari
SIGN_ONLYplaintext dan field.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXTBeacon yang ditandatangani dapat dibangun dari satu bagian. Apakah Anda secara eksplisit menyimpan
keyFielddalam catatan Anda atau tidak, Anda dapat membuat suar yang ditandatangani darikeyFielddan menggunakannya untuk membuat kueri gabungan yang menggabungkan kueri pada suar yangkeyFieldditandatangani dengan kueri di salah satu beacon Anda yang lain. Misalnya, Anda dapat melakukan kueri berikut.keyField = K_branch-key-idAND compoundBeacon = E_encryptedFieldValue.S_signedFieldValueUntuk bantuan mengonfigurasi suar bertanda tangan, lihat Membuat beacon yang ditandatangani
- Query langsung pada
keyField -
Jika Anda menentukan
keyFielddalam tindakan kriptografi Anda dan secara eksplisit menyimpan bidang dalam catatan Anda, Anda dapat membuat kueri gabungan yang menggabungkan kueri pada suar Anda dengan kueri di file.keyFieldAnda dapat memilih untuk menanyakan langsungkeyFieldjika Anda ingin menanyakan suar standar. Misalnya, Anda dapat melakukan kueri berikut.keyField =branch-key-idAND standardBeacon = S_standardBeaconValue