View a markdown version of this page

Crittografia a riposo per le AgentCore valutazioni - Amazon Bedrock AgentCore

Crittografia a riposo per le AgentCore valutazioni

Nota

Questa pagina descrive la crittografia a chiave gestita dal cliente per valutatori personalizzati. Per la crittografia dei set di dati, vedere Crittografia dei set di dati.

Opzioni di crittografia

Amazon Bedrock AgentCore Evaluations crittografa tutti i dati inattivi per impostazione predefinita utilizzando una chiave AWS proprietaria senza costi aggiuntivi. Non puoi visualizzare, gestire o controllare l'uso di questa chiave.

Facoltativamente, puoi crittografare i dati sensibili dello strumento di valutazione con una chiave gestita dal cliente. Quando si specifica una chiave AWS KMS gestita dal cliente su un valutatore personalizzato, il servizio crittografa le istruzioni e la scala di valutazione del valutatore utilizzando la crittografia a busta con Encryption SDK. AWS Tutti gli altri metadati del valutatore (nome, livello, configurazione del modello, stato) rimangono crittografati con la chiave proprietaria. AWS

L'utilizzo di una chiave gestita dal cliente offre un maggiore controllo sul processo di crittografia, inclusa la possibilità di:

  • Crea e gestisci la chiave, inclusa l'impostazione delle politiche chiave

  • Ruota la chiave secondo la tua pianificazione

  • Disattiva o elimina la chiave per controllare l'accesso ai dati crittografati

  • Verifica l'utilizzo delle chiavi tramite AWS CloudTrail

Per ulteriori informazioni, consulta Customer managed keys nella AWS Key Management Service Developer Guide.

In che modo AgentCore Evaluations utilizza una chiave KMS gestita dal cliente

Quando si specifica una chiave gestita dal cliente su un valutatore personalizzato, il servizio utilizza le credenziali del chiamante (tramite Forward Access Sessions) per crittografare e decrittografare le istruzioni e la scala di valutazione del valutatore. Il chiamante deve disporre delle autorizzazioni e delle autorizzazioni relative alla chiavekms:GenerateDataKey. kms:Decrypt kms:DescribeKey

Per la valutazione online, il servizio decrittografa le istruzioni di valutazione in modo asincrono utilizzando il proprio service principal (). bedrock-agentcore.amazonaws.com Il responsabile del servizio deve avere kms:Decrypt l'autorizzazione nella politica chiave.

Nota

AgentCore Evaluations non utilizza concessioni KMS o chiavi di dati cache. Le configurazioni di valutazione online non accettano un kmsKeyArn parametro: ereditano la crittografia CMK dai valutatori a cui fanno riferimento.

Configurazione di una chiave KMS gestita dal cliente

AgentCore Evaluations supporta solo chiavi KMS con crittografia simmetrica. La chiave KMS deve trovarsi nella stessa AWS regione del valutatore. Per informazioni sulla creazione di una chiave KMS simmetrica, consulta Creazione di chiavi KMS con crittografia simmetrica nella Key Management Service Developer Guide. AWS

Configurazione delle autorizzazioni per l'utilizzo di una chiave KMS gestita dal cliente

La seguente politica chiave fornisce le autorizzazioni minime richieste per le valutazioni. AgentCore La policy ha tre istruzioni:

  • AllowCallerAccess— Consente all'utente o al ruolo IAM di convalidare la chiave tramiteDescribeKey, scoped by. kms:ViaService

  • AllowCallerCryptoOps— Consente all'utente o al ruolo IAM di crittografare e decrittografare, in base all'ambito e al contesto di crittografia. kms:ViaService

  • AllowServicePrincipalDecrypt— Consente la decrittografia del principale del AgentCore servizio durante la valutazione online, in base all'account di origine e all'ARN di origine.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } }, { "Sid": "AllowServicePrincipalDecrypt", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } } ] }

La politica contiene le seguenti dichiarazioni:

  • AllowCallerAccess— Concede l'kms:DescribeKeyautorizzazione al ruolo IAM, limitata alle richieste effettuate tramite il AgentCore servizio ()kms:ViaService. Sostituiscilo 111122223333 con l'ID del tuo account, MyEvaluationRole con il ruolo o l'utente IAM che gestisce i valutatori e us-east-1 con la tua regione. AWS

  • AllowCallerCryptoOps— Concede il ruolo kms:GenerateDataKey e le kms:Decrypt autorizzazioni IAM, in base all'ambito kms:ViaService e al contesto di crittografia. aws:bedrock-agentcore:evaluatorArn Sostituisci111122223333, MyEvaluationRoleus-east-1, e my-evaluator-id con i tuoi valori. Per consentire l'accesso a tutti i valutatori del tuo account, usa una jolly conStringLike:. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Nota che quando usi un carattere jolly, devi cambiare l'operatore di condizione da StringEquals aStringLike, perché StringEquals tratta come un carattere letterale.

  • AllowServicePrincipalDecrypt— Concede al AgentCore servizio l'kms:Decryptautorizzazione principale per la decrittografia dei dati del valutatore durante l'esecuzione della valutazione online. Elaborato in base all'account di origine e all'ARN di origine aws:SourceArn () per evitare confusi attacchi secondari. Sostituisci us-east-1 e 111122223333 con la tua regione e l'ID dell'account.

Creazione di un valutatore con una chiave KMS gestita dal cliente

Per crittografare un valutatore personalizzato, specifica il parametro durante la kmsKeyArn chiamata. CreateEvaluator

Esempio
CLI
aws bedrock-agentcore-control create-evaluator \ --evaluator-name "MyEncryptedEvaluator" \ --level SESSION \ --kms-key-arn "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --evaluator-config '{ "llmAsAJudge": { "instructions": "Rate the session quality using {available_tools} and {context}", "ratingScale": { "categorical": [ {"label": "Good", "definition": "The agent performed well"}, {"label": "Bad", "definition": "The agent performed poorly"} ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-sonnet-4-20250514-v1:0" } } } }'
Python (Boto3)
import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_evaluator( evaluatorName='MyEncryptedEvaluator', level='SESSION', kmsKeyArn='arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', evaluatorConfig={ 'llmAsAJudge': { 'instructions': 'Rate the session quality using {available_tools} and {context}', 'ratingScale': { 'categorical': [ {'label': 'Good', 'definition': 'The agent performed well'}, {'label': 'Bad', 'definition': 'The agent performed poorly'} ] }, 'modelConfig': { 'bedrockEvaluatorModelConfig': { 'modelId': 'us.anthropic.claude-sonnet-4-20250514-v1:0' } } } } ) print(f"Evaluator ID: {response['evaluatorId']}")

Modifica della configurazione di crittografia su un valutatore esistente

È possibile modificare la configurazione di crittografia su un valutatore esistente utilizzando: UpdateEvaluator

  • Aggiungi crittografia: specifica una kmsKeyArn su un valutatore che è stato creato senza una crittografia. Il servizio crittografa le istruzioni e la scala di valutazione con la nuova chiave.

  • Chiave di rotazione: specifica una chiave diversa. kmsKeyArn Il servizio decripta i dati con la vecchia chiave e li cripta nuovamente con la nuova chiave. Il chiamante deve disporre delle autorizzazioni per entrambe le chiavi. Se la vecchia chiave non è disponibile (autorizzazioni disabilitate, eliminate o mancanti), l'aggiornamento avrà esito negativo.

Nota

Non è possibile rimuovere la crittografia a chiave gestita dal cliente da un valutatore una volta aggiunta.

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:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/evaluator-id" }

È possibile utilizzare questo contesto di crittografia nelle condizioni politiche chiave per limitare le operazioni KMS a valutatori specifici, come illustrato nella AllowCallerCryptoOps dichiarazione contenuta nella politica chiave di esempio riportata sopra. Nota che AllowServicePrincipalDecrypt viene utilizzato aws:SourceArn per l'ambito piuttosto che per il contesto di crittografia.

Monitoraggio dell'interazione delle AgentCore valutazioni con AWS KMS

Puoi utilizzarlo AWS CloudTrail per tenere traccia delle richieste API KMS che AgentCore Evaluations effettua per tuo conto. I seguenti nomi di CloudTrail eventi vengono visualizzati nei tuoi registri:

  • GenerateDataKey— Quando si crea o si aggiorna un valutatore con una chiave gestita dal cliente.

  • Decrypt— Durante il recupero dei dati del valutatore, durante la valutazione su richiesta o durante l'esecuzione della valutazione online.

  • DescribeKey— Durante la convalida della chiave durante la creazione del valutatore, l'aggiornamento o la creazione della configurazione di valutazione online.

Nelle voci di CloudTrail registro, il requestParameters.encryptionContext campo contiene aws:bedrock-agentcore:evaluatorArn l'ARN del valutatore. Per le richieste effettuate dal responsabile del servizio durante la valutazione online, il userIdentity.invokedBy campo mostra. bedrock-agentcore.amazonaws.com

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 dai clienti o se la politica delle chiavi non concede più le autorizzazioni richieste:

  • GetEvaluator con ALL_DATA — Non riesce perché il servizio non è in grado di decifrare le istruzioni e la scala di valutazione.

  • GetEvaluator with METADATA_ONLY — Ha successo perché non sono richieste operazioni KMS.

  • Valuta (su richiesta): non riesce per i CMK-encrypted valutatori perché il servizio non è in grado di decrittografare le istruzioni.

  • UpdateEvaluator (rotazione della chiave): non riesce perché il servizio non è in grado di decrittografare i dati esistenti con la chiave non disponibile prima di ricrittografare con la nuova chiave.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Fallisce perché il servizio non è in grado di convalidare l'accesso del chiamante tramite l'esecuzione a secco. kms:DescribeKey kms:Decrypt

  • Esecuzione della valutazione online: non riesce perché il servizio non è in grado di decrittografare le istruzioni di valutazione per il punteggio.

  • DeleteEvaluator— Ha esito positivo perché l'eliminazione non richiede la decrittografia dei dati del valutatore.

  • DeleteOnlineEvaluationConfig— Ha successo perché l'eliminazione non richiede l'accesso al KMS.

Suggerimento

Utilizza includedData=METADATA_ONLY on GetEvaluator per recuperare i metadati del valutatore (nome, livello, configurazione del modello, stato) senza richiedere le autorizzazioni KMS. Ciò è utile per il monitoraggio e i flussi di lavoro di inventario quando la chiave non è disponibile.

Per ripristinare l'accesso, riattiva la chiave o aggiorna la politica delle chiavi per concedere le autorizzazioni richieste.