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.
kmsKeyArnIni 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. Prinsipal 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 (Forward Access Sessions). 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 utama memberikan izin yang diperlukan kepada prinsipal layanan untuk menulis keluaran terenkripsi.
AgentCore Evaluasi hanya mendukung kunci KMS enkripsi simetris. Kunci KMS harus berada di AWS Wilayah 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 ini memiliki tiga pernyataan:
-
AllowCallerAccess— Memungkinkan pengguna atau peran IAM untuk memvalidasi kunci melalui.
DescribeKey -
AllowCallerCryptoOps— Memungkinkan pengguna atau peran IAM untuk mengenkripsi dan mendekripsi, dicakup oleh konteks enkripsi.
-
AllowServicePrincipalAccess— Memungkinkan kepala AgentCore layanan untuk mengenkripsi dan mendekripsi data evaluasi batch di S3, dicakup oleh akun sumber dan sumber ARN.
{ "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:DescribeKeyizin peran IAM untuk validasi kunci pada waktu pembuatan evaluasi batch. Ganti111122223333dengan ID akun Anda danMyBatchEvaluationRoledengan peran IAM atau pengguna yang memulai evaluasi batch. -
AllowCallerCryptoOps— Memberikan peran
kms:GenerateDataKeydankms:Decryptizin IAM, dicakup oleh konteks enkripsi.aws:bedrock-agentcore:batchEvaluationArnGanti111122223333MyBatchEvaluationRole,, danus-east-1dengan 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:GenerateDataKeydankms:Decryptizin untuk mengenkripsi dan mendekripsi data evaluasi batch di S3. Dicakup oleh akun sumber dan sumber ARN (aws:SourceArn) untuk mencegah serangan wakil yang membingungkan. Gantius-east-1dan111122223333dengan wilayah dan ID akun Anda.
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: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 AllowServicePrincipalAccess penggunaan aws:SourceArn untuk pelingkupan daripada konteks enkripsi.
Memulai evaluasi batch dengan kunci KMS yang dikelola pelanggan
Tentukan kmsKeyArn parameter saat memanggilStartBatchEvaluation:
contoh
Memantau penggunaan KMS untuk evaluasi batch
Nama CloudTrail acara 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 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 terkelola pelanggan yang digunakan oleh evaluasi batch:
-
StartBatchEvaluation— Gagal dalam validasi dengan
ValidationException. -
GetBatchEvaluation— Mengembalikan metadata (nama, status, stempel waktu) tetapi hasil evaluasi yang disimpan dalam objek S3 terenkripsi tidak dapat dibaca oleh layanan.
-
ListBatchEvaluations— Berhasil karena daftar mengembalikan metadata saja 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 CLI AgentCore . archivePerintah stop dan menargetkan pekerjaan melalui -i, --id <id> opsi. view batch-evaluationPerintah mengambil ID sebagai argumen posisional:
-
StartBatchEvaluation—
agentcore run batch-evaluation --kms-key <arn>(menggunakan-r/--runtimedan-e/--evaluator) -
GetBatchEvaluation —
agentcore view batch-evaluation <id> -
ListBatchEvaluations—
agentcore view batch-evaluationatauagentcore batch-evaluations history -
StopBatchEvaluation —
agentcore stop batch-evaluation -i <id> -
DeleteBatchEvaluation —
agentcore archive batch-evaluation -i <id>