Criptografe seu AgentCore gateway com uma chave KMS gerenciada pelo cliente
Por padrão, o Gateway criptografa seus dados em repouso usando uma chave de serviço de gerenciamento de AWS chaves gerenciada pelo serviço. No entanto, você pode, opcionalmente, fornecer sua própria chave KMS gerenciada pelo cliente para criptografar dados em repouso quando você:
-
Crie um gateway.
-
Atualize as configurações de um gateway.
O uso de uma chave gerenciada pelo cliente oferece mais controle sobre o processo de criptografia, incluindo a capacidade de:
-
Gire a chave de acordo com sua própria programação
-
Controle o acesso à chave por meio de políticas do IAM
-
Desative ou exclua a chave quando ela não for mais necessária
-
Audite o uso da chave por meio CloudWatch de registros e AWS CloudTrail
Para obter mais informações, consulte o Guia do desenvolvedor do AWS Key Management Service.
nota
Se você optar por usar uma chave gerenciada pelo cliente, será responsável por gerenciar a chave e suas permissões. Se a chave for desativada ou excluída, ou se o Gateway perder a permissão para usar a chave, você perderá o acesso aos dados criptografados.
Pré-requisitos para criptografar seu gateway AgentCore
Antes de criptografar seu gateway, verifique se você atendeu aos seguintes pré-requisitos:
-
Você tem acesso a uma chave KMS. Para obter informações sobre como criar uma chave KMS, consulte Criar uma chave KMS.
-
A chave KMS tem uma política de chaves anexada que permite as seguintes permissões:
-
Permissões que permitem que a função de serviço de gateway execute as seguintes ações:
-
kms:CreateGrant
-
kms:DescribeKey
-
kms:Decrypt
-
kms:GenerateDataKey
-
-
(Se você habilitar CloudWatch Logs para seu gateway) Permissões que permitem que o serviço CloudWatch Logs descriptografe a chave.
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 Key Management Service.
-
Exemplo de política de chaves
O exemplo de política a seguir fornece as permissões necessárias para criptografar um gateway e usar um gateway criptografado. A quarta declaração também permite que CloudWatch os registros registrem o uso da chave para o gateway criptografado. A política contém chaves de condição para se adequar às melhores práticas de segurança.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowServiceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] } } }, { "Sid": "AllowServiceRoleDecryptKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowServiceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ], "kms:GrantConstraintType": "EncryptionContextSubset" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowKMSDecryptionLogging", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:123456789012:*" } } } ] }
A política contém as seguintes declarações:
-
AllowServiceRoleDescribeKKey— Permite que o principal especificado descreva a chave se a solicitação for feita por meio do AgentCore serviço. Substitua os valores nos seguintes campos:
-
Principal— Substitua oAWSvalor pelo ARN real da sua função de serviço de gateway. -
Condition— Nakms:ViaServicematriz,us-east-1substitua pela AWS região real para a qual você deseja permitir que a chave seja descrita.
-
-
AllowServiceRoleDecryptKey— Permite que o principal especificado decifre a chave se a solicitação for feita por meio do AgentCore serviço e se o ARN do gateway para o qual a solicitação foi feita corresponder ao do campo.
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnSubstitua os valores a seguir:-
Principal— Substitua oAWSvalor pelo ARN real da sua função de serviço de gateway. -
Condition— Faça o seguinte:-
Na
kms:ViaServicematriz,us-east-1substitua pela AWS região real para a qual você deseja permitir que a chave seja descriptografada. -
Substitua o
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvalor pelo ARN real do seu gateway.
-
-
-
AllowServiceRoleCreateGrant— Permite que o principal especificado crie uma concessão para uma chave se a solicitação for feita por meio do AgentCore serviço e se o ARN do gateway para o qual a solicitação foi feita corresponder ao do
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arncampo. Substitua os valores a seguir:-
Principal— Substitua oAWSvalor pelo ARN real da sua função de serviço de gateway. -
Condition— Faça o seguinte:-
Na
kms:ViaServicematriz,us-east-1substitua pela AWS região real para a qual você deseja permitir que a chave seja descriptografada. -
Substitua o
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvalor pelo ARN real do seu gateway (se você quiser permitir).
-
-
-
AllowKMSDecryptionLogging— Permite que o principal especificado decifre uma chave KMS gerenciada pelo cliente para auditar o uso da chave por meio do Logs. CloudWatch No
kms:EncryptionContext:SourceArnvalor, substituaus-east-1e123456789012valores por sua AWS região real e ID da conta.