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 de
DescribeKey, 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:DescribeKeypermissã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,MyEvaluationRolepela função ou usuário do IAM que gerencia os avaliadores eus-east-1pela sua AWS região. -
AllowCallerCryptoOps— Concede a função
kms:GenerateDataKeyekms:Decryptas permissões do IAM, de acordo com o escopokms:ViaServicee o contextoaws:bedrock-agentcore:evaluatorArnde criptografia. Substitua111122223333MyEvaluationRole,us-east-1,, emy-evaluator-idpor 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 deStringEqualsparaStringLike, porqueStringEqualstratacomo um caractere literal. -
AllowServicePrincipalDecrypt— Concede
kms:Decryptpermissã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 origemaws:SourceArn() para evitar ataques confusos de deputados. Substituaus-east-1e111122223333por 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
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
kmsKeyArnem 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 diferente
kmsKeyArn. 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:DescribeKeyde 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.