View a markdown version of this page

Enkripsi evaluasi batch - Batu Dasar Amazon AgentCore

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

Enkripsi evaluasi batch

Saat Anda menentukan evaluasi kmsKeyArn pada batch, layanan mengenkripsi semua artefak keluaran yang disimpan di S3 menggunakan enkripsi sisi server S3 dengan KMS (). SSE-KMS Ini termasuk konfigurasi sumber data, metadata sesi, dan hasil evaluasi.

Ini kmsKeyArn ditentukan pada waktu pembuatan melaluiStartBatchEvaluation.

Cara kerjanya

Enkripsi evaluasi batch menggunakan S3 SSE-KMS. Ketika layanan menulis atau membaca output evaluasi batch di S3, S3 memanggil KMS atas nama layanan untuk mengenkripsi atau mendekripsi data. Prinsip layanan (bedrock-agentcore.amazonaws.com) harus memiliki izin KMS dalam kebijakan kunci.

Pada waktu API, layanan memvalidasi bahwa pemanggil memiliki izin KMS menggunakan pemeriksaan dry-run (Sesi Akses Teruskan). Ini menangkap masalah izin dengan segera daripada gagal secara asinkron selama alur kerja evaluasi batch.

Layanan ini juga memvalidasi bahwa ia dapat melakukan kms:GenerateDataKey dengan kredensialnya sendiri untuk memastikan kebijakan kunci memberikan prinsipal layanan izin yang diperlukan untuk menulis output terenkripsi.

AgentCore Evaluasi hanya mendukung kunci KMS enkripsi simetris. Kunci KMS harus berada di Wil AWS ayah yang sama dengan evaluasi batch.

Mengkonfigurasi izin untuk menggunakan kunci KMS yang dikelola pelanggan

Kebijakan kunci berikut memberikan izin minimum yang diperlukan untuk enkripsi evaluasi batch. Kebijakan tersebut memiliki tiga pernyataan:

  • AllowCallerAccess- Memungkinkan pengguna atau peran IAM untuk memvalidasi kunci melaluiDescribeKey.

  • AllowCallerCryptoOps- Memungkinkan pengguna atau peran IAM untuk mengenkripsi dan mendekripsi, dicakup oleh konteks enkripsi.

  • AllowServicePrincipalAccess- Memungkinkan prinsi AgentCore pal layanan untuk mengenkripsi dan mendekripsi data evaluasi batch di S3, dicakup oleh akun sumber dan ARN sumber.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyBatchEvaluationRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyBatchEvaluationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore:batchEvaluationArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/*" } } }, { "Sid": "AllowServicePrincipalAccess", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/*" } } } ] }

Kebijakan tersebut berisi pernyataan berikut:

  • AllowCallerAccess— Memberikan kms:DescribeKey izin peran IAM untuk validasi kunci pada waktu pembuatan evaluasi batch. Ganti 111122223333 dengan ID akun Anda dan MyBatchEvaluationRole dengan peran atau pengguna IAM yang memulai evaluasi batch.

  • AllowCallerCryptoOps- Memberikan peran kms:GenerateDataKey dan kms:Decrypt izin IAM, dicakup oleh konteks en aws:bedrock-agentcore:batchEvaluationArn kripsi. Ganti111122223333,MyBatchEvaluationRole, dan us-east-1 dengan nilai-nilai Anda. Untuk mengizinkan akses ke semua evaluasi batch di akun Anda, gunakan wildcard denganStringLike:arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/*.

  • AllowServicePrincipalAccess- Memberikan prinsip AgentCore layanan kms:GenerateDataKey dan kms:Decrypt izin untuk mengenkripsi dan mendekripsi data evaluasi batch di S3. 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.

Mengurangi 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 dalam semua operasi KMS:

{ "aws:bedrock-agentcore:batchEvaluationArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/batch-evaluation-id" }

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

Memulai evaluasi batch dengan kunci KMS yang dikelola pelanggan

Tentukan kmsKeyArn parameter saat memanggilStartBatchEvaluation:

contoh
AgentCore CLI

Dengan AgentCore CLI, gunakan --kms-key opsi untuk menentukan kunci KMS tunggal ARN untuk mengenkripsi hasil evaluasi batch. AgentCore CLI menggunakan --kms-key flag, yang berbeda dari --kms-key-arn flag AWS CLI dan parameter bo kmsKeyArn to3.

agentcore run batch-evaluation \ -r MyAgent \ -e Builtin.Correctness \ --kms-key arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
AWS CLI
aws bedrock-agentcore start-batch-evaluation \ --batch-evaluation-name "MyEncryptedBatchEval" \ --kms-key-arn "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --evaluators '[{"evaluatorArn": "arn:aws:bedrock-agentcore:::evaluator/Builtin.Helpfulness"}]' \ --data-source-config '{ "cloudwatchLogs": { "logGroupNames": ["/aws/bedrock-agentcore/sessions/my-agent"], "serviceNames": ["my-agent.DEFAULT"], "filterConfig": { "timeRange": { "startTime": "2025-01-01T00:00:00Z", "endTime": "2025-01-02T00:00:00Z" } } } }'
Python (Boto3)
import boto3 client = boto3.client('bedrock-agentcore') response = client.start_batch_evaluation( batchEvaluationName='MyEncryptedBatchEval', kmsKeyArn='arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', evaluators=[{'evaluatorArn': 'arn:aws:bedrock-agentcore:::evaluator/Builtin.Helpfulness'}], dataSourceConfig={ 'cloudwatchLogs': { 'logGroupNames': ['/aws/bedrock-agentcore/sessions/my-agent'], 'serviceNames': ['my-agent.DEFAULT'], 'filterConfig': { 'timeRange': { 'startTime': '2025-01-01T00:00:00Z', 'endTime': '2025-01-02T00:00:00Z' } } } } ) print(f"Batch Evaluation ID: {response['batchEvaluationId']}")

Memantau penggunaan KMS untuk evaluasi batch

Nama CloudTrail peristiwa berikut muncul untuk operasi KMS evaluasi batch:

  • GenerateDataKey— Saat menulis output evaluasi batch terenkripsi ke S3 (konfigurasi sumber data, metadata sesi, hasil evaluasi). encryptionContextBidang berisiaws:bedrock-agentcore:batchEvaluationArn.

  • Decrypt— Saat membaca output evaluasi batch terenkripsi dari S3.

  • DescribeKey— Saat memvalidasi kunci pada waktu pembuatan evaluasi batch.

Untuk informasi selengkapnya tentang pemantauan penggunaan KMS, lihat Pencat AWS atan panggilan API KMS dengan AWS CloudTrail dalam Panduan Pengembang Layanan Manajemen K AWS unci.

Perilaku saat kunci menjadi tidak tersedia

Jika Anda menonaktifkan atau menghapus kunci KMS yang dikelola pelanggan yang digunakan oleh evaluasi batch:

  • StartBatchEvaluation— Gagal saat validasi denganValidationException.

  • GetBatchEvaluation— Mengembalikan metadata (nama, status, cap waktu) tetapi hasil evaluasi yang disimpan dalam objek S3 terenkripsi tidak dapat dibaca oleh layanan.

  • ListBatchEvaluations— Berhasil karena listing hanya mengembalikan metadata dan tidak memerlukan operasi KMS.

  • StopBatchEvaluation— Berhasil karena berhenti tidak memerlukan dekripsi data.

  • DeleteBatchEvaluation— Berhasil karena penghapusan objek S3 tidak memerlukan dekripsi KMS.

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

Operasi siklus hidup evaluasi batch yang dijelaskan di atas memetakan ke perintah AgentCore CLI. Per stop archive intah dan menargetkan pekerjaan melalui -i, --id <id> opsi. Per view batch-evaluation intah mengambil ID sebagai argumen posisi:

  • StartBatchEvaluation— agentcore run batch-evaluation --kms-key <arn> (gunakan -r/--runtime dan-e/--evaluator)

  • GetBatchEvaluation — agentcore view batch-evaluation <id>

  • ListBatchEvaluations— agentcore view batch-evaluation atau agentcore batch-evaluations history

  • StopBatchEvaluation — agentcore stop batch-evaluation -i <id>

  • DeleteBatchEvaluation — agentcore archive batch-evaluation -i <id>