View a markdown version of this page

Criptografe seu mecanismo AgentCore de políticas com uma chave KMS gerenciada pelo cliente - Amazon Bedrock AgentCore

Criptografe seu mecanismo AgentCore de políticas com uma chave KMS gerenciada pelo cliente

O Policy in AgentCore fornece criptografia por padrão para proteger dados confidenciais do cliente em repouso usando chaves de criptografia AWS próprias. Como uma camada extra de proteção, o Policy in AgentCore permite que você criptografe seus mecanismos de políticas usando chaves gerenciadas pelo cliente (CMK) do AWS Key Management Service (AWS KMS). Essa funcionalidade garante a proteção de dados confidenciais por meio de criptografia em repouso, o que ajuda você a:

  • Reduza a carga operacional do lado do serviço para proteger dados confidenciais

  • Mantenha o controle sobre quem pode ver os detalhes de suas políticas de autorização por meio de suas próprias chaves gerenciadas pelo cliente do AWS KMS

  • Criar aplicações com exigências de segurança que atendam a rigorosos requisitos regulatórios e de conformidade de criptografia.

As seções a seguir explicam como configurar a criptografia para novos mecanismos de políticas e gerenciar suas chaves de criptografia.

nota

A política de AgentCore criptografia em repouso está disponível em todas as AWS regiões em que a Política de AgentCore entrada está disponível.

AWS Tipos de chaves KMS para Política em AgentCore

O Policy in AgentCore se integra ao AWS KMS para gerenciar as chaves de criptografia usadas para criptografar e descriptografar dados do cliente. Para saber mais sobre os tipos e estados de chaves, consulte os conceitos do AWS Key Management Service no Guia do desenvolvedor do AWS KMS. Ao criar um novo mecanismo de política, você pode escolher entre os seguintes tipos de chave AWS KMS para criptografar seus dados:

AWS chave de propriedade

O tipo de criptografia padrão. O Policy in AgentCore possui a chave sem custo adicional para você e criptografa os dados do recurso em repouso no momento da criação. Nenhuma configuração adicional é necessária em seu código ou aplicativos para criptografar ou descriptografar seus dados usando a chave de propriedade da Policy in. AgentCore Você não precisa visualizar, gerenciar, usar ou auditar essas chaves. Para obter mais informações, consulte chaves AWS próprias no Guia do desenvolvedor do AWS KMS.

Chave gerenciada pelo cliente

Você cria, possui e gerencia a chave na sua AWS conta. Você tem controle total sobre a chave KMS. AWS As cobranças do KMS se aplicam às chaves gerenciadas pelo cliente. Para obter mais informações, consulte a página de preços do AWS KMS. Para obter mais informações sobre os tipos de chaves, consulte Chaves gerenciadas pelo cliente no Guia do desenvolvedor do AWS KMS.

Quando você especifica uma chave gerenciada pelo cliente para criptografia de um mecanismo de política, o Policy in AgentCore criptografa o mecanismo de política e todos os seus recursos secundários (políticas, gerações de políticas) com essa chave. Para criptografar um mecanismo de política usando uma chave gerenciada pelo cliente, você precisa conceder acesso à Política AgentCore em sua política de chaves. Uma política de chaves é uma política baseada em recursos que você anexa à chave gerenciada pelo cliente para controlar o acesso a ela. Consulte Autorizando o uso de sua chave AWS KMS para a Política em AgentCore para obter mais detalhes.

Além disso, para criar um mecanismo de política criptografado com uma chave gerenciada pelo cliente ou para fazer chamadas de API para um mecanismo de política criptografado por uma chave gerenciada pelo cliente, o usuário ou a função do IAM que faz a chamada também deve ter acesso à chave. Se o Policy in AgentCore não conseguir acessar a chave, qualquer decisão de autorização que envolva recursos criptografados por essa chave será negada. Quando você não tiver acesso à chave, não poderá ler, atualizar ou excluir recursos criptografados por essa chave, e qualquer chamada de criação para utilizar a chave para criptografia falhará.

Importante

Depois que uma chave gerenciada pelo cliente for usada para criptografar um mecanismo de política, você NÃO PODE atualizar o recurso para usar uma chave diferente para criptografia ou remover a chave desse mecanismo de política.

Utilizar AWS KMS e chaves de dados com a Política em AgentCore

O recurso Política de AgentCore criptografia em repouso usa uma chave KMS e uma hierarquia de chaves de dados para proteger seus dados de recursos.

nota

A política em AgentCore suporta somente chaves AWS KMS simétricas. Você não pode usar uma chave KMS assimétrica para criptografar sua política em recursos. AgentCore

O Policy in AgentCore usa um modelo baseado em doações para acessar sua chave gerenciada pelo cliente. Quando você cria um mecanismo de política com uma chave gerenciada pelo cliente, o Policy in AgentCore executa as seguintes etapas:

  1. A política em AgentCore valida a chave para garantir que ela seja uma chave de criptografia simétrica com uso da ENCRYPT_DECRYPT chave e esteja no Enabled estado.

  2. A política AgentCore cria duas concessões do AWS KMS em seu nome. Para criar essas concessões, use a política de AgentCore chamadas kms:CreateGrant usando sua identidade por meio de uma sessão de acesso direto (FAS). Como a CreateGrant chamada é feita com suas credenciais via FAS, sua política de chaves do AWS KMS deve conceder kms:CreateGrant permissão ao diretor da sua AWS conta (não ao diretor de serviço). As concessões em si permitem então que AgentCore a Policy in realize operações criptográficas em seu nome sem exigir mais envolvimento do chamador.

  3. Todos os dados da política (políticas, gerações de políticas e recursos relacionados no mecanismo de políticas) são criptografados usando sua chave gerenciada pelo cliente.

Os dois subsídios têm propósitos diferentes:

Subsídio de gestão de políticas

Usado para gerenciar dados de políticas. Essa concessão permite criptografar, descriptografar e gerar operações de chave de dados para criar, ler, atualizar e excluir políticas e recursos relacionados.

Bolsa de avaliação de políticas

Usado para avaliação da política de tempo de execução. Essa concessão permite operações de descriptografia e recriptografia para que o mecanismo de políticas possa avaliar as políticas do Cedar em relação às solicitações de autorização recebidas.

Ambas as concessões são restringidas pelo contexto de criptografia usando a chaveaws:bedrock-agentcore-policy:policy-engine-arn, que vincula as concessões ao recurso específico do mecanismo de políticas.

Quando você exclui um mecanismo de política com uma chave gerenciada pelo cliente, o Policy in retira AgentCore automaticamente as duas concessões.

Importante

Se você precisar revogar as concessões manualmente, sempre revogue a concessão de gerenciamento de políticas e a concessão de avaliação de políticas. Revogar apenas uma concessão não remove totalmente o acesso do serviço à sua chave e pode resultar em um comportamento inconsistente. Você pode visualizar e gerenciar concessões para sua chave usando o console AWS KMS ou o comando list-grants AWS CLI.

Autorizando o uso de seu AWS Chave KMS para política em AgentCore

Para usar uma chave gerenciada pelo cliente com a Política em AgentCore, sua política de chaves do AWS KMS deve conceder permissões para sua AWS conta. Ao criar um mecanismo de política, use a Política em AgentCore chamadas kms:CreateGrant usando sua identidade por meio de uma sessão de acesso direto (FAS). Como resultado, a política de chaves deve conceder kms:CreateGrant e outras permissões necessárias ao responsável pela conta principal (não ao responsável pelo serviço) e usa a kms:ViaService condição para garantir que a chave seja usada somente por meio da Política em AgentCore.

No mínimo, o Policy in AgentCore exige as seguintes permissões em uma chave gerenciada pelo cliente:

  • kms:CreateGrant— Crie subsídios para criptografar, descriptografar, gerar chave de dados, recriptografar e descrever as principais operações

  • kms:Decrypt— Descriptografar dados criptografados com a chave

  • kms:GenerateDataKey— Gere chaves de dados para criptografar dados de políticas

  • kms:DescribeKey— Recupere os principais metadados para validar a configuração da chave

Entendendo o contexto da fonte

O contexto de origem fornece informações sobre o chamador de origem tentando realizar ações AWS KMS em relação a uma determinada chave. Isso evita confusão ou uso indevido de dados criptografados ao vincular o contexto à fonte dos dados.

Quando a Policy in AgentCore executa operações do AWS KMS por meio de concessões em seu nome, o contexto de origem identifica a Política no AgentCore recurso que iniciou a solicitação. Você pode usar o contexto de origem como condições adicionais nas operações baseadas em doações em sua política de chaves para restringir o uso de chaves a solicitações provenientes de contas ou recursos específicos.

nota

As condições do contexto de origem (aws:SourceAccounteaws:SourceArn) estão disponíveis nas operações AWS KMS baseadas em doações, mas não na kms:CreateGrant chamada, que usa uma sessão de acesso direto.

Por exemplo, você pode adicionar aws:SourceArn condições às operações aws:SourceAccount e declarações de validação do KMS em sua política de chaves para garantir que essas operações sejam bem-sucedidas somente quando a solicitação for originada da sua conta e dos recursos do mecanismo de políticas:

{ "Sid": "Allow Policy for KMS operations with source context", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:policy-engine/*", "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }

Essa política de chaves permite que AgentCore a Policy in faça chamadas AWS KMS em seu nome por meio de concessões, se a conta de origem for a mesma da conta em que essa chave KMS reside. Esses valores devem ser verificáveis ao verificar os registros de CloudTrail auditoria da chave KMS. Para obter mais informações sobre chaves de AWS condição globais, consulte Usando chaves de SourceAccount condição aws: SourceArn ou aws: no Guia do desenvolvedor do AWS KMS.

Entendendo o kms: ViaService

A chave de kms:ViaService condição limita o uso de uma chave KMS às solicitações de AWS serviços especificados. Essa chave de condição se aplica às sessões de acesso direto (FAS). Para obter mais informações sobrekms:ViaService, consulte kms: ViaService no Guia do desenvolvedor do AWS KMS.

Na política principal, o kms:ViaService valor segue o formatobedrock-agentcore.REGION.amazonaws.com, onde REGION é a AWS região em que seu mecanismo de política é criado (por exemplo,bedrock-agentcore.us-east-1.amazonaws.com).

Entendendo o contexto de criptografia

O contexto de criptografia é um conjunto de pares de valores-chave que contêm dados autenticados adicionais para verificações de integridade da criptografia. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, o AWS KMS vincula criptograficamente o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você deve passar o mesmo contexto de criptografia. Para obter mais informações, consulte Contexto de criptografia no Guia do desenvolvedor do AWS KMS.

O Policy in AgentCore usa o seguinte contexto de criptografia em todas as operações criptográficas do AWS KMS e pode ser verificado nos CloudTrail registros quando o Policy in AgentCore faz chamadas AWS KMS em seu nome para processos de criptografia e descriptografia:

{ "aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:policy-engine/POLICY_ENGINE_ID" }

Você pode usar esse contexto de criptografia em suas principais condições de política para restringir quais mecanismos de política podem usar a chave. Por exemplo, a política de chaves na seção a seguir usa uma kms:EncryptionContext condição para permitir que a chave seja usada somente para recursos do mecanismo de políticas.

Concluído AWS Política de chaves do KMS

Com base nos conceitos das seções anteriores, o exemplo de política de chaves a seguir fornece as permissões necessárias para criptografar um mecanismo de política e usar um mecanismo de política criptografado. A política contém chaves de condição para se adequar às melhores práticas de segurança.

Importante

Substitua os seguintes valores na política de chaves: * 111122223333 — Substitua pelo ID AWS da sua conta * us-east-1 — Substitua pela sua AWS região

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Policy to create grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] } } }, { "Sid": "Allow Policy for KMS operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }, { "Sid": "Allow Policy for KMS validation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } } ] }

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

Permitir que a Política crie subsídios

Permite que o chamador crie concessões AWS KMS ao criar um mecanismo de política. A kms:GrantConstraintType condição garante que as concessões sejam restringidas pelo contexto de criptografia. A ForAllValues:StringEquals condição “on” kms:GrantOperations restringe a concessão somente às operações criptográficas exigidas pela Policy in AgentCore .

Política de permissões para operações do KMS

Permite que o chamador execute a decodificação e gere operações de chave de dados por meio do Policy in. AgentCore A condição do contexto de criptografia garante que essas operações tenham como escopo os recursos do mecanismo de políticas.

Permitir política para validação do KMS

Permite que o chamador descreva a chave por meio da Política em AgentCore. Essa permissão é usada durante a criação do mecanismo de políticas para validar se a chave atende aos requisitos (simétrico, habilitado, uso correto da chave).

Importante

Tenha cuidado ao modificar as políticas de chaves do AWS KMS para chaves já em uso pela Policy in. AgentCore Se você remover inadvertidamente as permissões necessárias da política de chaves, o Policy in não AgentCore poderá mais descriptografar os dados da política e todas as decisões de autorização serão negadas. Qualquer operação que exija acesso aos dados criptografados (como criar, ler, atualizar ou excluir políticas) também falhará.

Pré-requisitos para criptografar seu mecanismo de políticas

Antes de criptografar seu mecanismo de políticas, verifique se você atendeu aos seguintes pré-requisitos:

  • Você tem acesso a uma chave KMS. Para obter informações sobre a criação de uma chave KMS, consulte Criar uma chave KMS no Guia do desenvolvedor do AWS KMS.

  • A chave KMS deve ser uma chave de criptografia simétrica com o uso da ENCRYPT_DECRYPT chave.

  • A chave KMS deve estar no estado Ativado.

  • A chave KMS tem uma política de chaves anexada que concede as permissões necessárias. Consulte a política de chaves completa do AWS KMS para ver a política de chaves necessária.

Para obter mais informações sobre como controlar as permissões do IAM para uma chave KMS, consulte Acesso e permissões da chave KMS no Guia do desenvolvedor do AWS KMS.

Criação de um mecanismo de política criptografado

Antes de criar um mecanismo de política criptografado, certifique-se de que a chave gerenciada pelo cliente que você está usando tenha as declarações de política de chaves adequadas definidas para Policy in AgentCore para usar a chave para criptografia e descriptografia. Consulte Autorizando o uso de sua chave AWS KMS para a Política em AgentCore para obter as permissões necessárias.

Para criptografar seu mecanismo de políticas usando a AWS CLI, --encryption-key-arn inclua o parâmetro ao enviar create-policy-engine uma solicitação:

aws bedrock-agentcore-control create-policy-engine \ --name "MyPolicyEngine" \ --description "Policy engine with customer-managed encryption" \ --encryption-key-arn "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"

A resposta inclui o ARN e o status do mecanismo de políticas:

{ "policyEngineId": "MyPolicyEngine-abc123", "name": "MyPolicyEngine", "description": "Policy engine with customer-managed encryption", "policyEngineArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/MyPolicyEngine-abc123", "status": "CREATING", "statusReasons": [], "encryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdAt": "2026-02-24T12:00:00Z", "updatedAt": "2026-02-24T12:00:00Z" }
nota

Se a chave KMS em uso pelo seu mecanismo de políticas for excluída, desativada ou inacessível devido a uma política de chave AWS KMS incorreta, a descriptografia dos recursos falhará. Isso pode resultar em decisões de autorização negadas. A perda de acesso pode ser temporária (uma política de chave pode ser corrigida) ou permanente (uma chave excluída não pode ser restaurada), dependendo das circunstâncias. Recomendamos que você restrinja o acesso a operações críticas, como excluir ou desativar a chave KMS. Além disso, recomendamos que sua organização configure procedimentos de acesso AWS incomparáveis para garantir que seus usuários privilegiados possam acessar AWS no caso improvável de a Policy in AgentCore ficar inacessível.

Limitações

As seguintes limitações se aplicam à criptografia de chave gerenciada pelo cliente para mecanismos de políticas:

  • Você não pode desativar a criptografia de um mecanismo de políticas depois de ativada.

  • Depois de criar um mecanismo de política sem criptografia, você não pode atualizar o mecanismo de política para ser criptografado por uma chave gerenciada pelo cliente.

  • Depois de criar um mecanismo de política com uma chave gerenciada pelo cliente, você não pode alterar a chave nem removê-la desse mecanismo de política. Você deve criar um novo mecanismo de política para usar uma chave diferente.

  • A criptografia de chave gerenciada pelo cliente é configurada no nível do mecanismo de políticas. Todos os recursos do mecanismo de políticas, incluindo políticas e gerações de políticas, são criptografados usando a mesma chave gerenciada pelo cliente do mecanismo de políticas. Você não pode especificar chaves diferentes para recursos individuais em um mecanismo de política.

  • Depois de revogar o acesso AgentCore da Policy in a uma chave gerenciada pelo cliente para um mecanismo de política criptografado existente, todas as decisões de autorização serão negadas porque o mecanismo de política não pode mais descriptografar os dados da política.

Solução de problemas

Esta seção descreve erros comuns relacionados a chaves gerenciadas pelo cliente que você pode encontrar ao usar o Policy in AgentCore e fornece etapas de solução de problemas para resolvê-los.

Acesso negado: AWS Problema de permissão do KMS

Erro: “Acesso negado para a chave KMS especificada. Verifique se a política de chaves concede as permissões necessárias.”

Isso pode significar que o chamador não tem as permissões de ação kms: * necessárias na política do IAM ou na política de chaves do AWS KMS, ou que a chave referenciada não existe ou não existe mais.

Para resolver esse problema:

  1. Verifique se o ARN da chave KMS está correto e se a chave existe na região especificada.

  2. Verifique se a política de chaves do AWS KMS inclui as declarações necessárias. Consulte a política completa de chaves do AWS KMS.

  3. Verifique se a política do IAM do chamador inclui as permissões necessárias do AWS KMS (kms:CreateGrant,, kms:Decryptkms:GenerateDataKey,kms:DescribeKey).

  4. Verifique kms.amazonaws.com os eventos CloudTrail para identificar qual operação foi negada e qual principal a tentou.

Exceção de validação: AWS Configuração da chave do KMS

Erro: “A chave KMS especificada não está em um estado utilizável. Verifique se a chave está ativada e não está pendente de exclusão.”

Isso significa que a chave que está sendo referenciada não pode ser usada para criptografia de chave gerenciada pelo cliente devido à sua configuração atual. As possíveis causas incluem:

  • A chave está desativada ou está pendente de exclusão.

  • A chave não é uma chave de criptografia simétrica.

  • A chave não tem uso de ENCRYPT_DECRYPT chave.

Para resolver esse problema: verifique se a chave atende aos pré-requisitos descritos em Pré-requisitos para criptografar seu mecanismo de políticas.