Enkripsi Dataset
Saat Anda menentukan kmsKeyArn pada kumpulan data, layanan mengenkripsi semua contoh yang disimpan menggunakan enkripsi sisi server S3 dengan KMS (). SSE-KMS Ini termasuk contoh dalam Draf dan semua versi yang diterbitkan.
kmsKeyArnIni tidak dapat diubah setelah pembuatan kumpulan data - Anda tidak dapat mengubah atau menghapusnya.
Cara kerjanya
Enkripsi dataset menggunakan SSE-KMS S3. Saat layanan menulis atau membaca konten kumpulan data 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 segera daripada gagal secara asinkron selama konsumsi.
AgentCore Evaluasi hanya mendukung kunci KMS enkripsi simetris. Kunci KMS harus berada di AWS Wilayah yang sama dengan kumpulan data.
Kebijakan kunci yang diperlukan
Kebijakan utama berikut memberikan izin minimum yang diperlukan untuk enkripsi kumpulan data. Ini mencakup dua pernyataan:
-
AllowCallerAccess— Memberikan pengguna IAM atau peran yang memanggil
CreateDatasetizin untuk memvalidasi dan menggunakan kunci. Layanan melakukan pemeriksaan dry-run pada waktu API untuk memverifikasi penelepon memiliki akses KMS. Ganti111122223333dengan ID akun Anda danMyDatasetRoledengan peran IAM atau pengguna yang mengelola kumpulan data. -
AllowAgentCoreDatasetAccess— Memberikan izin utama AgentCore layanan untuk mengenkripsi dan mendekripsi konten kumpulan data di S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyDatasetRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowAgentCoreDatasetAccess", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" } ] }
catatan
Ini adalah kebijakan minimum. Lihat Scoping down access untuk kondisi keamanan yang direkomendasikan.
Akses pelingkupan ke bawah
Anda dapat menambahkan kondisi untuk membatasi kapan kunci dapat digunakan. Untuk kumpulan data, layanan mengirimkan konteks berikut dengan operasi tulis KMS (): GenerateDataKey
-
aws:SourceAccount— ID AWS akun yang memiliki dataset. -
aws:SourceArn— ARN dari dataset yang dienkripsi. -
kms:EncryptionContext:aws:bedrock-agentcore:datasetArn— Dataset ARN sebagai konteks enkripsi.
Kebijakan berikut membagi izin menjadi tulis (dikondisikan) dan dibaca (tanpa syarat):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyDatasetRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowAgentCoreDatasetWrite", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/*", "kms:EncryptionContext:aws:bedrock-agentcore:datasetArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/*" } } }, { "Sid": "AllowAgentCoreDatasetRead", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" } ] }
penting
Jangan menambahkan aws:SourceAccount atau aws:SourceArn mengkondisikan pada pernyataan baca (Decrypt,DescribeKey). Unduhan kumpulan data menggunakan URL S3 yang telah ditetapkan sebelumnya, dan klien pengunduhan tidak mengirim header konteks sumber. Menambahkan kondisi ini ke operasi membaca menyebabkan kegagalan unduhan.
Ganti 111122223333 dengan ID akun Anda dan us-east-1 dengan AWS Wilayah Anda. Untuk membuat cakupan ke kumpulan data tertentu, ganti wildcard dengan ID kumpulan data:. arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/my-dataset-id
Membuat kumpulan data dengan kunci KMS yang dikelola pelanggan
Tentukan kmsKeyArn parameter saat memanggilCreateDataset:
contoh
Memantau penggunaan KMS untuk dataset
Nama CloudTrail acara berikut muncul untuk operasi KMS kumpulan data:
-
GenerateDataKey— Saat membuat kumpulan data, menambahkan contoh, memperbarui contoh, atau menerbitkan versi.encryptionContextBidang berisiaws:bedrock-agentcore:datasetArn. -
Decrypt— Saat membaca konten kumpulan data (GetDataset, ListDatasetExamples) atau selama unduhan URL yang telah ditentukan sebelumnya. -
DescribeKey— Saat memvalidasi kunci pada pembuatan dataset.
Perilaku ketika kunci menjadi tidak tersedia
Jika Anda menonaktifkan atau menghapus kunci KMS terkelola pelanggan yang digunakan oleh kumpulan data:
-
CreateDataset— Gagal dalam validasi dengan
ValidationException. -
AddDatasetExamples, UpdateDatasetExamples, CreateDatasetVersion — Gagal
ValidationExceptionpada waktu API. -
GetDataset— Gagal dengan
ValidationExceptionmenunjukkan kunci KMS dinonaktifkan atau dihapus. -
ListDatasetExamples— Gagal dengan
ValidationExceptionmenunjukkan kunci KMS dinonaktifkan atau dihapus. -
DeleteDataset— Berhasil karena penghapusan objek S3 tidak memerlukan dekripsi KMS.