Gerenciamento de AWS KMS key - Amazon Relational Database Service

Gerenciamento de AWS KMS key

O Amazon RDS integra-se automaticamente ao AWS Key Management Service (AWS KMS) para o gerenciamento de chaves. O Amazon RDS usa criptografia de envelope. Para obter mais informações sobre a criptografia de envelope, consulte Criptografia de envelope no Guia do desenvolvedor do AWS Key Management Service.

Você pode usar dois tipos de chave do AWS KMS para criptografar clusters de banco de dados.

  • Se você quiser o controle total de uma chave do KMS, precisará criar uma chave gerenciada pelo cliente. Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte Chaves gerenciadas pelo cliente no Guia do desenvolvedor do AWS Key Management Service.

    Não é possível compartilhar um snapshot que foi criptografado usando a Chave gerenciada pela AWS da conta da AWS que o compartilhou.

  • Chaves gerenciadas pela AWS são chaves do KMS em sua conta que são criadas, gerenciadas e usadas em seu nome por um produto da AWS integrado ao AWS KMS. Por padrão, a Chave gerenciada pela AWS (aws/rds) do RDS é usada para criptografia. Você não pode gerenciar, nem rotacionar, nem excluir a Chave gerenciada pela AWS do RDS. Para obter mais informações sobre as Chaves gerenciadas pela AWS, consulte Chaves gerenciadas pela AWS no Guia do desenvolvedor do AWS Key Management Service.

Para gerenciar as chaves do KMS usadas para instâncias de banco de dados criptografadas do Amazon RDS, use o AWS Key Management Service (AWS KMS) no console do AWS KMS, na AWS CLI ou na API do AWS KMS. Para visualizar logs de auditoria de cada ação realizada com uma chave gerenciada pela AWS ou pelo cliente, use o AWS CloudTrail. Para obter mais informações sobre a alternância de chaves, consulte Alternância de chaves do AWS KMS.

Importante

Se você desativar ou revogar permissões para uma chave do KMS utilizada por um banco de dados do RDS, o RDS colocará seu banco de dados em um estado terminal quando o acesso a essa chave do KMS for necessário. Essa modificação pode ser imediata, ou adiada, dependendo do caso de uso que exige acesso à chave do KMS. Nesse estado, a instância de banco de dados deixa de estar disponível e o estado atual do banco de dados não pode ser recuperado. Para restaurar a instância de banco de dados, você deve reabilitar o acesso à chave do KMS para o RDS e, em seguida, restaurar a instância de banco de dados do backup mais recente disponível.

Como autorizar o uso de uma chave gerenciada pelo cliente

Quando o RDS utiliza uma chave gerenciada pelo cliente em operações criptográficas, ele atua em nome do usuário que está criando ou alterando o recurso do RDS.

Para criar um recurso do RDS usando uma chave gerenciada pelo cliente, um usuário deve ter permissões para acionar as seguintes operações na chave gerenciada pelo cliente:

  • kms:CreateGrant

  • kms:DescribeKey

Você pode especificar essas permissões em uma política de chaves ou em uma política do IAM, se a política de chaves permitir.

Você pode tornar a política do IAM mais rígida de várias maneiras. Por exemplo, se você quiser permitir que a chave gerenciada pelo cliente seja usada somente para solicitações provenientes do RDS, poderá utilizar a chave de condição kms:ViaService com o valor rds.<region>.amazonaws.com. Também é possível usar as chaves ou valores em Contexto de criptografia do Amazon RDS como uma condição para usar a chave gerenciada pelo cliente para criptografia.

Para obter mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS no Guia do desenvolvedor do AWS Key Management Service e em Políticas de chave no AWS KMS.

Contexto de criptografia do Amazon RDS

Quando o RDS usa sua chave do KMS ou quando o Amazon EBS usa a chave do KMS em nome do RDS, o serviço especifica um contexto de criptografia. O contexto de criptografia é dados autenticados adicionados (AAD) que o AWS KMS usa para garantir a integridade dos dados. Quando um contexto de criptografia é especificado para uma operação de criptografia, o serviço deve especificar esse mesmo contexto para a operação de descriptografia. Caso contrário, ocorrerá uma falha na descriptografia. O contexto de criptografia é também gravado nos logs do AWS CloudTrail para ajudar você a compreender por que uma determinada chave do KMS foi usada. Os logs do CloudTrail podem conter muitas entradas que descrevem o uso de uma chave do KMS, mas o contexto de criptografia em cada entrada de log pode ajudar a determinar o motivo desse uso específico.

No mínimo, o Amazon RDS sempre usa o ID da instância de banco de dados para o contexto de criptografia, como no seguinte exemplo em formato JSON:

{ "aws:rds:db-id": "db-CQYSMDPBRZ7BPMH7Y3RTDG5QY" }

Esse contexto de criptografia pode ajudar a identificar a instância de banco de dados para a qual a chave do KMS foi usada.

Quando a chave do KMS é usada em determinada instância de banco de dados e em um volume do Amazon EBS específico, o ID da instância de banco de dados e o ID do volume do Amazon EBS são usados no contexto de criptografia, como no seguinte exemplo em formato JSON:

{ "aws:rds:db-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ", "aws:ebs:id": "vol-ad8c6542" }