View a markdown version of this page

Criptografia em repouso para AgentCore avaliações - Base da Amazônia AgentCore

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criptografia em repouso para AgentCore avaliações

nota

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

Opções de criptografia

O Amazon Bedrock AgentCore Evaluations criptografa todos os dados em repouso por padrão 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 classificação do avaliador usando a 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 de AWS propriedade.

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 de chaves

  • 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 a 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 ter kms:GenerateDataKeykms:Decrypt, e kms:DescribeKey permissões na chave.

Para avaliação on-line, o serviço descriptografa as instruções do avaliador de forma assíncrona usando seu próprio serviço principal (). bedrock-agentcore.amazonaws.com O diretor do 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 às quais fazem referência.

Configurando uma chave KMS gerenciada pelo cliente

AgentCore As avaliações suportam somente chaves KMS de criptografia simétrica. A chave KMS deve estar na mesma AWS região do avaliador. Para obter informações sobre como criar 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 chave 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 viaDescribeKey, com escopo definido por. 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 principal do AgentCore serviço decifre durante a avaliação on-line, com o escopo da conta de origem e do 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 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 da aws:bedrock-agentcore:evaluatorArn 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 curinga, você deve alterar o operador de condição de StringEquals paraStringLike, porque StringEquals trata como um caractere literal.

  • AllowServicePrincipalDecrypt— Concede ao diretor do AgentCore serviço kms:Decrypt permissão para descriptografar os dados do avaliador durante a execução da avaliação on-line. Escopo por conta de origem e ARN de origem (aws:SourceArn) para evitar ataques secundários confusos. Substitua us-east-1 e 111122223333 por sua região e ID de 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 em ambas as teclas. Se a chave antiga não estiver disponível (desativada, excluída ou sem permissões), a atualização falhará.

nota

Você não pode remover a criptografia de chave gerenciada pelo cliente de um avaliador depois que ela for 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 o escopo em vez do 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 a 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 de 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 mostrabedrock-agentcore.amazonaws.com.

Para obter mais informações sobre o monitoramento do uso do KMS, consulte Registrando chamadas de API do AWS KMS AWS CloudTrail no Guia do desenvolvedor do AWS Key Management Service.

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 descriptografar 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 descriptografar 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 via kms:DescribeKey e kms:Decrypt execução a seco.

  • 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-sucedida porque a exclusão não exige a descriptografia dos dados do avaliador.

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

dica

Use includedData=METADATA_ONLY on GetEvaluator para recuperar metadados do avaliador (nome, nível, configuração do modelo, status) sem exigir permissões do KMS. Isso é útil para monitorar e inventar 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 a criptografia de chaves gerenciada pelo cliente para conjuntos de dados, consulte Criptografia de conjuntos de dados.