

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

# Beacon
<a name="beacons"></a>


****  

|  | 
| --- |
| Pustaka enkripsi sisi klien kami diubah namanya menjadi SDK Enkripsi AWS Database. Panduan pengembang ini masih memberikan informasi tentang Klien Enkripsi [DynamoDB](legacy-dynamodb-encryption-client.md). | 

Beacon adalah tag Hash Based Message Authentication Code (HMAC) terpotong yang membuat peta antara nilai plaintext yang ditulis ke bidang dan nilai terenkripsi yang sebenarnya disimpan dalam database Anda. Beacon tidak mengubah status lapangan yang dienkripsi. Beacon menghitung HMAC atas nilai plaintext bidang dan menyimpannya di samping nilai terenkripsi. Output HMAC ini adalah kecocokan satu-ke-satu (1:1) untuk nilai plaintext dari bidang itu. Output HMAC terpotong sehingga beberapa nilai plaintext yang berbeda dipetakan ke tag HMAC terpotong yang sama. Positif palsu ini membatasi kemampuan pengguna yang tidak sah untuk mengidentifikasi informasi yang membedakan tentang nilai plaintext.

Beacon hanya dapat dibangun dari bidang yang ditandai`ENCRYPT_AND_SIGN`,`SIGN_ONLY`, atau `SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT` dalam tindakan [kriptografi](concepts.md#crypt-actions) Anda. Suar itu sendiri tidak ditandatangani atau dienkripsi. Anda tidak dapat membangun suar dengan bidang yang ditandai. `DO_NOTHING`

Jenis suar yang Anda konfigurasikan menentukan jenis kueri yang dapat Anda lakukan. Ada dua jenis beacon yang mendukung enkripsi yang dapat dicari. *Suar standar* melakukan pencarian kesetaraan. *Compound beacon* menggabungkan string plaintext literal dan beacon standar untuk melakukan operasi database yang kompleks. Setelah [Anda mengkonfigurasi beacon](configure-beacons.md) Anda, Anda harus mengkonfigurasi indeks sekunder untuk setiap suar sebelum Anda dapat mencari di bidang terenkripsi. Untuk informasi selengkapnya, lihat [Mengkonfigurasi indeks sekunder dengan beacon](ddb-searchable-encryption.md#ddb-beacon-indexes).

**Topics**
+ [Suar standar](#standard-beacon-overview)
+ [Suar majemuk](#compound-beacon-overview)

## Suar standar
<a name="standard-beacon-overview"></a>

Beacon standar adalah cara paling sederhana untuk menerapkan enkripsi yang dapat dicari di database Anda. Mereka hanya dapat melakukan pencarian kesetaraan untuk satu bidang terenkripsi atau virtual. Untuk mempelajari cara mengonfigurasi suar standar, lihat [Mengonfigurasi](configure-beacons.md#config-standard-beacons) suar standar.



Bidang tempat suar standar dibangun dari disebut sumber *suar*. Ini mengidentifikasi lokasi data yang perlu dipetakan oleh suar. *Sumber suar dapat berupa bidang terenkripsi atau bidang virtual.* Sumber suar di setiap suar standar harus unik. Anda tidak dapat mengonfigurasi dua beacon dengan sumber suar yang sama.

Beacon standar dapat digunakan untuk melakukan pencarian kesetaraan untuk bidang terenkripsi atau virtual. Atau, mereka dapat digunakan untuk membangun suar majemuk untuk melakukan operasi database yang lebih kompleks. Untuk membantu Anda mengatur dan mengelola beacon standar, AWS Database Encryption SDK menyediakan *gaya beacon* opsional berikut yang menentukan tujuan penggunaan suar standar. Untuk informasi selengkapnya lihat, [Mendefinisikan gaya suar](configure-beacons.md#define-beacon-styles).

Anda dapat membuat suar standar yang melakukan pencarian kesetaraan untuk satu bidang terenkripsi, atau Anda dapat membuat suar standar yang melakukan pencarian kesetaraan pada rangkaian beberapa,, dan bidang dengan membuat bidang virtual. `ENCRYPT_AND_SIGN` `SIGN_ONLY` `SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT`



**Bidang virtual**  
Bidang virtual adalah bidang konseptual yang dibangun dari satu atau lebih bidang sumber. Membuat bidang virtual tidak menulis bidang baru ke catatan Anda. Bidang virtual tidak secara eksplisit disimpan dalam database Anda. Ini digunakan dalam konfigurasi suar standar untuk memberikan instruksi suar tentang cara mengidentifikasi segmen tertentu dari bidang atau menggabungkan beberapa bidang dalam catatan untuk melakukan kueri tertentu. Bidang virtual membutuhkan setidaknya satu bidang terenkripsi.   
Contoh berikut menunjukkan jenis transformasi dan kueri yang dapat Anda lakukan dengan bidang virtual. Dalam aplikasi, bidang contoh yang digunakan dalam contoh ini mungkin tidak memenuhi rekomendasi keunikan [distribusi](searchable-encryption.md#searchable-encryption-distribution) dan [korelasi](searchable-encryption.md#searchable-encryption-correlated-values) untuk beacon.
Misalnya, jika Anda ingin melakukan pencarian kesetaraan pada rangkaian `FirstName` dan `LastName` bidang, Anda dapat membuat salah satu bidang virtual berikut.  
+ `NameTag`Bidang virtual, dibangun dari huruf pertama `FirstName` lapangan, diikuti oleh `LastName` bidang, semuanya dalam huruf kecil. Bidang virtual ini memungkinkan Anda untuk melakukan query`NameTag=mjones`.
+ `LastFirst`Bidang virtual, yang dibangun dari `LastName` lapangan, diikuti oleh `FirstName` lapangan. Bidang virtual ini memungkinkan Anda untuk melakukan query`LastFirst=JonesMary`.
Atau, jika Anda ingin melakukan pencarian kesetaraan pada segmen tertentu dari bidang terenkripsi, buat bidang virtual yang mengidentifikasi segmen yang ingin Anda kueri.  
Misalnya, jika Anda ingin menanyakan `IPAddress` bidang terenkripsi menggunakan tiga segmen pertama dari alamat IP, buat bidang virtual berikut.  
+ `IPSegment`Bidang virtual, dibangun dari`Segments(‘.’, 0, 3)`. Bidang virtual ini memungkinkan Anda untuk melakukan query`IPSegment=192.0.2`. Kueri mengembalikan semua catatan dengan `IPAddress` nilai yang dimulai dengan “192.0.2".
Bidang virtual harus unik. Dua bidang virtual tidak dapat dibangun dari bidang sumber yang sama persis.  
Untuk bantuan mengonfigurasi bidang virtual dan beacon yang menggunakannya, lihat [Membuat](configure-beacons.md#create-virtual-field) bidang virtual.

## Suar majemuk
<a name="compound-beacon-overview"></a>

Compound beacon membuat indeks yang meningkatkan kinerja kueri dan memungkinkan Anda melakukan operasi database yang lebih kompleks. Anda dapat menggunakan suar majemuk untuk menggabungkan string teks biasa literal dan suar standar untuk melakukan kueri kompleks pada catatan terenkripsi, seperti menanyakan dua jenis rekaman yang berbeda dari satu indeks atau menanyakan kombinasi bidang dengan kunci pengurutan. Untuk contoh solusi suar majemuk lainnya, lihat [Memilih jenis suar](choosing-beacon-type.md).

Suar majemuk dapat dibangun dari suar standar atau kombinasi beacon standar dan bidang yang ditandatangani. Mereka dibangun dari daftar bagian. Semua suar majemuk harus menyertakan daftar [bagian terenkripsi yang](configure-beacons.md#encrypted-parts) mengidentifikasi `ENCRYPT_AND_SIGN` bidang yang termasuk dalam suar. Setiap `ENCRYPT_AND_SIGN` bidang harus diidentifikasi dengan suar standar. Suar majemuk yang lebih kompleks mungkin juga mencakup daftar [bagian yang ditandatangani](configure-beacons.md#signed-parts) yang mengidentifikasi teks biasa `SIGN_ONLY` atau `SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT` bidang yang termasuk dalam suar, dan daftar [bagian konstruktor](configure-beacons.md#constructor-parts) yang mengidentifikasi semua kemungkinan cara suar majemuk dapat merakit bidang.

**catatan**  
 AWS Database Encryption SDK juga mendukung *beacon bertanda tangan* yang dapat dikonfigurasi seluruhnya dari `SIGN_ONLY` plaintext dan field. `SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT` Signed beacon adalah jenis suar majemuk yang mengindeks dan melakukan kueri kompleks pada bidang yang ditandatangani, tetapi tidak dienkripsi. Untuk informasi selengkapnya, lihat [Membuat beacon yang ditandatangani](configure.md#signed-beacons).

Untuk bantuan mengonfigurasi suar majemuk, lihat [Mengonfigurasi](configure-beacons.md#config-compound-beacons) suar majemuk.

Cara Anda mengonfigurasi suar majemuk menentukan jenis kueri yang dapat dilakukannya. Misalnya, Anda dapat membuat beberapa bagian terenkripsi dan ditandatangani opsional untuk memungkinkan lebih banyak fleksibilitas dalam kueri Anda. Untuk informasi lebih lanjut tentang jenis kueri yang dapat dilakukan oleh suar majemuk, lihat. [Meminta suar](using-beacons.md#querying-beacons)