View a markdown version of this page

Enkripsi saat istirahat untuk AgentCore Evaluasi - Batuan Dasar Amazon AgentCore

Enkripsi saat istirahat untuk AgentCore Evaluasi

catatan

Halaman ini mencakup enkripsi kunci terkelola pelanggan untuk evaluator kustom. Untuk enkripsi kumpulan data, lihat Enkripsi kumpulan data.

Opsi enkripsi

Amazon Bedrock AgentCore Evaluations mengenkripsi semua data saat istirahat secara default menggunakan kunci yang AWS dimiliki tanpa biaya tambahan. Anda tidak dapat melihat, mengelola, atau mengaudit penggunaan kunci ini.

Anda dapat mengenkripsi data evaluator sensitif secara opsional dengan kunci yang dikelola pelanggan. Saat Anda menentukan kunci AWS KMS terkelola pelanggan pada evaluator kustom, layanan akan mengenkripsi instruksi evaluator dan skala penilaian menggunakan enkripsi amplop dengan Encryption SDK. AWS Semua metadata evaluator lainnya (nama, level, konfigurasi model, status) tetap dienkripsi dengan kunci yang dimiliki. AWS

Menggunakan kunci yang dikelola pelanggan memberi Anda kontrol lebih besar atas proses enkripsi, termasuk kemampuan untuk:

  • Membuat dan mengelola kunci, termasuk menetapkan kebijakan kunci

  • Putar tombol pada jadwal Anda sendiri

  • Nonaktifkan atau hapus kunci untuk mengontrol akses ke data terenkripsi

  • Audit penggunaan kunci melalui AWS CloudTrail

Untuk informasi selengkapnya, lihat Kunci terkelola pelanggan di Panduan Pengembang Layanan Manajemen AWS Kunci.

Bagaimana AgentCore Evaluasi menggunakan kunci KMS yang dikelola pelanggan

Saat Anda menentukan kunci terkelola pelanggan pada evaluator kustom, layanan menggunakan kredensi pemanggil (melalui Sesi Akses Teruskan) untuk mengenkripsi dan mendekripsi instruksi evaluator dan skala penilaian. Penelepon harus memilikikms:GenerateDataKey,kms:Decrypt, dan kms:DescribeKey izin pada kunci.

Untuk evaluasi online, layanan mendekripsi instruksi evaluator secara asinkron menggunakan prinsipal layanannya sendiri (). bedrock-agentcore.amazonaws.com Kepala layanan harus memiliki kms:Decrypt izin dalam kebijakan utama.

catatan

AgentCore Evaluasi tidak menggunakan hibah KMS atau kunci data cache. Konfigurasi evaluasi online tidak menerima kmsKeyArn parameter — mereka mewarisi enkripsi CMK dari evaluator yang mereka referensikan.

Mengonfigurasi kunci KMS yang dikelola pelanggan

AgentCore Evaluasi hanya mendukung kunci KMS enkripsi simetris. Kunci KMS harus berada di AWS Wilayah yang sama dengan evaluator. Untuk informasi tentang membuat kunci KMS simetris, lihat Membuat kunci KMS enkripsi simetris di Panduan Pengembang Layanan Manajemen AWS Kunci.

Mengkonfigurasi izin untuk menggunakan kunci KMS yang dikelola pelanggan

Kebijakan utama berikut memberikan izin minimum yang diperlukan untuk AgentCore Evaluasi. Kebijakan ini memiliki tiga pernyataan:

  • AllowCallerAccess— Memungkinkan pengguna IAM atau peran untuk memvalidasi kunci melaluiDescribeKey, dicakup oleh. kms:ViaService

  • AllowCallerCryptoOps— Memungkinkan pengguna atau peran IAM untuk mengenkripsi dan mendekripsi, dicakup oleh dan konteks enkripsi. kms:ViaService

  • AllowServicePrincipalDecrypt— Memungkinkan kepala AgentCore layanan untuk mendekripsi selama evaluasi online, dicakup oleh akun sumber dan sumber ARN.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } }, { "Sid": "AllowServicePrincipalDecrypt", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } } ] }

Kebijakan tersebut berisi pernyataan berikut:

  • AllowCallerAccess— Memberikan kms:DescribeKey izin peran IAM, mencakup permintaan yang dibuat melalui layanan (). AgentCore kms:ViaService Ganti 111122223333 dengan ID akun Anda, MyEvaluationRole dengan peran IAM atau pengguna yang mengelola evaluator, dan us-east-1 dengan Wilayah Anda AWS .

  • AllowCallerCryptoOps— Memberikan peran kms:GenerateDataKey dan kms:Decrypt izin IAM, dicakup oleh kms:ViaService dan konteks enkripsi. aws:bedrock-agentcore:evaluatorArn Ganti 111122223333MyEvaluationRole,us-east-1,, dan my-evaluator-id dengan nilai-nilai Anda. Untuk mengizinkan akses ke semua evaluator di akun Anda, gunakan wildcard denganStringLike:. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Perhatikan bahwa saat menggunakan wildcard, Anda harus mengubah operator kondisi dari StringEquals keStringLike, karena StringEquals memperlakukan sebagai karakter literal.

  • AllowServicePrincipalDecrypt— Memberikan kms:Decrypt izin utama AgentCore layanan untuk mendekripsi data evaluator selama eksekusi evaluasi online. Dicakup oleh akun sumber dan sumber ARN (aws:SourceArn) untuk mencegah serangan wakil yang membingungkan. Ganti us-east-1 dan 111122223333 dengan wilayah dan ID akun Anda.

Membuat evaluator dengan kunci KMS yang dikelola pelanggan

Untuk mengenkripsi evaluator kustom, tentukan kmsKeyArn parameter saat memanggil. CreateEvaluator

contoh
CLI
aws bedrock-agentcore-control create-evaluator \ --evaluator-name "MyEncryptedEvaluator" \ --level SESSION \ --kms-key-arn "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --evaluator-config '{ "llmAsAJudge": { "instructions": "Rate the session quality using {available_tools} and {context}", "ratingScale": { "categorical": [ {"label": "Good", "definition": "The agent performed well"}, {"label": "Bad", "definition": "The agent performed poorly"} ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-sonnet-4-20250514-v1:0" } } } }'
Python (Boto3)
import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_evaluator( evaluatorName='MyEncryptedEvaluator', level='SESSION', kmsKeyArn='arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', evaluatorConfig={ 'llmAsAJudge': { 'instructions': 'Rate the session quality using {available_tools} and {context}', 'ratingScale': { 'categorical': [ {'label': 'Good', 'definition': 'The agent performed well'}, {'label': 'Bad', 'definition': 'The agent performed poorly'} ] }, 'modelConfig': { 'bedrockEvaluatorModelConfig': { 'modelId': 'us.anthropic.claude-sonnet-4-20250514-v1:0' } } } } ) print(f"Evaluator ID: {response['evaluatorId']}")

Mengubah konfigurasi enkripsi pada evaluator yang ada

Anda dapat mengubah konfigurasi enkripsi pada evaluator yang ada menggunakan UpdateEvaluator:

  • Tambahkan enkripsi - Tentukan kmsKeyArn pada evaluator yang dibuat tanpa satu. Layanan mengenkripsi instruksi dan skala peringkat dengan kunci baru.

  • Putar tombol - Tentukan yang berbedakmsKeyArn. Layanan mendekripsi data dengan kunci lama dan mengenkripsi ulang dengan kunci baru. Penelepon harus memiliki izin pada kedua tombol. Jika kunci lama tidak tersedia (izin dinonaktifkan, dihapus, atau hilang), pembaruan akan gagal.

catatan

Anda tidak dapat menghapus enkripsi kunci terkelola pelanggan dari evaluator setelah ditambahkan.

Mencakup akses ke kunci KMS yang dikelola pelanggan

Anda dapat menggunakan konteks enkripsi untuk mengurangi akses ke kunci yang dikelola pelanggan. AgentCore Evaluasi mencakup konteks enkripsi berikut di semua operasi KMS:

{ "aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/evaluator-id" }

Anda dapat menggunakan konteks enkripsi ini dalam kondisi kebijakan utama untuk membatasi operasi KMS ke evaluator tertentu, seperti yang ditunjukkan dalam AllowCallerCryptoOps pernyataan dalam contoh kebijakan kunci di atas. Perhatikan bahwa AllowServicePrincipalDecrypt penggunaan aws:SourceArn untuk pelingkupan daripada konteks enkripsi.

Monitoring AgentCore Evaluasi interaksi dengan AWS KM

Anda dapat menggunakan AWS CloudTrail untuk melacak permintaan API KMS yang AgentCore dilakukan Evaluasi atas nama Anda. Nama CloudTrail acara berikut muncul di log Anda:

  • GenerateDataKey— Saat membuat atau memperbarui evaluator dengan kunci yang dikelola pelanggan.

  • Decrypt— Saat mengambil data evaluator, selama evaluasi sesuai permintaan, atau selama eksekusi evaluasi online.

  • DescribeKey— Saat memvalidasi kunci pada pembuatan evaluator, pembaruan, atau pembuatan konfigurasi evaluasi online.

Dalam entri CloudTrail log, requestParameters.encryptionContext bidang berisi aws:bedrock-agentcore:evaluatorArn dengan ARN evaluator. Untuk permintaan yang dibuat oleh kepala layanan selama evaluasi online, userIdentity.invokedBy lapangan menunjukkanbedrock-agentcore.amazonaws.com.

Untuk informasi selengkapnya tentang pemantauan penggunaan KMS, lihat Mencatat panggilan API AWS KMS AWS CloudTrail di Panduan Pengembang Layanan Manajemen AWS Utama.

Perilaku ketika kunci menjadi tidak tersedia

Jika Anda menonaktifkan atau menghapus kunci KMS yang dikelola pelanggan, atau jika kebijakan kunci tidak lagi memberikan izin yang diperlukan:

  • GetEvaluator dengan ALL_DATA - Gagal karena layanan tidak dapat mendekripsi instruksi dan skala penilaian.

  • GetEvaluator dengan METADATA_ONLY - Berhasil karena tidak ada operasi KMS yang diperlukan.

  • Evaluasi (sesuai permintaan) — Gagal untuk CMK-encrypted evaluator karena layanan tidak dapat mendekripsi instruksi.

  • UpdateEvaluator (rotasi kunci) — Gagal karena layanan tidak dapat mendekripsi data yang ada dengan kunci yang tidak tersedia sebelum mengenkripsi ulang dengan kunci baru.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Gagal karena layanan tidak dapat memvalidasi akses penelepon melalui kms:DescribeKey dan kms:Decrypt dry-run.

  • Eksekusi evaluasi online — Gagal karena layanan tidak dapat mendekripsi instruksi evaluator untuk penilaian.

  • DeleteEvaluator— Berhasil karena penghapusan tidak memerlukan dekripsi data evaluator.

  • DeleteOnlineEvaluationConfig— Berhasil karena penghapusan tidak memerlukan akses KMS.

Tip

Gunakan includedData=METADATA_ONLY on GetEvaluator untuk mengambil metadata evaluator (nama, level, konfigurasi model, status) tanpa memerlukan izin KMS. Ini berguna untuk memantau dan menginventaris alur kerja ketika kunci tidak tersedia.

Untuk memulihkan akses, aktifkan kembali kunci atau perbarui kebijakan kunci untuk memberikan izin yang diperlukan.

catatan

Untuk informasi tentang enkripsi kunci terkelola pelanggan untuk kumpulan data, lihat Enkripsi kumpulan data.