View a markdown version of this page

Criptografia em repouso para AgentCore avaliações - Amazon Bedrock AgentCore

Criptografia em repouso para AgentCore avaliações

nota

Esta página aborda a criptografia de chave gerenciada pelo cliente para avaliadores personalizados. Para criptografia de conjunto de dados, consulte Criptografia de conjunto de dados.

Opções de criptografia

Por padrão, o Amazon Bedrock AgentCore Evaluations criptografa todos os dados em repouso usando uma chave AWS própria sem custo adicional. Você não pode visualizar, gerenciar ou auditar o uso dessa chave.

Opcionalmente, você pode criptografar dados confidenciais do avaliador com uma chave gerenciada pelo cliente. Quando você especifica uma chave AWS KMS gerenciada pelo cliente em um avaliador personalizado, o serviço criptografa as instruções e a escala de avaliação do avaliador usando criptografia de envelope com o SDK de criptografia. AWS Todos os outros metadados do avaliador (nome, nível, configuração do modelo, status) permanecem criptografados com a chave AWS própria.

O uso de uma chave gerenciada pelo cliente oferece mais controle sobre o processo de criptografia, incluindo a capacidade de:

  • Crie e gerencie a chave, incluindo a definição de políticas principais

  • Gire a chave de acordo com sua própria programação

  • Desative ou exclua a chave para controlar o acesso aos dados criptografados

  • Audite o uso da chave por meio AWS CloudTrail

Para obter mais informações, consulte Chaves gerenciadas pelo cliente no Guia do desenvolvedor do AWS Key Management Service.

Como o AgentCore Evaluations usa uma chave KMS gerenciada pelo cliente

Quando você especifica uma chave gerenciada pelo cliente em um avaliador personalizado, o serviço usa as credenciais do chamador (por meio de sessões de acesso direto) para criptografar e descriptografar as instruções e a escala de classificação do avaliador. O chamador deve terkms:GenerateDataKey,kms:Decrypt, e kms:DescribeKey permissões na chave.

Para avaliação on-line, o serviço decifra as instruções do avaliador de forma assíncrona usando seu próprio principal de serviço (). bedrock-agentcore.amazonaws.com O responsável pelo serviço deve ter kms:Decrypt permissão na política de chaves.

nota

AgentCore As avaliações não usam concessões do KMS nem chaves de dados de cache. As configurações de avaliação on-line não aceitam um kmsKeyArn parâmetro — elas herdam a criptografia CMK dos avaliadores aos quais fazem referência.

Configurando uma chave KMS gerenciada pelo cliente

AgentCore As avaliações oferecem suporte somente a chaves KMS de criptografia simétrica. A chave KMS deve estar na mesma AWS região do avaliador. Para obter informações sobre a criação de uma chave KMS simétrica, consulte Criação de chaves KMS de criptografia simétrica no Guia do desenvolvedor do AWS Key Management Service.

Configurando permissões para usar uma chave KMS gerenciada pelo cliente

A política principal a seguir fornece as permissões mínimas necessárias para AgentCore avaliações. A política tem três instruções:

  • AllowCallerAccess— Permite que o usuário ou a função do IAM valide a chave por meio deDescribeKey, com escopo de. kms:ViaService

  • AllowCallerCryptoOps— Permite que o usuário ou a função do IAM criptografe e descriptografe, de acordo com o escopo e o contexto de criptografia. kms:ViaService

  • AllowServicePrincipalDecrypt— Permite que o responsável pelo AgentCore serviço decifre durante a avaliação on-line, com base na conta de origem e no ARN de origem.

{ "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" } } } ] }

A política contém as seguintes declarações:

  • AllowCallerAccess— Concede kms:DescribeKey permissão à função do IAM, com escopo definido para solicitações feitas por meio do AgentCore serviço (kms:ViaService). 111122223333Substitua pelo ID da sua conta, MyEvaluationRole pela função ou usuário do IAM que gerencia os avaliadores e us-east-1 pela sua AWS região.

  • AllowCallerCryptoOps— Concede a função kms:GenerateDataKey e kms:Decrypt as permissões do IAM, de acordo com o escopo kms:ViaService e o contexto aws:bedrock-agentcore:evaluatorArn de criptografia. Substitua 111122223333MyEvaluationRole,us-east-1,, e my-evaluator-id por seus valores. Para permitir o acesso a todos os avaliadores em sua conta, use um curinga comStringLike:. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Observe que, ao usar um caractere curinga, você deve alterar o operador de condição de StringEquals paraStringLike, porque StringEquals trata como um caractere literal.

  • AllowServicePrincipalDecrypt— Concede kms:Decrypt permissão ao principal do AgentCore serviço para descriptografar os dados do avaliador durante a execução da avaliação on-line. Definido por conta de origem e ARN de origem aws:SourceArn () para evitar ataques confusos de deputados. Substitua us-east-1 e 111122223333 por sua região e ID da conta.

Criação de um avaliador com uma chave KMS gerenciada pelo cliente

Para criptografar um avaliador personalizado, especifique o kmsKeyArn parâmetro ao chamar. CreateEvaluator

exemplo
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']}")

Alterando a configuração de criptografia em um avaliador existente

Você pode alterar a configuração de criptografia em um avaliador existente usando UpdateEvaluator:

  • Adicionar criptografia — Especifique um kmsKeyArn em um avaliador que foi criado sem uma. O serviço criptografa as instruções e a escala de classificação com a nova chave.

  • Tecla de rotação — especifique uma diferentekmsKeyArn. O serviço descriptografa os dados com a chave antiga e os criptografa novamente com a nova chave. O chamador deve ter permissões nas duas teclas. Se a chave antiga não estiver disponível (permissões desativadas, excluídas ou ausentes), a atualização falhará.

nota

Você não pode remover a criptografia de chave gerenciada pelo cliente de um avaliador depois de adicionada.

Definindo o escopo do acesso à chave KMS gerenciada pelo cliente

Você pode usar o contexto de criptografia para reduzir o acesso à chave gerenciada pelo cliente. AgentCore As avaliações incluem o seguinte contexto de criptografia em todas as operações do KMS:

{ "aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/evaluator-id" }

Você pode usar esse contexto de criptografia nas principais condições de política para restringir as operações do KMS a avaliadores específicos, conforme mostrado na AllowCallerCryptoOps declaração no exemplo de política de chaves acima. Observe que AllowServicePrincipalDecrypt usa aws:SourceArn para escopo em vez de contexto de criptografia.

Monitorando a interação AgentCore das avaliações com AWS KMS

Você pode usar AWS CloudTrail para rastrear as solicitações da API KMS que o AgentCore Evaluations faz em seu nome. Os seguintes nomes de CloudTrail eventos aparecem em seus registros:

  • GenerateDataKey— Ao criar ou atualizar um avaliador com uma chave gerenciada pelo cliente.

  • Decrypt— Ao recuperar dados do avaliador, durante a avaliação sob demanda ou durante a execução da avaliação on-line.

  • DescribeKey— Ao validar a chave na criação, atualização ou criação da configuração de avaliação on-line do avaliador.

Nas entradas do CloudTrail registro, o requestParameters.encryptionContext campo contém aws:bedrock-agentcore:evaluatorArn o ARN do avaliador. Para solicitações feitas pelo diretor do serviço durante a avaliação on-line, o userIdentity.invokedBy campo é exibidobedrock-agentcore.amazonaws.com.

Para obter mais informações sobre o monitoramento do uso do KMS, consulte Registrar chamadas da API AWS KMS com AWS CloudTrail o AWS Key Management Service Developer Guide.

Comportamento quando uma chave fica indisponível

Se você desativar ou excluir sua chave KMS gerenciada pelo cliente ou se a política de chaves não conceder mais as permissões necessárias:

  • GetEvaluator com ALL_DATA — Falha porque o serviço não consegue decifrar as instruções e a escala de classificação.

  • GetEvaluator com METADATA_ONLY — É bem-sucedido porque nenhuma operação KMS é necessária.

  • Avaliação (sob demanda) — Falha para CMK-encrypted os avaliadores porque o serviço não consegue decifrar as instruções.

  • UpdateEvaluator (rotação de chaves) — Falha porque o serviço não consegue descriptografar os dados existentes com a chave indisponível antes de criptografar novamente com a nova chave.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Falha porque o serviço não pode validar o acesso do chamador por meio kms:DescribeKey de execução a seco. kms:Decrypt

  • Execução da avaliação on-line — falha porque o serviço não consegue decifrar as instruções do avaliador para pontuação.

  • DeleteEvaluator— É bem-sucedido porque a exclusão não exige a descriptografia dos dados do avaliador.

  • DeleteOnlineEvaluationConfig— É bem-sucedido porque a exclusão não requer acesso ao KMS.

dica

Use includedData=METADATA_ONLY on GetEvaluator para recuperar os metadados do avaliador (nome, nível, configuração do modelo, status) sem exigir permissões do KMS. Isso é útil para monitorar e inventariar fluxos de trabalho quando a chave não está disponível.

Para restaurar o acesso, reative a chave ou atualize a política de chaves para conceder as permissões necessárias.

nota

Para obter informações sobre criptografia de chave gerenciada pelo cliente para conjuntos de dados, consulte Criptografia de conjuntos de dados.