Crittografia di valutazione in batch
Quando si specifica una valutazione kmsKeyArn in batch, il servizio crittografa tutti gli artefatti di output archiviati in S3 utilizzando la crittografia lato server S3 con KMS (). SSE-KMS Ciò include la configurazione dell'origine dati, i metadati della sessione e i risultati della valutazione.
kmsKeyArnViene specificato al momento della creazione tramiteStartBatchEvaluation.
Come funziona
La crittografia di valutazione in batch utilizza S3 SSE-KMS. Quando il servizio scrive o legge l'output di valutazione in batch 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 il flusso di lavoro di valutazione in batch.
Il servizio verifica inoltre la possibilità di eseguire le operazioni kms:GenerateDataKey con le proprie credenziali per garantire che la politica chiave conceda al responsabile del servizio le autorizzazioni necessarie per la scrittura di output crittografati.
AgentCore Evaluations supporta solo chiavi KMS con crittografia simmetrica. La chiave KMS deve trovarsi nella stessa AWS regione della valutazione in batch.
Configurazione delle autorizzazioni per l'utilizzo di una chiave KMS gestita dal cliente
La seguente politica chiave fornisce le autorizzazioni minime richieste per la crittografia di valutazione in batch. La policy ha tre istruzioni:
-
AllowCallerAccess— Consente all'utente o al ruolo IAM di convalidare la chiave tramite.
DescribeKey -
AllowCallerCryptoOps— Consente all'utente o al ruolo IAM di crittografare e decrittografare, in base al contesto di crittografia.
-
AllowServicePrincipalAccess— Consente al responsabile del AgentCore servizio di crittografare e decrittografare i dati di valutazione in batch in S3, suddivisi per account di origine e ARN di origine.
{ "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/*" } } } ] }
La politica contiene le seguenti dichiarazioni:
-
AllowCallerAccess— Concede al ruolo IAM l'
kms:DescribeKeyautorizzazione per la convalida delle chiavi al momento della creazione della valutazione in batch.111122223333Sostituiscilo con l'ID del tuo account eMyBatchEvaluationRolecon il ruolo o l'utente IAM che avvia le valutazioni in batch. -
AllowCallerCryptoOps— Concede il ruolo
kms:GenerateDataKeye lekms:Decryptautorizzazioni IAM, in base alaws:bedrock-agentcore:batchEvaluationArncontesto di crittografia. Sostituisci111122223333eus-east-1conMyBatchEvaluationRolei tuoi valori. Per consentire l'accesso a tutte le valutazioni in batch nel tuo account, usa un jolly conStringLike:arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/*. -
AllowServicePrincipalAccess— Concede il principio del AgentCore servizio e le
kms:Decryptautorizzazioni per la crittografiakms:GenerateDataKeye la decrittografia dei dati di valutazione in batch in S3. Elaborato in base all'account di origine e all'ARN di origineaws:SourceArn() per evitare confusi attacchi secondari. Sostituiscius-east-1e111122223333con la tua regione e l'ID dell'account.
Definizione dell'accesso alla chiave KMS gestita dal cliente
È possibile utilizzare il contesto di crittografia per limitare l'accesso alla chiave gestita dal cliente. AgentCore Le valutazioni includono il seguente contesto di crittografia in tutte le operazioni KMS:
{ "aws:bedrock-agentcore:batchEvaluationArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:batch-evaluate/batch-evaluation-id" }
È possibile utilizzare questo contesto di crittografia nelle condizioni di policy chiave per limitare le operazioni KMS a valutazioni batch specifiche, come illustrato nella AllowCallerCryptoOps dichiarazione contenuta nella politica chiave di esempio riportata sopra. Nota che AllowServicePrincipalAccess viene utilizzato aws:SourceArn per l'ambito piuttosto che per il contesto di crittografia.
Avvio di una valutazione in batch con una chiave KMS gestita dal cliente
Specificare il kmsKeyArn parametro quando si chiamaStartBatchEvaluation:
Esempio
Monitoraggio dell'utilizzo di KMS per le valutazioni in batch
I seguenti nomi di CloudTrail eventi vengono visualizzati per le operazioni KMS di valutazione in batch:
-
GenerateDataKey— Quando si scrive un output di valutazione in batch crittografato su S3 (configurazione dell'origine dati, metadati della sessione, risultati della valutazione). IlencryptionContextcampo contiene.aws:bedrock-agentcore:batchEvaluationArn -
Decrypt— Durante la lettura dell'output di valutazione in batch crittografato da S3. -
DescribeKey— Durante la convalida della chiave al momento della creazione della valutazione in batch.
Per ulteriori informazioni sul monitoraggio dell'utilizzo del KMS, consulta la sezione Registrazione delle chiamate all'API AWS KMS AWS CloudTrail nella AWS Key Management Service Developer Guide.
Comportamento quando una chiave diventa non disponibile
Se disabiliti o elimini la chiave KMS gestita dal cliente utilizzata per una valutazione in batch:
-
StartBatchEvaluation— Non riesce a convalidare con.
ValidationException -
GetBatchEvaluation— Restituisce i metadati (nome, stato, timestamp) ma i risultati della valutazione archiviati in oggetti S3 crittografati non possono essere letti dal servizio.
-
ListBatchEvaluations— Ha successo perché l'elenco restituisce solo i metadati e non richiede operazioni KMS.
-
StopBatchEvaluation— Ha esito positivo perché l'interruzione non richiede la decrittografia dei dati.
-
DeleteBatchEvaluation— Ha successo perché l'eliminazione degli oggetti S3 non richiede la decrittografia KMS.
Per ripristinare l'accesso, riattiva la chiave o aggiorna la politica delle chiavi per concedere le autorizzazioni richieste.
Le operazioni del ciclo di vita della valutazione in batch descritte sopra si riferiscono ai comandi CLI AgentCore . I archive comandi stop and indirizzano il lavoro tramite l'opzione. -i, --id <id> Il view batch-evaluation comando accetta l'ID come argomento posizionale:
-
StartBatchEvaluation—
agentcore run batch-evaluation --kms-key <arn>(usa-r/--runtimee-e/--evaluator) -
GetBatchEvaluation —
agentcore view batch-evaluation <id> -
ListBatchEvaluations—
agentcore view batch-evaluationoppureagentcore batch-evaluations history -
StopBatchEvaluation —
agentcore stop batch-evaluation -i <id> -
DeleteBatchEvaluation —
agentcore archive batch-evaluation -i <id>