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 Enkripsi AWS Database. SDK 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-id
terkait dengan kunci suar yang digunakan untuk menghasilkan suar untuk penyewa tertentu.Saat Anda menulis catatan baru ke database Anda,
branch-key-id
yang mengidentifikasi kunci suar yang digunakan untuk menghasilkan suar apa pun untuk catatan itu disimpan di bidang ini.Secara default,
keyField
adalah bidang konseptual yang tidak secara eksplisit disimpan dalam database Anda. Enkripsi AWS Database SDK mengidentifikasi branch-key-id dari kunci data terenkripsi dalam deskripsi materi dan menyimpan nilai dalam konseptual keyField untuk Anda rujuk dalam suar majemuk dan suar bertanda tangan Anda. Karena deskripsi materi ditandatangani, konseptualkeyField
dianggap sebagai bagian yang ditandatangani.Anda juga dapat memasukkan
keyField
dalam tindakan kriptografi Anda sebagaiSIGN_ONLY
atauSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
bidang untuk secara eksplisit menyimpan bidang dalam database Anda. Jika Anda melakukan ini, Anda harus secara manual memasukkanbranch-key-id
dalamkeyField
setiap 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
keyField
dalam catatan Anda atau tidak, Anda dapat memasukkankeyField
langsung ke dalam suar majemuk Anda sebagai bagian yang ditandatangani. Bagian yangkeyField
ditandatangani harus diperlukan.Misalnya, jika Anda ingin membangun suar majemuk,, dari dua bidang
compoundBeacon
,encryptedField
dansignedField
, Anda juga harus menyertakankeyField
sebagai bagian yang ditandatangani. Hal ini memungkinkan Anda untuk melakukan query berikut padacompoundBeacon
.compoundBeacon = E_encryptedFieldValue.S_signedFieldValue.K_
branch-key-id
- Suar yang ditandatangani
-
Enkripsi AWS Database SDK menggunakan beacon standar dan gabungan untuk menyediakan solusi enkripsi yang dapat dicari. Beacon ini harus menyertakan setidaknya satu bidang terenkripsi. Namun, Enkripsi AWS Database SDK juga mendukung suar bertanda tangan yang dapat dikonfigurasi sepenuhnya dari
SIGN_ONLY
plaintext dan bidang.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Beacon yang ditandatangani dapat dibangun dari satu bagian. Apakah Anda secara eksplisit menyimpan
keyField
dalam catatan Anda atau tidak, Anda dapat membuat suar yang ditandatangani darikeyField
dan menggunakannya untuk membuat kueri gabungan yang menggabungkan kueri pada suar yangkeyField
ditandatangani dengan kueri di salah satu beacon Anda yang lain. Misalnya, Anda dapat melakukan kueri berikut.keyField = K_
branch-key-id
AND compoundBeacon = E_encryptedFieldValue.S_signedFieldValueUntuk bantuan mengonfigurasi suar bertanda tangan, lihat Membuat beacon yang ditandatangani
- Query langsung pada
keyField
-
Jika Anda menentukan
keyField
dalam 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.keyField
Anda dapat memilih untuk menanyakan langsungkeyField
jika Anda ingin menanyakan suar standar. Misalnya, Anda dapat melakukan kueri berikut.keyField =
branch-key-id
AND standardBeacon = S_standardBeaconValue