Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan kunci yang dikelola pelanggan di Amazon QLDB
Anda dapat menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau QLDB API untuk menentukan buku besar baru dan buku besar AWS KMS key yang ada di Amazon QLDB. Topik berikut menjelaskan cara mengelola dan memantau penggunaan kunci terkelola pelanggan Anda di QLDB.
Topik
Prasyarat
Sebelum Anda dapat melindungi buku besar QLDB dengan kunci yang dikelola pelanggan, Anda harus terlebih dahulu membuat kunci di (). AWS Key Management Service AWS KMS Anda juga harus menentukan kebijakan kunci yang memungkinkan QLDB membuat hibah atas AWS KMS key nama Anda.
- Membuat kunci yang dikelola pelanggan
-
Untuk membuat kunci terkelola pelanggan, ikuti langkah-langkah dalam Membuat kunci KMS enkripsi simetris di Panduan AWS Key Management Service Pengembang. QLDB tidak mendukung kunci asimetris.
- Mengatur kebijakan kunci
-
Kebijakan utama adalah cara utama untuk mengontrol akses ke kunci yang dikelola pelanggan AWS KMS. Setiap kunci yang dikelola pelanggan harus memiliki persis satu kebijakan utama. Pernyataan dalam dokumen kebijakan kunci menentukan siapa yang memiliki izin untuk menggunakan kunci KMS dan bagaimana mereka dapat menggunakannya. Untuk informasi selengkapnya, lihat Menggunakan kebijakan utama di AWS KMS.
Anda dapat menentukan kebijakan kunci saat membuat kunci terkelola pelanggan. Untuk mengubah kebijakan kunci untuk kunci terkelola pelanggan yang sudah ada, lihat Mengubah kebijakan kunci.
Untuk mengizinkan QLDB menggunakan kunci terkelola pelanggan Anda, kebijakan utama harus menyertakan izin untuk tindakan berikut: AWS KMS
-
kms: CreateGrant — Menambahkan hibah ke kunci yang dikelola pelanggan. Memberikan akses kontrol ke kunci KMS tertentu.
Saat Anda membuat atau memperbarui buku besar dengan kunci terkelola pelanggan tertentu, QLDB membuat hibah yang memungkinkan akses ke operasi hibah yang diperlukan. Operasi hibah meliputi:
-
kms: DescribeKey — Mengembalikan informasi rinci tentang kunci yang dikelola pelanggan. QLDB menggunakan informasi ini untuk memvalidasi kunci.
Contoh kebijakan utama
Berikut ini adalah contoh kebijakan utama yang dapat Anda gunakan untuk QLDB. Kebijakan ini memungkinkan prinsipal yang berwenang untuk menggunakan QLDB dari akun
111122223333
untuk memanggil dan operasi pada sumber daya.DescribeKey
CreateGrant
arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Untuk menggunakan kebijakan ini, ganti
us-east-1
111122223333
, dan1234abcd-12ab-34cd-56ef-1234567890ab
dalam contoh dengan informasi Anda sendiri.{ "Version": "2012-10-17", "Statement": [ { "Sid" : "Allow access to principals authorized to use Amazon QLDB", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource" : "arn:aws:kms:
us-east-1
:111122223333
:key/1234abcd-12ab-34cd-56ef-1234567890ab
", "Condition" : { "StringEquals" : { "kms:ViaService" : "qldb.us-east-1
.amazonaws.com", "kms:CallerAccount" : "111122223333
" } } } ] } -
Menentukan AWS KMS key untuk buku besar baru
Ikuti langkah-langkah ini untuk menentukan kunci KMS saat Anda membuat buku besar baru menggunakan konsol QLDB atau. AWS CLI
Anda dapat menentukan kunci yang dikelola pelanggan menggunakan ID, alias, atau Nama Sumber Daya Amazon (ARN). Untuk mempelajari selengkapnya, lihat Pengidentifikasi kunci (KeyId) di Panduan AWS Key Management Service Pengembang.
catatan
Kunci Lintas Wilayah tidak didukung. Kunci KMS yang ditentukan harus Wilayah AWS sama dengan buku besar Anda.
-
Pilih Buat Buku Besar.
-
Pada halaman Create Ledger, lakukan hal berikut:
-
Informasi buku besar — Masukkan nama Buku Besar yang unik di antara semua buku besar di saat ini Akun AWS dan Wilayah.
-
Mode izin - Pilih mode izin untuk ditetapkan ke buku besar:
-
Izinkan semua
-
Standar (Direkomendasikan)
-
-
Enkripsi data saat istirahat - Pilih jenis kunci KMS yang akan digunakan untuk enkripsi saat istirahat:
-
Gunakan kunci KMS yang AWS dimiliki — Gunakan kunci KMS yang dimiliki dan dikelola oleh AWS atas nama Anda. Ini adalah opsi default dan tidak memerlukan pengaturan tambahan.
-
Pilih kunci yang berbeda — Gunakan AWS KMS kunci KMS enkripsi simetris di akun yang Anda buat, miliki, dan kelola.
Untuk membuat kunci baru dengan menggunakan AWS KMS konsol, pilih Buat AWS KMS kunci. Untuk informasi selengkapnya, lihat Membuat kunci enkripsi simetris KMS di Panduan Developer AWS Key Management Service .
Untuk menggunakan kunci KMS yang ada, pilih salah satu dari daftar dropdown atau tentukan ARN kunci KMS.
-
-
-
Ketika pengaturan seperti yang Anda inginkan, pilih Buat buku besar.
Anda dapat mengakses buku besar QLDB Anda ketika statusnya menjadi Aktif. Ini dapat memakan waktu beberapa menit.
Gunakan AWS CLI untuk membuat buku besar di QLDB dengan Kunci milik AWS default atau kunci yang dikelola pelanggan.
contoh — Untuk membuat buku besar dengan default Kunci milik AWS
aws qldb create-ledger --name
my-example-ledger
--permissions-modeSTANDARD
contoh — Untuk membuat buku besar dengan kunci yang dikelola pelanggan
aws qldb create-ledger \ --name
my-example-ledger
\ --permissions-modeSTANDARD
\ --kms-keyarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Memperbarui buku besar yang ada AWS KMS key
Anda juga dapat menggunakan konsol QLDB atau AWS CLI untuk memperbarui kunci KMS buku besar yang ada ke atau kunci Kunci milik AWS yang dikelola pelanggan kapan saja.
catatan
Amazon QLDB meluncurkan dukungan untuk pelanggan yang AWS KMS keys dikelola pada 22 Juli 2021. Buku besar apa pun yang dibuat sebelum peluncuran dilindungi secara Kunci milik AWS default, tetapi saat ini tidak memenuhi syarat untuk enkripsi saat istirahat menggunakan kunci yang dikelola pelanggan.
Anda dapat melihat waktu pembuatan buku besar Anda di konsol QLDB.
Perubahan utama dalam QLDB bersifat asinkron. Buku besar dapat diakses sepenuhnya tanpa dampak kinerja apa pun saat perubahan kunci sedang diproses. Jumlah waktu yang diperlukan untuk memperbarui kunci bervariasi tergantung pada ukuran buku besar.
Anda dapat menentukan kunci yang dikelola pelanggan menggunakan ID, alias, atau Nama Sumber Daya Amazon (ARN). Untuk mempelajari selengkapnya, lihat Pengidentifikasi kunci (KeyId) di Panduan AWS Key Management Service Pengembang.
catatan
Kunci Lintas Wilayah tidak didukung. Kunci KMS yang ditentukan harus Wilayah AWS sama dengan buku besar Anda.
-
Di panel navigasi, pilih Buku Besar.
-
Dalam daftar buku besar, pilih buku besar yang ingin Anda perbarui, lalu pilih Edit buku besar.
-
Pada halaman Edit buku besar, pilih jenis kunci KMS yang akan digunakan untuk enkripsi saat istirahat:
-
Gunakan kunci KMS yang AWS dimiliki — Gunakan kunci KMS yang dimiliki dan dikelola oleh AWS atas nama Anda. Ini adalah opsi default dan tidak memerlukan pengaturan tambahan.
-
Pilih kunci yang berbeda — Gunakan AWS KMS kunci KMS enkripsi simetris di akun yang Anda buat, miliki, dan kelola.
Untuk membuat kunci baru dengan menggunakan AWS KMS konsol, pilih Buat AWS KMS kunci. Untuk informasi selengkapnya, lihat Membuat kunci enkripsi simetris KMS di Panduan Developer AWS Key Management Service .
Untuk menggunakan kunci KMS yang ada, pilih salah satu dari daftar dropdown atau tentukan ARN kunci KMS.
-
-
Pilih Konfirmasi perubahan.
Gunakan AWS CLI untuk memperbarui buku besar yang ada di QLDB dengan Kunci milik AWS default atau kunci yang dikelola pelanggan.
contoh — Untuk memperbarui buku besar dengan default Kunci milik AWS
aws qldb update-ledger --name
my-example-ledger
--kms-key AWS_OWNED_KMS_KEY
contoh — Untuk memperbarui buku besar dengan kunci yang dikelola pelanggan
aws qldb update-ledger \ --name
my-example-ledger
\ --kms-keyarn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Memantau Anda AWS KMS keys
Jika Anda menggunakan kunci yang dikelola pelanggan untuk melindungi buku besar QLDB Amazon Anda, Anda dapat menggunakan AWS CloudTrailatau CloudWatch Amazon Logs untuk melacak permintaan yang dikirimkan QLDB atas nama Anda. AWS KMS Untuk informasi selengkapnya, lihat Pemantauan AWS KMS keys di Panduan AWS Key Management Service Pengembang.
Contoh berikut adalah entri CloudTrail log untuk operasiCreateGrant
,,GenerateDataKey
, Decrypt
Encrypt
, danDescribeKey
.
- CreateGrant
-
Saat Anda menentukan kunci yang dikelola pelanggan untuk melindungi buku besar Anda, QLDB
CreateGrant
mengirimkan permintaan AWS KMS ke atas nama Anda untuk mengizinkan akses ke kunci KMS Anda. Selain itu, QLDB menggunakanRetireGrant
operasi untuk menghapus hibah saat Anda menghapus buku besar.Hibah yang dibuat QLDB khusus untuk buku besar. Prinsipal dalam
CreateGrant
permintaan adalah pengguna yang membuat tabel.Peristiwa yang mencatat operasi
CreateGrant
serupa dengan peristiwa contoh berikut. Parameter termasuk Nama Sumber Daya Amazon (ARN) dari kunci yang dikelola pelanggan, pokok penerima hibah dan kepala pensiun (layanan QLDB), dan operasi yang dicakup oleh hibah.{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-06-04T21:37:11Z" } }, "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:00Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "granteePrincipal": "qldb.us-west-2.amazonaws.com", "operations": [ "DescribeKey", "GenerateDataKey", "Decrypt", "Encrypt" ], "retiringPrincipal": "qldb.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "b3c83f999187ccc0979ef2ff86a1572237b6bba309c0ebce098c34761f86038a" }, "requestID": "e99188d7-3b82-424e-b63e-e086d848ed60", "eventID": "88dc7ba5-4952-4d36-9ca8-9ab5d9598bab", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
- GenerateDataKey
-
Saat Anda menentukan kunci yang dikelola pelanggan untuk melindungi buku besar Anda, QLDB membuat kunci data yang unik. Ini mengirimkan
GenerateDataKey
permintaan ke AWS KMS yang menentukan kunci yang dikelola pelanggan untuk buku besar.Peristiwa yang mencatat operasi
GenerateDataKey
serupa dengan peristiwa contoh berikut. Pengguna adalah akun layanan QLDB. Parameter termasuk ARN dari kunci yang dikelola pelanggan, penentu kunci data yang memerlukan panjang 32-byte, dan konteks enkripsi yang mengidentifikasi simpul hierarki kunci internal.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:01Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "numberOfBytes": 32, "encryptionContext": { "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC", "key-hierarchy-node-version": "1" } }, "responseElements": null, "requestID": "786977c9-e77c-467a-bff5-9ad5124a4462", "eventID": "b3f082cb-3e75-454e-bf0a-64be13075436", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "26688de5-0b1c-43d3-bc4f-a18029b08446" }
- Dekripsi
-
Saat Anda mengakses buku besar, QLDB memanggil
Decrypt
operasi untuk mendekripsi kunci data tersimpan buku besar sehingga dapat mengakses data terenkripsi dalam buku besar.Peristiwa yang mencatat operasi
Decrypt
serupa dengan peristiwa contoh berikut. Pengguna adalah akun layanan QLDB. Parameter termasuk ARN dari kunci yang dikelola pelanggan dan konteks enkripsi yang mengidentifikasi simpul hierarki kunci internal.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:56Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "key-hierarchy-node-id": "LY4HWMnkeZWKYi6MlitVJC", "key-hierarchy-node-version": "1" } }, "responseElements": null, "requestID": "28f2dd18-3cc1-4fe2-82f7-5154f4933ebf", "eventID": "603ad5d4-4744-4505-9c21-bd4a6cbd4b20", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "7b6ce3e3-a764-42ec-8f90-5418c97ec411" }
- Enkripsi
-
QLDB memanggil operasi untuk mengenkripsi plaintext ke
Encrypt
dalam ciphertext menggunakan kunci yang dikelola pelanggan Anda.Peristiwa yang mencatat operasi
Encrypt
serupa dengan peristiwa contoh berikut. Pengguna adalah akun layanan QLDB. Parameter termasuk ARN dari kunci yang dikelola pelanggan dan konteks enkripsi yang menentukan ID unik internal buku besar.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:01Z", "eventSource": "kms.amazonaws.com", "eventName": "Encrypt", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "LedgerId": "F6qRNziJLUXA4Vy2ZUv8YY" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "b2daca7d-4606-4302-a2d7-5b3c8d30c64d", "eventID": "b8aace05-2e37-4fed-ae6f-a45a1c6098df", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "ce420ab0-288e-4b4f-aee8-541e18a28aa5" }
- DescribeKey
-
QLDB memanggil
DescribeKey
operasi untuk menentukan apakah kunci KMS yang Anda tentukan ada di dan Wilayah. Akun AWSPeristiwa yang mencatat operasi
DescribeKey
serupa dengan peristiwa contoh berikut. Prinsipal adalah pengguna di Anda Akun AWS yang menentukan kunci KMS. Parameter termasuk ARN dari kunci yang dikelola pelanggan.{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:sample-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/sample-user", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-06-04T21:37:11Z" } }, "invokedBy": "qldb.amazonaws.com" }, "eventTime": "2021-06-04T21:40:00Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "qldb.amazonaws.com", "userAgent": "qldb.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "a30586af-c783-4d25-8fda-33152c816c36", "eventID": "7a9caf07-2b27-44ab-afe4-b259533ebb88", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }