Criptografia da autorização de conexão do EventBridge com chaves AWS KMS - Amazon EventBridge

Criptografia da autorização de conexão do EventBridge com chaves AWS KMS

Ao criar ou atualizar uma conexão, você pode especificar parâmetros de autorização para essa conexão. O EventBridge acaba armazenando em segurança esses parâmetros em um segredo no AWS Secrets Manager. Por padrão, o EventBridge usa uma Chave pertencente à AWS para criptografar e descriptografar esse segredo. Em vez disso, você pode especificar que o EventBridge use uma chave gerenciada pelo cliente.

Política de chave AWS KMS para conexões

A política de chave AWS KMS deve conceder ao EventBridge as seguintes permissões em seu nome:

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

O exemplo da política a seguir concede todas as permissões do AWS KMS.

JSON
{ "Id": "key-policy-example", "Version":"2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::012345678901:root" }, "Action": "kms:*", "Resource": "*" } ] }

Para que o EventBridge use uma chave gerenciada pelo cliente, você deve adicionar uma tag de recurso à chave com uma chave de EventBridgeApiDestinations e um valor de true. Para obter mais informações sobre tags de recurso, consulte Adicionar tags a uma chave KMS no Guia de desenvolvedor do AWS Key Management Service.

Como melhor prática de segurança, é recomendável incluir chaves de condição na política de chave para ajudar a garantir que o EventBridge só use a chave KMS para a conta ou o recurso especificado. Para obter mais informações, consulte Considerações sobre segurança.

"Condition": { "StringLike": { "kms:ViaService": "secretsmanager.*.amazonaws.com", "kms:EncryptionContext:SecretARN": [ "arn:aws:secretsmanager:*:*:secret:events!connection/*" ] }, "StringEquals": { "aws:ResourceTag/EventBridgeApiDestinations": "true" } }

Contexto de criptografia da conexão

Um contexto de criptografia é um conjunto de pares de chave-valor que contêm dados arbitrários não secretos. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, o AWS KMS vincula de forma criptográfica o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você deve passar o mesmo contexto de criptografia.

Você também pode usar o contexto de criptografia como uma condição para autorização em políticas e concessões.

Se você usar uma chave gerenciada pelo cliente para proteger seus recursos do EventBridge, poderá usar o contexto de criptografia para identificar o uso da KMS key em registros e logs de auditoria. Ele também é exibido em texto simples em logs, como AWS CloudTrail e Amazon CloudWatch Logs.

Para conexões, o EventBridge usa o mesmo contexto de criptografia em todas as operações criptográficas do AWS KMS. O contexto inclui um único par de chave-valor, que contém o ARN do segredo.

"encryptionContext": { "kms:EncryptionContext:SecretARN": "secret-arn" }

Uso de chaves gerenciadas pelo cliente entre contas ou regiões para conexões

Você pode permitir a usuários ou perfis em uma conta da AWS diferente usar uma chave KMS na conta. O acesso entre contas requer permissão na política de chaves da chave do KMS e em uma política do IAM na conta do usuário externo.

Para usar uma chave gerenciada pelo cliente de outra conta, a conta com a chave gerenciada pelo cliente deve incluir a seguinte política:

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account:role/AmazonEventBridgeApiDestinationsInternalServiceRolePolicy" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }

Para obter mais informações, consulte Permissão para usuários em outras contas usarem uma chave KMS no Guia de desenvolvedor do AWS Key Management Service.

Revogação do acesso da chave gerenciada pelo cliente a conexões

Lembre-se de que, quando você revoga uma chave gerenciada pelo cliente, desativando, excluindo ou fazendo o rodízio da chave ou atualizando a política de chave, o EventBridge pode ter armazenado em cache o valor da chave e, portanto, essa chave ainda pode reter o acesso ao segredo de uma conexão por um curto período.

Para revogar imediatamente o acesso da chave gerenciada pelo cliente ao segredo de uma conexão, desautorize ou exclua a conexão. Para obter mais informações, consulte Desautorizar conexões e Excluir conexões.

Desautorização da conexão por causa de erros na chave gerenciada pelo cliente

O EventBridge desautorizará uma conexão se encontrar os seguintes erros ao tentar criptografar ou descriptografar o segredo da conexão:

  • A chave gerenciada pelo cliente foi excluída.

  • A chave gerenciada pelo cliente foi desativada.

  • A conexão não tem as permissões necessárias para acessar a chave gerenciada pelo cliente.

Para obter mais informações, consulte Desautorizar conexões.