Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat kunci cabang aktif
Kunci cabang adalah kunci data yang berasal dari AWS KMS key yang digunakan oleh keyring AWS KMS Hierarkis untuk mengurangi jumlah panggilan yang dilakukan. AWS KMS Kunci cabang aktif adalah versi kunci cabang terbaru. Keyring Hierarkis menghasilkan kunci data unik untuk setiap permintaan enkripsi dan mengenkripsi setiap kunci data dengan kunci pembungkus unik yang berasal dari kunci cabang aktif.
Untuk membuat kunci cabang aktif baru, Anda harus mengonfigurasi tindakan penyimpanan kunci secara statis. CreateKey
adalah operasi istimewa yang menambahkan KMS kunci yang ARN ditentukan dalam konfigurasi tindakan penyimpanan kunci Anda ke daftar izin toko kunci Anda. Kemudian, KMS kunci digunakan untuk menghasilkan kunci cabang aktif baru. Kami menyarankan untuk membatasi akses ke operasi ini karena setelah KMS kunci ditambahkan ke toko kunci, itu tidak dapat dihapus.
Anda dapat mengizinkan daftar satu KMS kunci di toko kunci Anda, atau Anda dapat mengizinkan beberapa KMS kunci dengan memperbarui KMS kunci ARN yang Anda tentukan dalam konfigurasi tindakan penyimpanan kunci Anda dan menelepon CreateKey
lagi. Jika Anda mengizinkan beberapa KMS kunci, pengguna toko kunci Anda harus mengonfigurasi tindakan penyimpanan kunci mereka untuk penemuan sehingga mereka dapat menggunakan salah satu kunci yang diizinkan di toko kunci yang dapat mereka akses. Untuk informasi selengkapnya, lihat Konfigurasikan tindakan penyimpanan kunci.
Izin yang diperlukan
Untuk membuat kunci cabang, Anda memerlukan ReEncrypt izin kms: GenerateDataKeyWithoutPlaintext dan kms: pada KMS kunci yang ditentukan dalam tindakan penyimpanan kunci Anda.
Buat kunci cabang
Operasi berikut membuat kunci cabang aktif baru menggunakan KMS kunci yang Anda tentukan dalam konfigurasi tindakan penyimpanan kunci Anda, dan menambahkan kunci cabang aktif ke tabel DynamoDB yang berfungsi sebagai penyimpanan kunci Anda.
Saat Anda meneleponCreateKey
, Anda dapat memilih untuk menentukan nilai opsional berikut.
-
branchKeyIdentifier
: mendefinisikan kustombranch-key-id
.Untuk membuat kustom
branch-key-id
, Anda juga harus menyertakan konteks enkripsi tambahan denganencryptionContext
parameter. -
Konteks enkripsi tambahan ini ditampilkan dengan
aws-crypto-ec:
awalan.
Pertama, CreateKey
operasi menghasilkan nilai-nilai berikut.
-
Versi 4 Universally Unique Identifier
(UUID) untuk branch-key-id
(kecuali Anda menentukan kustombranch-key-id
). -
Versi 4 UUID untuk versi kunci cabang
-
A
timestamp
dalam format tanggal dan waktu ISO 8601di Coordinated Universal Time (). UTC
Kemudian, CreateKey
operasi memanggil kms: GenerateDataKeyWithoutPlaintext menggunakan permintaan berikut.
{ "EncryptionContext": { "branch-key-id" : "
branch-key-id
", "type" : "type
", "create-time" : "timestamp
", "logical-key-store-name" : "the logical table name for your key store
", "kms-arn" :the KMS key ARN
, "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" }, "KeyId": "the KMS key ARN you specified in your key store actions
", "NumberOfBytes": "32" }
Selanjutnya, CreateKey
operasi memanggil kms: ReEncrypt untuk membuat catatan aktif untuk kunci cabang dengan memperbarui konteks enkripsi.
Terakhir, CreateKey
operasi memanggil ddb: TransactWriteItems untuk menulis item baru yang akan mempertahankan kunci cabang dalam tabel yang Anda buat di Langkah 2. Item memiliki atribut berikut.
{ "branch-key-id" :
branch-key-id
, "type" : "branch:ACTIVE", "enc" :the branch key returned by the GenerateDataKeyWithoutPlaintext call
, "version": "branch:version:the branch key version UUID
", "create-time" : "timestamp
", "kms-arn" : "the KMS key ARN you specified in Step 1
", "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" }