Criptografia em repouso do DynamoDB: como funciona
A criptografia em repouso do Amazon DynamoDB criptografa seus dados usando Advanced Encryption Standard de 256 bits (AES-256), o que ajuda a proteger seus dados contra acesso não autorizado ao armazenamento subjacente.
A criptografia em repouso integra-se com o AWS Key Management Service (AWS KMS) para o gerenciamento da chave de criptografia usada para criptografar suas tabelas.
nota
Em maio de 2022, o AWS KMS alterou o cronograma de alternância para Chaves gerenciadas pela AWS a cada 3 anos (aproximadamente 1.095 dias) para a cada ano (aproximadamente 365 dias).
Novas Chaves gerenciadas pela AWS são alternadas automaticamente um ano após serem criadas e aproximadamente a cada ano depois disso.
As Chaves gerenciadas pela AWS existentes são alternadas automaticamente um ano após sua alternância mais recente e a cada ano depois disso.
Chaves pertencentes à AWS
As Chaves pertencentes à AWS não são armazenadas na sua conta da AWS. Elas fazem parte de um conjunto de chaves do KMS que a AWS detém e gerencia para serem usadas em várias contas da AWS. Os serviços da AWS podem usar Chaves pertencentes à AWS para proteger os dados. As Chaves pertencentes à AWS usadas pelo DynamoDB são alternadas a cada ano (cerca de 365 dias).
Você não pode visualizar, gerenciar ou usar Chaves pertencentes à AWS, nem auditar seu uso. No entanto, você não precisa fazer nenhum trabalho nem alterar nenhum programa para proteger as chaves que criptografam seus dados.
Não é cobrada taxa mensal nem taxa de uso para usar Chaves pertencentes à AWS, e elas não são contabilizadas com base nas cotas do AWS KMS para a sua conta.
Chaves gerenciadas pela AWS
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. Você pode visualizar as Chaves gerenciadas pela AWS na sua conta, visualizar suas políticas de chaves e auditar o uso delas em logs do AWS CloudTrail. No entanto, não é possível gerenciar essas chaves do KMS nem alterar suas permissões.
A criptografia em repouso integra-se automaticamente com o AWS KMS para o gerenciamento das Chaves gerenciadas pela AWS para o DynamoDB (aws/dynamodb
), usadas para criptografar suas tabelas. Se uma Chave gerenciada pela AWS não existir quando você criar sua tabela do DynamoDB criptografada, o AWS KMS criará automaticamente uma nova chave para você. Essa chave é usada com tabelas criptografados que são criados no futuro. O AWS KMS integra hardware e software seguros e altamente disponíveis para oferecer um sistema de gerenciamento de chaves escalonado para a nuvem.
Para obter mais informações sobre como gerenciar as permissões de Chave gerenciada pela AWS, consulte Autorizar uso de Chave gerenciada pela AWS no Guia do Desenvolvedor do AWS Key Management Service.
Chaves gerenciadas pelo cliente
Chaves gerenciadas pelo cliente são chaves do KMS disponíveis na sua conta do AWS que você cria, detém e gerencia. Você tem controle total sobre essas chaves do KMS, inclusive para estabelecer e manter as políticas de chaves, as políticas do IAM e as concessões; habilitar e desabilitar as chaves do KMS; alternar seu material de criptografia; adicionar tags; criar aliases que fazem referência a elas; e programar a exclusão delas. Para obter mais informações sobre como gerenciar as permissões de uma chave gerenciada pelo cliente, consulte Política de chave gerenciada pelo cliente.
Quando você especifica uma chave gerenciada pelo cliente como a chave de criptografia em nível de tabela, a tabela, os índices secundários local e global e os fluxos do DynamoDB são criptografados com a mesma chave gerenciada pelo cliente. Os backups sob demanda são criptografados com a chave de criptografia no nível da tabela que é especificada no momento da criação do backup. A atualização da chave de criptografia no nível da tabela não altera a chave de criptografia associada aos backups sob demanda existentes.
Definir o estado da chave gerenciada pelo cliente como desabilitada ou programá-la para exclusão evita que todos os usuários e o serviço DynamoDB possam criptografar ou descriptografar dados e realizar operações de leitura e gravação na tabela. O DynamoDB deve ter acesso à sua chave de criptografia para garantir que você possa continuar acessando sua tabela e para evitar a perda de dados.
Se você desabilitar a chave gerenciada pelo cliente ou programá-la para exclusão, o status da tabela passará para Inaccessible (Inacessível). Para garantir que você possa continuar trabalhando com a tabela, é necessário conceder ao DynamoDB acesso à chave de criptografia especificada em até sete dias. Assim que o serviço detectar que a chave de criptografia está inacessível, o DynamoDB enviará uma notificação por e-mail para alertar você.
nota
-
Se a chave gerenciada pelo cliente permanecer inacessível para o serviço DynamoDB por mais de sete dias, a tabela será arquivada e não poderá mais ser acessada. O DynamoDB criará um backup sob demanda da tabela e você será cobrado por ele. É possível usar esse backup sob demanda a fim de restaurar seus dados para uma nova tabela. Para iniciar a restauração, a última chave gerenciada pelo cliente na tabela deve estar habilitada e o DynamoDB deve ter acesso a ela.
-
Se a chave gerenciada pelo cliente que foi usada para criptografar uma réplica de tabela global estiver inacessível, o DynamoDB removerá essa réplica do grupo de replicação. A réplica não será excluída e a replicação será interrompida de e para essa região 20 horas após detectar que a chave gerenciada pelo cliente está inacessível.
Para obter mais informações, consulte habilitar chaves e excluir chaves.
Observações sobre o uso de Chaves gerenciadas pela AWS
O Amazon DynamoDB não consegue ler os dados da tabela, a menos que tenha acesso à chave do KMS armazenada em sua conta da AWS KMS. O DynamoDB usa criptografia envelopada e hierarquia de chaves para criptografar dados. A chave de criptografia do AWS KMS é usada para criptografar a chave raiz dessa hierarquia de chaves. Para obter mais informações, consulte Criptografia envelopada no Guia do desenvolvedor do AWS Key Management Service.
Você pode usar o AWS CloudTrail e o Amazon CloudWatch Logs para rastrear as solicitações que o DynamoDB envia para o AWS KMS em seu nome. Para obter mais informações, consulte Monitorar interação do DynamoDB com o AWS KMS no Guia do desenvolvedor do AWS Key Management Service.
O DynamoDB não chama AWS KMS para cada operação do DynamoDB. A chave é atualizada uma vez a cada cinco minutos por chamador com tráfego ativo.
Verifique se configurou o SDK para reutilizar conexões. Caso contrário, você experimentará latências do DynamoDB tendo que reestabelecer novas entradas de cache do AWS KMS para cada operação do DynamoDB. Além disso, talvez seja necessário enfrentar custos mais altos do AWS KMS e do CloudTrail. Por exemplo, para fazer isso usando SDK de Node.js, você pode criar um novo agente HTTPS com keepAlive
ativado. Para obter mais informações, consulte Configurar keepAlive em Node.js no Guia do desenvolvedor do AWS SDK for JavaScript.