Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Konteks enkripsi

Mode fokus
Konteks enkripsi - AWS Key Management Service

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

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

catatan

Anda tidak dapat menentukan konteks enkripsi dalam operasi kriptografi dengan kunci KMS asimetris atau kunci KMS HMAC. Algoritma asimetris dan algoritma MAC tidak mendukung konteks enkripsi.

Semua operasi AWS KMS kriptografi dengan kunci KMS enkripsi simetris menerima konteks enkripsi, satu set opsional pasangan nilai kunci non-rahasia yang dapat berisi informasi kontekstual tambahan tentang data. Anda dapat menyisipkan konteks enkripsi dalam Encrypt operasi AWS KMS untuk meningkatkan otorisasi dan auditabilitas panggilan dekripsi AWS KMS API Anda. AWS KMS menggunakan konteks enkripsi sebagai data otentikasi tambahan (AAD) untuk mendukung enkripsi yang diautentikasi. Konteks enkripsi terikat secara kriptografis ke ciphertext sehingga konteks enkripsi yang sama diperlukan untuk mendekripsi data.

Konteks enkripsi tidak rahasia dan tidak dienkripsi. Konteks enkripsi muncul dalam plaintext di Log AWS CloudTrail, sehingga Anda dapat menggunakannya untuk mengidentifikasi dan mengategorikan operasi kriptografi Anda. Konteks enkripsi Anda tidak boleh menyertakan informasi sensitif. Sebaiknya konteks enkripsi Anda menjelaskan data yang dienkripsi atau didekripsi. Misalnya, ketika mengenkripsi file, Anda mungkin menggunakan bagian dari jalur file sebagai konteks enkripsi.

"encryptionContext": { "department": "10103.0" }

Misalnya, saat mengenkripsi volume dan snapshot yang dibuat dengan operasi Amazon Elastic Block Store (Amazon EBS) CreateSnapshot, Amazon EBS menggunakan ID volume sebagai nilai konteks enkripsi.

"encryptionContext": { "aws:ebs:id": "vol-abcde12345abc1234" }

Anda juga dapat menggunakan konteks enkripsi untuk memperbaiki atau membatasi akses ke AWS KMS keys akun Anda. Anda dapat menggunakan konteks enkripsi sebagai batasan dalam hibah dan sebagai kondisi dalam pernyataan kebijakan.

Untuk mempelajari cara menggunakan konteks enkripsi untuk melindungi integritas data terenkripsi, lihat posting Cara Melindungi Integritas Data Terenkripsi Anda dengan Menggunakan AWS Key Management Service dan EncryptionContext di Blog Keamanan. AWS

Lebih lanjut tentang konteks enkripsi.

Aturan konteks enkripsi

AWS KMS memberlakukan aturan berikut untuk kunci dan nilai konteks enkripsi.

  • Kunci dan nilai dalam pasangan konteks enkripsi harus berupa string literal sederhana. Jika Anda menggunakan jenis yang berbeda, seperti bilangan bulat atau float, AWS KMS menafsirkannya sebagai string.

  • Kunci dan nilai dalam konteks enkripsi dapat mencakup karakter Unicode. Jika konteks enkripsi menyertakan karakter yang tidak diizinkan dalam kebijakan utama atau kebijakan IAM, Anda tidak akan dapat menentukan konteks enkripsi dalam kunci kondisi kebijakan, seperti kms:EncryptionContext:context-keydan kms:EncryptionContextKeys. Untuk detail tentang aturan dokumen kebijakan utama, lihatFormat kebijakan utama. Untuk detail tentang aturan dokumen kebijakan IAM, lihat Persyaratan nama IAM di Panduan Pengguna IAM.

Konteks enkripsi dalam kebijakan

Konteks enkripsi digunakan terutama untuk memverifikasi integritas dan keaslian. Tetapi Anda juga dapat menggunakan konteks enkripsi untuk mengontrol akses ke enkripsi simetris AWS KMS keys dalam kebijakan utama dan kebijakan IAM.

Kunci EncryptionContextKeys kondisi kms:EncryptionContext: dan kms: mengizinkan (atau menolak) izin hanya jika permintaan menyertakan kunci konteks enkripsi tertentu atau pasangan kunci-nilai.

Misalnya, pernyataan kebijakan kunci berikut memungkinkan RoleForExampleApp peran untuk menggunakan kunci KMS dalam Decrypt operasi. Ini menggunakan kunci kms:EncryptionContext:context-key kondisi untuk mengizinkan izin ini hanya ketika konteks enkripsi dalam permintaan menyertakan pasangan konteks AppName:ExampleApp enkripsi.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }

Untuk informasi lebih lanjut tentang kunci kondisi konteks enkripsi, lihat Kunci kondisi untuk AWS KMS.

Konteks enkripsi dalam hibah

Saat membuat hibah, Anda dapat menyertakan batasan hibah yang menetapkan ketentuan untuk izin hibah. AWS KMS mendukung dua kendala hibah, EncryptionContextEquals danEncryptionContextSubset, keduanya melibatkan konteks enkripsi dalam permintaan untuk operasi kriptografi. Ketika Anda menggunakan batasan hibah ini, izin dalam hibah hanya efektif ketika konteks enkripsi dalam permintaan untuk operasi kriptografi memenuhi persyaratan batasan hibah.

Misalnya, Anda dapat menambahkan batasan EncryptionContextEquals hibah ke hibah yang memungkinkan operasi. GenerateDataKey Dengan batasan ini, hibah memungkinkan operasi hanya ketika konteks enkripsi dalam permintaan cocok huruf besar/kecil untuk konteks enkripsi dalam batasan hibah.

$ aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}

Permintaan seperti berikut dari prinsipal penerima hibah akan memenuhi batasan EncryptionContextEquals.

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test

Untuk detail tentang batasan hibah, lihat Menggunakan batas pemberian izin. Untuk informasi mendetail tentang hibah, lihat Hibah di AWS KMS.

Konteks enkripsi pencatatan

AWS KMS digunakan AWS CloudTrail untuk mencatat konteks enkripsi sehingga Anda dapat menentukan kunci dan data KMS mana yang telah diakses. Entri log menunjukkan dengan tepat kunci KMS mana yang digunakan untuk mengenkripsi atau mendekripsi data tertentu yang direferensikan oleh konteks enkripsi dalam entri log.

penting

Karena konteks enkripsi dicatat, konteks tidak boleh berisi informasi sensitif.

Menyimpan konteks enkripsi

Untuk menyederhanakan penggunaan konteks enkripsi ketika Anda memanggil operasi Decrypt atau ReEncrypt, Anda dapat menyimpan konteks enkripsi bersama data terenkripsi. Sebaiknya Anda hanya menyimpan konteks enkripsi yang mencukupi untuk membantu Anda membuat konteks enkripsi penuh ketika Anda membutuhkannya untuk enkripsi atau dekripsi.

Misalnya, jika konteks enkripsi sepenuhnya memenuhi syarat untuk file, simpan hanya bagian dari jalur tersebut dengan konten file terenkripsi. Kemudian, ketika Anda membutuhkan konteks enkripsi penuh, rekonstruksi konteks dari fragmen yang disimpan. Jika seseorang merusak file, seperti mengganti namanya atau memindahkannya ke lokasi lain, perubahan nilai konteks enkripsi dan permintaan dekripsi akan gagal.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.