Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyedia Terbaru
catatan
Pustaka enkripsi sisi klien kami diubah namanya menjadi SDK Enkripsi AWS Database. Topik berikut memberikan informasi tentang versi 1. x —2. x dari DynamoDB Encryption Client untuk Java dan versi 1. x —3. x dari DynamoDB Encryption Client untuk Python. Untuk informasi selengkapnya, lihat SDK Enkripsi AWS Database untuk dukungan versi DynamoDB.
Penyedia Terbaru adalah penyedia bahan kriptografi (CMP) yang dirancang untuk bekerja dengan toko penyedia. Penyedia ini mendapatkan CMP dari toko penyedia, dan memperoleh bahan kriptografi yang kembali dari CMP. Ia biasanya menggunakan setiap CMP untuk memenuhi beberapa permintaan untuk bahan kriptografi. Namun, Anda dapat menggunakan fitur dari toko penyedia untuk mengendalikan sejauh mana bahan akan digunakan kembali, menentukan seberapa sering CMP dirotasi, dan bahkan mengubah jenis CMP yang digunakan tanpa mengubah Penyedia Terbaru.
catatan
Kode yang terkait dengan simbol MostRecentProvider
untuk Penyedia Terbaru mungkin menyimpan bahan kriptografi dalam memori untuk seumur hidup proses. Kode ini mungkin membuat pemanggil dapat menggunakan tombol yang tidak lagi diotorisasi untuk digunakan.
Simbol MostRecentProvider
tidak lagi digunakan di versi terdukung yang lebih lama dari DynamoDB Encryption Client dan dihapus dari versi 2.0.0. Simbol ini digantikan oleh simbol CachingMostRecentProvider
. Untuk detail selengkapnya, lihat Pembaruan untuk Penyedia Terbaru.
Penyedia Terbaru adalah pilihan yang baik untuk aplikasi yang perlu meminimalkan panggilan ke toko penyedia dan sumber kriptografi mereka, serta aplikasi yang dapat menggunakan kembali beberapa bahan kriptografi tanpa melanggar persyaratan keamanan mereka. Misalnya, Hal ini memungkinkan Anda untuk melindungi materi kriptografi Anda di bawah AWS KMS keyin AWS Key Management Service(AWS KMS) tanpa menelepon AWS KMS setiap kali Anda mengenkripsi atau mendekripsi item.
Toko penyedia yang Anda pilih menentukan jenis CMP yang digunakan penyedia terbaru dan seberapa sering ia mendapatkan CMP baru. Anda dapat menggunakan toko penyedia yang kompatibel dengan Penyedia Terbaru, termasuk toko penyedia kustom yang Anda desain.
Klien Enkripsi DynamoDB menyertakan MetaStoreyang membuat dan mengembalikan Wrapped Materials Providers (Wrapped CMP). MetaStoreMenyimpan beberapa versi CMP Wrapped yang dihasilkannya dalam tabel DynamoDB internal dan melindunginya dengan enkripsi sisi klien oleh instance internal Klien Enkripsi DynamoDB.
Anda dapat mengonfigurasi MetaStore untuk menggunakan semua jenis CMP internal untuk melindungi materi dalam tabel, termasuk Penyedia KMS Langsung yang menghasilkan materi kriptografi yang dilindungi oleh AndaAWS KMS key, CMP Wrapped yang menggunakan kunci pembungkus dan penandatanganan yang Anda berikan, atau CMP kustom yang kompatibel yang Anda desain.
Misalnya kode, lihat:
-
Java: MostRecentEncryptedItem
Cara menggunakannya
Untuk membuat Penyedia Terbaru, Anda perlu membuat dan mengonfigurasi toko penyedia, kemudian membuat Penyedia Terbaru yang menggunakan toko penyedia.
Contoh berikut menunjukkan cara membuat Penyedia Terbaru yang menggunakan MetaStore dan melindungi versi dalam tabel DynamoDB internalnya dengan materi kriptografi dari Penyedia KMS Langsung. Contoh-contoh ini menggunakan simbol CachingMostRecentProvider.
Setiap Penyedia Terbaru memiliki nama yang mengidentifikasi CMP-nya di MetaStore tabel, setelan time-to-live(TTL), dan pengaturan ukuran cache yang menentukan berapa banyak entri yang dapat disimpan cache. Contoh ini mengatur ukuran cache hingga 1000 entri dan TTL selama 60 detik.
Cara kerjanya
Penyedia Terbaru mendapatkan CMP dari toko penyedia. Kemudian, penyedia ini menggunakan CMP untuk menghasilkan bahan kriptografi yang dikembalikan ke enkriptor item.
Tentang Penyedia Terbaru
Penyedia Terbaru mendapatkan penyedia bahan kriptografi (CMP) dari penyimpanan penyedia. Kemudian, penyedia ini menggunakan CMP untuk menghasilkan bahan kriptografi yang akan dikembalikan. Setiap Penyedia Terbaru terhubung dengan satu toko penyedia, tetapi toko penyedia dapat memasok CMP untuk banyak penyedia di beberapa host.
Penyedia Terbaru dapat digunakan dengan CMP yang kompatibel dari toko penyedia. Ia meminta bahan enkripsi atau dekripsi dari CMP dan mengembalikan output ke enkriptor item. Ia tidak melakukan operasi kriptografis apa pun.
Untuk meminta CMP dari toko penyedia, Penyedia Terbaru memasok nama bahan dan versi CMP yang ada yang hendak digunakan. Untuk bahan enkripsi, Penyedia Terbaru selalu meminta versi maksimum (“terbaru”). Untuk bahan dekripsi, ia meminta versi CMP yang digunakan untuk membuat bahan enkripsi, seperti yang ditunjukkan dalam diagram berikut.
Penyedia Terbaru menyimpan versi CMP yang penyedia toko kembalikan di cache Yang Baru Digunakan (LRU) lokal dalam memori. Cache memungkinkan Provider Terbaru untuk mendapatkan CMP yang dibutuhkan tanpa memanggil toko penyedia untuk setiap item. Anda dapat menghapus cache sesuai permintaan.
Penyedia Terbaru menggunakan time-to-livenilai yang dapat dikonfigurasi yang dapat Anda sesuaikan berdasarkan karakteristik aplikasi Anda.
Tentang MetaStore
Anda dapat menggunakan Penyedia Terbaru dengan toko penyedia apa pun, termasuk toko penyedia kustom yang kompatibel. Klien Enkripsi DynamoDB menyertakan implementasi aman yang dapat Anda konfigurasikan dan sesuaikan. MetaStore
A MetaStoreadalah toko penyedia yang membuat dan mengembalikan CMP Wrapped yang dikonfigurasi dengan kunci pembungkus, kunci pembungkus, dan kunci penandatanganan yang diperlukan oleh Wrapped CMP. A MetaStore adalah opsi aman untuk Penyedia Terbaru karena Wrapped CMP selalu menghasilkan kunci enkripsi item unik untuk setiap item. Hanya kunci pembungkus yang melindungi kunci enkripsi item dan tombol penandatanganan digunakan kembali.
Diagram berikut menunjukkan komponen MetaStore dan bagaimana berinteraksi dengan Penyedia Terbaru.
MetaStoreMenghasilkan CMP Wrapped, dan kemudian menyimpannya (dalam bentuk terenkripsi) dalam tabel DynamoDB internal. Kunci partisi adalah nama dari bahan Penyedia Terbaru; kunci pengurutan nomor versinya. Bahan-bahan dalam tabel dilindungi oleh DynamoDB Encryption Client internal, termasuk enkriptor item dan penyedia bahan kriptografi (CMP) internal.
Anda dapat menggunakan semua jenis CMP internal di AndaMetaStore, termasuk Penyedia Direct KMS, CMP Wrapped dengan materi kriptografi yang Anda berikan, atau CMP kustom yang kompatibel. Jika CMP internal Anda MetaStore adalah Penyedia KMS Langsung, kunci pembungkus dan penandatanganan yang dapat digunakan kembali dilindungi di bawah a AWS KMS keyin AWS Key Management Service(). AWS KMS MetaStorePanggilan AWS KMS setiap kali menambahkan versi CMP baru ke tabel internalnya atau mendapatkan versi CMP dari tabel internalnya.
Menetapkan time-to-live nilai
Anda dapat menetapkan nilai time-to-live (TTL) untuk setiap Penyedia Terbaru yang Anda buat. Secara umum, gunakan nilai TTL terendah yang praktis untuk aplikasi Anda.
Penggunaan nilai TTL berubah dalam simbol CachingMostRecentProvider
untuk Penyedia Terbaru.
catatan
Simbol MostRecentProvider
untuk Penyedia Terbaru tidak lagi digunakan di versi terdukung yang lebih lama dari DynamoDB Encryption Client dan dihapus dari versi 2.0.0. Simbol ini digantikan oleh simbol CachingMostRecentProvider
. Kami menyarankan agar Anda memperbarui kode sesegera mungkin. Untuk detail selengkapnya, lihat Pembaruan untuk Penyedia Terbaru.
CachingMostRecentProvider
-
Parameter
CachingMostRecentProvider
menggunakan nilai TTL dalam dua cara yang berbeda.TTL menentukan seberapa sering Penyedia Terbaru memeriksa toko penyedia untuk versi baru CMP. Jika versi baru tersedia, Penyedia Terbaru menggantikan CMP dan menyegarkan bahan kriptografinya. Jika tidak, ia akan terus menggunakan CMP dan bahan kriptografi saat ini.
TTL menentukan seberapa lama CMP dalam cache dapat digunakan. Sebelum ia menggunakan CMP cache untuk enkripsi, Penyedia Terbaru mengevaluasi waktu dalam cache. Jika waktu cache CMP melebihi TTL, CMP dikosongkan dari cache dan Penyedia Terbaru mendapat CMP versi paling baru dari toko penyedianya.
MostRecentProvider
-
Di
MostRecentProvider
, TTL menentukan seberapa sering Penyedia Terbaru memeriksa toko penyedia untuk versi baru CMP. Jika versi baru tersedia, Penyedia Terbaru menggantikan CMP dan menyegarkan bahan kriptografinya. Jika tidak, ia akan terus menggunakan CMP dan bahan kriptografi saat ini.
TTL tidak menentukan seberapa sering versi CMP baru dibuat. Anda membuat versi CMP baru dengan memutar bahan kriptografi.
Nilai TTL yang ideal bervariasi dengan aplikasi dan tujuan latensi dan ketersediaannya. TTL yang lebih rendah meningkatkan profil keamanan Anda dengan mengurangi waktu untuk menyimpan bahan kriptografi di dalam memori. Selain itu, TTL lebih rendah menyegarkan informasi penting lebih sering. Misalnya, jika CMP internal Anda adalah Penyedia Direct KMS, itu memverifikasi lebih sering bahwa penelepon masih berwenang untuk menggunakan. AWS KMS key
Jika TTL terlalu singkat, panggilan berulang ke toko penyedia dapat meningkatkan biaya dan menyebabkan toko penyedia Anda untuk membatasi permintaan dari aplikasi Anda dan aplikasi lain yang juga menggunakan akun layanan Anda. Anda juga dapat memperoleh manfaat dari koordinasi TTL dengan tingkat di mana Anda memutar bahan kriptografi.
Selama pengujian, variasikan ukuran TTL dan cache di bawah beban kerja yang berbeda sampai Anda menemukan konfigurasi yang pas untuk aplikasi Anda serta standar keamanan dan performa Anda.
Memutar bahan kriptografi
Ketika Penyedia Terbaru membutuhkan bahan enkripsi, ia selalu menggunakan versi terbaru dari CMP yang dikenalnya. Frekuensi yang diperiksa untuk versi yang lebih baru ditentukan oleh nilai time-to-live(TTL) yang Anda tetapkan saat Anda mengkonfigurasi Penyedia Terbaru.
Ketika TTL kedaluwarsa, Penyedia Terbaru memeriksa toko penyedia untuk versi CMP lebih baru. Jika ada yang tersedia, Provider Terbaru mendapatkannya dan menggantikan CMP dalam cache-nya. Ia menggunakan CMP ini dan bahan kriptografi sampai menemukan bahwa toko penyedia memiliki versi yang lebih baru.
Untuk memberi tahu toko penyedia untuk membuat versi baru dari CMP untuk Penyedia Terbaru, panggil operasi Buat Penyedia Baru toko penyedia dengan nama bahan Penyedia Terbaru. Toko penyedia membuat CMP baru dan menyimpan salinan terenkripsi dalam penyimpanan internal dengan nomor versi yang lebih besar. (Hal ini juga mengembalikan CMP, tetapi Anda dapat membuangnya.) Akibatnya, di waktu berikutnya Provider Terbaru memberikan kueri kepada toko penyedia untuk nomor versi maksimum CMP-nya, ia mendapatkan nomor versi baru yang lebih besar, dan menggunakannya dalam permintaan berikutnya ke toko untuk melihat apakah versi baru dari CMP telah dibuat.
Anda dapat menjadwalkan panggilan Buat Penyedia Baru berdasarkan waktu, jumlah item atau atribut yang diproses, atau metrik lain yang masuk akal untuk aplikasi Anda.
Dapatkan bahan enkripsi
Penyedia Terbaru menggunakan proses berikut, ditunjukkan dalam diagram ini, untuk mendapatkan bahan enkripsi yang kembali ke enkriptor item. Output bergantung pada jenis CMP yang dikembalikan toko penyedia. Penyedia Terbaru dapat menggunakan toko penyedia yang kompatibel, termasuk MetaStore yang disertakan dalam Klien Enkripsi DynamoDB.
Saat Anda membuat Penyedia Terbaru dengan menggunakan CachingMostRecentProvidersimbol, Anda menentukan toko penyedia, nama untuk Penyedia Terbaru, dan nilai time-to-live(TTL). Anda juga dapat secara opsional menentukan ukuran cache, yang menentukan jumlah maksimum bahan kriptografi yang dapat ditempatkan di cache.
Ketika enkriptor item meminta Penyedia Terbaru untuk bahan enkripsi, Penyedia Terbaru dimulai dengan mencari cache untuk versi terbaru dari CMP.
-
Jika ia menemukan versi terbaru CMP dalam cache dan CMP tidak melebihi nilai TTL, Penyedia Terbaru menggunakan CMP untuk menghasilkan bahan enkripsi. Kemudian, ia mengembalikan bahan enkripsi ke enkriptor item. Operasi ini tidak memerlukan panggilan ke toko penyedia.
-
Jika versi terbaru dari CMP tidak berada dalam cache, atau jika berada dalam cache tetapi telah melebihi nilai TTL, Penyedia Terbaru meminta CMP dari toko penyedia. Permintaan tersebut mencakup nama bahan Penyedia Terbaru dan nomor versi maksimum yang diketahui.
-
Toko penyedia mengembalikan CMP dari penyimpanan tetap. Jika toko penyedia adalahMetaStore, ia mendapatkan Wrapped CMP terenkripsi dari tabel DynamoDB internalnya dengan menggunakan nama material Provider Terbaru sebagai kunci partisi dan nomor versi sebagai kunci sortir. MetaStoreMenggunakan enkripsi item internal dan CMP internal untuk mendekripsi Wrapped CMP. Kemudian, ia mengembalikan CMP plaintext ke Penyedia Terbaru. Jika CMP internal adalah Penyedia KMS Langsung, langkah ini mencakup panggilan ke AWS Key Management Service (AWS KMS).
-
CMP menambahkan bidang
amzn-ddb-meta-id
ke deskripsi bahan aktual. Nilainya adalah nama bahan dan versi CMP dalam tabel internalnya. Toko penyedia mengembalikan CMP ke Penyedia Terbaru. -
Penyedia Terbaru menyimpan cache CMP dalam memori.
-
Penyedia Terbaru menggunakan CMP untuk menghasilkan bahan enkripsi. Kemudian, ia mengembalikan bahan enkripsi ke enkriptor item.
-
Dapatkan bahan dekripsi
Ketika enkriptor item meminta Penyedia Terbaru untuk bahan dekripsi, Penyedia Terbaru menggunakan proses berikut untuk mendapatkan dan mengembalikannya.
-
Penyedia Terbaru meminta toko penyedia untuk nomor versi bahan kriptografi yang digunakan untuk mengenkripsi item. Ia meneruskan deskripsi bahan aktual dari atribut deskripsi bahan dari item.
-
Toko penyedia mendapatkan nomor versi CMP pengenkripsi dari bidang
amzn-ddb-meta-id
di deskripsi bahan aktual dan mengembalikannya ke Penyedia Terbaru. -
Penyedia Terbaru mencari cache untuk versi CMP yang digunakan untuk mengenkripsi dan menandatangani item.
-
Jika menemukan versi pencocokan CMP berada dalam cache dan CMP belum melebihi nilai time-to-live (TTL), Provider Terbaru menggunakan CMP untuk menghasilkan materi dekripsi. Kemudian, ia mengembalikan bahan dekripsi ke enkriptor item. Operasi ini tidak memerlukan panggilan ke toko penyedia atau CMP lainnya.
-
Jika versi CMP yang cocok tidak ada dalam cache, atau jika cache AWS KMS key telah melebihi nilai TTL-nya, Provider Terbaru meminta CMP dari toko penyedianya. Ia mengirimkan nama bahan dan nomor versi CMP pengenkripsi dalam permintaan.
-
Toko penyedia mencari penyimpanan tetap untuk CMP dengan menggunakan nama Penyedia Terbaru sebagai kunci partisi dan nomor versi sebagai kunci pengurutan.
-
Jika nama dan nomor versi tidak berada dalam penyimpanan tetap, toko penyedia akan memunculkan pengecualian. Jika toko penyedia digunakan untuk menghasilkan CMP, CMP harus disimpan dalam penyimpanan tetap, kecuali jika itu sengaja dihapus.
-
Jika CMP dengan nama yang cocok dan nomor versi berada dalam penyimpanan tetap toko penyedia, toko penyedia mengembalikan CMP yang ditentukan untuk Penyedia Terbaru.
Jika toko penyedia adalahMetaStore, ia mendapatkan CMP terenkripsi dari tabel DynamoDB. Kemudian, ia menggunakan bahan kriptografi dari CMP internal untuk mendekripsi CMP terenkripsi sebelum mengembalikan CMP ke Penyedia Terbaru. Jika CMP internal adalah Penyedia KMS Langsung, langkah ini mencakup panggilan ke AWS Key Management Service (AWS KMS).
-
-
Penyedia Terbaru menyimpan cache CMP dalam memori.
-
Penyedia Terbaru menggunakan CMP untuk menghasilkan bahan dekripsi. Kemudian, ia mengembalikan bahan dekripsi ke enkriptor item.
-
Pembaruan untuk Penyedia Terbaru
Simbol untuk Penyedia Terbaru diubah dari MostRecentProvider
ke CachingMostRecentProvider
.
catatan
Simbol MostRecentProvider
, yang mewakili Penyedia Terbaru, tidak lagi digunakan dalam versi 1.15 DynamoDB Encryption Client untuk Java dan versi 1.3 DynamoDB DynamoDB Encryption Client untuk Python dan dihapus dari versi 2.0.0 DynamoDB Encryption Client di kedua implementasi bahasa. Sebagai gantinya, gunakan CachingMostRecentProvider
.
CachingMostRecentProvider
menerapkan perubahan berikut:
-
CachingMostRecentProvider
Secara berkala menghapus materi kriptografi dari memori ketika waktu mereka dalam memori melebihi nilai yang dikonfigurasi time-to-live(TTL).MostRecentProvider
mungkin menyimpan bahan kriptografi dalam memori selama masa proses. Akibatnya, Penyedia Terbaru mungkin tidak menyadari perubahan otorisasi. Ia mungkin menggunakan kunci enkripsi setelah izin pemanggil untuk menggunakannya dicabut.Jika Anda tidak dapat memperbarui ke versi baru ini, Anda bisa mendapatkan efek yang sama dengan secara berkala memanggil metode
clear()
pada cache. Metode ini secara manual membuang isi cache dan membutuhkan Penyedia Terbaru untuk meminta CMP baru dan bahan kriptografi baru. -
CachingMostRecentProvider
juga mencakup pengaturan ukuran cache yang memberi Anda lebih banyak kontrol atas cache.
Untuk memperbarui ke CachingMostRecentProvider
, Anda harus mengubah nama simbol dalam kode Anda. Dalam semua hal lainnya, CachingMostRecentProvider
kompatibel mundur sepenuhnya dengan MostRecentProvider
. Anda tidak perlu mengenkripsi ulang item tabel.
Namun, CachingMostRecentProvider
menghasilkan lebih banyak panggilan ke infrastruktur kunci yang mendasarinya. Ini memanggil toko penyedia setidaknya sekali dalam setiap interval time-to-live (TTL). Aplikasi dengan banyak CMP aktif (karena rotasi yang sering) atau aplikasi dengan armada besar kemungkinan besar sensitif terhadap perubahan ini.
Sebelum merilis kode yang diperbarui, ujilah secara menyeluruh untuk memastikan bahwa panggilan yang lebih sering tidak mengganggu aplikasi Anda atau menyebabkan throttling oleh layanan yang bergantung pada penyedia Anda, seperti AWS Key Management Service (AWS KMS) atau Amazon DynamoDB. Untuk mengurangi masalah kinerja, sesuaikan ukuran cache dan CachingMostRecentProvider
berdasarkan karakteristik kinerja yang Anda amati. time-to-live Untuk panduan, lihat Menetapkan time-to-live nilai.