Crittografia dei dataset
Quando si specifica un kmsKeyArn su un set di dati, il servizio crittografa tutti gli esempi archiviati utilizzando la crittografia lato server S3 con KMS (). SSE-KMS Ciò include gli esempi nella bozza e in tutte le versioni pubblicate.
kmsKeyArnÈ immutabile dopo la creazione del set di dati: non è possibile modificarlo o rimuoverlo.
Come funziona
La crittografia del set di dati utilizza S3. SSE-KMS Quando il servizio scrive o legge il contenuto del set di dati in S3, S3 chiama KMS per conto del servizio per crittografare o decrittografare i dati. Il service principal (bedrock-agentcore.amazonaws.com) deve avere le autorizzazioni KMS nella politica chiave.
Al momento dell'API, il servizio verifica che il chiamante disponga delle autorizzazioni KMS utilizzando un controllo a secco (Forward Access Sessions). Ciò rileva immediatamente i problemi di autorizzazione anziché fallire in modo asincrono durante l'ingestione.
AgentCore Evaluations supporta solo chiavi KMS con crittografia simmetrica. La chiave KMS deve trovarsi nella stessa AWS regione del set di dati.
Politica chiave richiesta
La seguente politica chiave concede le autorizzazioni minime richieste per la crittografia dei set di dati. Include due istruzioni:
-
AllowCallerAccess— Concede all'utente o al ruolo IAM che chiama l'
CreateDatasetautorizzazione a convalidare e utilizzare la chiave. Il servizio esegue un controllo a secco al momento dell'API per verificare che il chiamante disponga dell'accesso KMS.111122223333Sostituiscilo con l'ID del tuo account eMyDatasetRolecon il ruolo o l'utente IAM che gestisce i set di dati. -
AllowAgentCoreDatasetAccess— Concede al AgentCore servizio l'autorizzazione principale per crittografare e decrittografare il contenuto del set di dati in 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": "*" } ] }
Nota
Questa è la politica minima. Vedi Scoping down access per le condizioni di sicurezza consigliate.
Ambito dell'accesso
È possibile aggiungere condizioni per limitare l'utilizzo della chiave. Per i set di dati, il servizio invia il seguente contesto con le operazioni di scrittura KMS ()GenerateDataKey:
-
aws:SourceAccount— L'ID dell' AWS account proprietario del set di dati. -
aws:SourceArn— L'ARN del set di dati da crittografare. -
kms:EncryptionContext:aws:bedrock-agentcore:datasetArn— L'ARN del set di dati come contesto di crittografia.
La seguente politica suddivide le autorizzazioni in scrittura (condizionata) e lettura (non condizionata):
{ "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": "*" } ] }
Importante
Non aggiungere aws:SourceAccount o aws:SourceArn condizioni all'istruzione read (Decrypt,). DescribeKey I download dei set di dati utilizzano URL S3 predefiniti e il client di download non invia intestazioni di contesto di origine. L'aggiunta di queste condizioni alle operazioni di lettura causa errori di download.
111122223333Sostituiscilo con l'ID del tuo account e us-east-1 con la tua AWS regione. Per fare riferimento a un set di dati specifico, sostituisci il carattere jolly con l'ID del set di dati:. arn:aws:bedrock-agentcore:us-east-1:111122223333:dataset/my-dataset-id
Creazione di un set di dati con una chiave KMS gestita dal cliente
Specificare il kmsKeyArn parametro quando si chiama: CreateDataset
Esempio
Monitoraggio dell'utilizzo di KMS per i set di dati
I seguenti nomi di CloudTrail eventi vengono visualizzati per le operazioni KMS dei set di dati:
-
GenerateDataKey— Quando si crea un set di dati, si aggiungono esempi, si aggiornano esempi o si pubblica una versione. IlencryptionContextcampo contieneaws:bedrock-agentcore:datasetArn. -
Decrypt— Durante la lettura del contenuto del set di dati (GetDataset, ListDatasetExamples) o durante il download di URL predefiniti. -
DescribeKey— Durante la convalida della chiave al momento della creazione del set di dati.
Comportamento quando una chiave diventa non disponibile
Se disabiliti o elimini la chiave KMS gestita dal cliente utilizzata da un set di dati:
-
CreateDataset— Non riesce a convalidare con.
ValidationException -
AddDatasetExamples, UpdateDatasetExamples, CreateDatasetVersion — Fallisce
ValidationExceptional momento dell'API. -
GetDataset— Non riesce a
ValidationExceptionindicare che la chiave KMS è disabilitata o eliminata. -
ListDatasetExamples— Non
ValidationExceptionindica che la chiave KMS è disabilitata o eliminata. -
DeleteDataset— Ha successo perché l'eliminazione degli oggetti S3 non richiede la decrittografia KMS.