Alternar AWS KMS keys - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Alternar AWS KMS keys

Para criar um novo material criptográfico para suas chaves gerenciadas pelo cliente, você pode criar novas chaves do KMS e, em seguida, alterar suas aplicações ou seus aliases para usar essas novas chaves do KMS. Ou você pode habilitar a alternância automática de chaves para uma chave do KMS existente.

Quando você habilita a alternância automática de chaves para uma chave do KMS, o AWS KMS gera um novo material criptográfico para a chave do KMS a cada ano. O AWS KMS também salva todas as versões anteriores do material criptográfico perpetuamente para que possa ser usado para descriptografar dados criptografados por essa chave do KMS. O AWS KMS não exclui nenhum material de chaves alternadas até que você exclua a chave do KMS. Você pode acompanhar a rotação do material de chaves para suas chaves KMS na Amazon CloudWatch e. AWS CloudTrail

Quando você usa uma chave do KMS alternada para criptografar dados, o AWS KMS usa o material de chave atual. Quando você usa a chave do KMS alternada para descriptografar texto cifrado, o AWS KMS usa a versão do material de chave que foi usado para criptografá-lo. Você não pode solicitar uma versão específica do material de chave. Como o AWS KMS descriptografa de modo transparente com o material de chave adequado, você pode usar com segurança uma chave alternada do KMS em aplicações e Serviços da AWS sem alterações de código.

No entanto, a alternância automática de chaves não afeta os dados protegidos pela chave do KMS. Ela não alterna as chaves de dados geradas pela chave do KMS, não criptografa novamente quaisquer dados protegidos pela chave do KMS e não reduzirá o impacto de uma chave de dados comprometida.

O AWS KMS só é compatível com a alternância automática de chaves para chaves do KMS de criptografia simétrica com material de chave que o AWS KMS cria. A alternância automática é opcional para chaves do KMS gerenciadas pelo cliente. O AWS KMS sempre alterna o material de chave para chaves do KMS gerenciadas pela AWS a cada ano. A alternância de chaves do KMS de propriedade da AWS varia.

nota

O intervalo de alternância para Chaves gerenciadas pela AWS mudou em maio de 2022. Para obter detalhes, consulte Chaves gerenciadas pela AWS.

A alternância de chaves altera apenas o material de chave, que é o segredo criptográfico usado em operações de criptografia. A chave do KMS é o mesmo recurso lógico, independentemente da ocorrência de alterações ou do número de vezes que estas tenham sido feitas no material de chave. As propriedades da chave do KMS não são alteradas, conforme mostrado na imagem a seguir.

A alternância de chaves automática tem os seguintes benefícios:

  • As propriedades da chave do KMS, incluindo seu ID de chave, ARN de chave, região, políticas e permissões, não são alteradas quando há alternância na chave.

  • Não é necessário alterar aplicações ou aliases que fazem referência ao ID de chave ou ARN de chave da chave do KMS.

  • A alternância do material de chave não afeta o uso da chave do KMS em nenhum AWS service (Serviço da AWS).

  • Depois que você habilita a alternância de chaves, o AWS KMS alterna a chave do KMS automaticamente a cada ano. Você não precisa lembrar nem programar a atualização.

Você pode optar por criar uma nova chave do KMS e usá-la em vez da chave do KMS original. Isso tem o mesmo efeito que alternar o material da chave em uma chave do KMS existente e, portanto, normalmente é considerado como alternar manualmente a chave. A alternância manual é uma boa opção quando você deseja controlar a programação da mudança de chaves. Isso também fornece uma maneira de alternar chaves do KMS que não estejam qualificadas para alternância automática de chaves, incluindo chaves do KMS assimétricas, chaves do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash), chaves do KMS em armazenamentos personalizados de chaves e chaves do KMS com material de chave importado.

Alternância de chaves e definição de preço

O AWS KMS cobra uma taxa mensal para cada versão do material de chave mantido para sua chave do KMS. Para obter mais informações, consulte Definição de preço do AWS Key Management Service.

nota

É possível usar o AWS Cost Explorer Service para ver um detalhamento das cobranças de armazenamento de chaves. Por exemplo, é possível filtrar a visualização para ver o total de cobranças de chaves cobradas como chaves KMS atuais e alternadas especificando $REGION-KMS-Keys para o Tipo de Uso e agrupando os dados por Operação de API.

Talvez você ainda veja instâncias da operação da API Unknown legada para datas históricas.

Alternância de chaves e cotas

Cada chave do KMS conta como uma chave ao calcular cotas de recursos de chaves, independentemente do número de versões de material de chave alternadas.

Para obter informações detalhadas sobre chaves de backup e alternância, consulte o Detalhes criptográficos do AWS Key Management Service.

Por que alternar as chaves do KMS?

As melhores práticas criptográficas desencorajam a reutilização extensiva de chaves que criptografam dados diretamente, como as chaves de dados geradas pelo AWS KMS. Quando as chaves de dados de 256 bits criptografam milhões de mensagens, elas podem se esgotar e começar a produzir texto cifrado com padrões sutis que atores inteligentes podem explorar para descobrir os bits da chave. Para evitar esse esgotamento de chaves, é melhor usar as chaves de dados uma vez ou apenas algumas vezes, o que alterna efetivamente o material da chave.

No entanto, as chaves do KMS são mais frequentemente usadas como chaves de empacotamento, também conhecidas como chaves de criptografia de chaves. Em vez de criptografar dados, as chaves de empacotamento criptografam as chaves de dados que criptografam seus dados. Dessa forma, elas são usadas com muito menos frequência do que as chaves de dados e quase nunca são reutilizadas o suficiente para correr o risco de esgotamento das chaves.

Apesar desse risco de exaustão muito baixo, talvez seja necessário alternar suas chaves do KMS devido a regras comerciais ou contratuais, ou regulamentações governamentais. Quando for obrigatório alternar as chaves do KMS, recomendamos que você use a alternância automática de chaves onde ela for compatível e a alternância manual de chaves quando a alternância automática de chaves não for compatível.

Como funciona a alternância de chaves automática

A alternância de chaves no AWS KMS foi criada para ser transparente e fácil de usar. O AWS KMS é compatível com a alternância automática opcional de chaves somente para chaves gerenciadas pelo cliente.

Gerenciamento do material de chave

O AWS KMS retém todo o material de chave de uma chave do KMS, mesmo que a alternância de chaves esteja desabilitada. O AWS KMS exclui o material da chave somente quando você exclui a chave do KMS.

Uso do material de chave

Quando você usa uma chave do KMS alternada para criptografar dados, o AWS KMS usa o material de chave atual. Quando você usa a chave do KMS alternada para descriptografar texto cifrado, o AWS KMS usa a mesma versão do material de chave que foi usado para criptografá-lo. Você não pode solicitar uma versão específica do material de chave.

Data de alternância

O AWS KMS alterna o material de chave um ano (aproximadamente 365 dias) após a ativação da alternância e, em seguida, a cada ano (aproximadamente 365 dias) a partir de então.

Chaves gerenciadas pelo cliente

Como a alternância automática de chaves é opcional nas chaves gerenciadas pelo cliente e pode ser ativada e desativada a qualquer momento, a data de alternância dependerá da data em que a alternância foi ativada mais recentemente. Essa data pode mudar várias vezes ao longo da vida útil da chave.

Por exemplo, se você criar uma chave gerenciada pelo cliente em 1º de janeiro de 2022 e ativar a alternância automática de chaves em 15 de março de 2022, o AWS KMS alternará o material da chave em 15 de março de 2023, 15 de março de 2024 e, posteriormente, a cada 365 dias.

Os seguintes casos são especiais:

  • Desabilitar a alternância de chaves — Se você desabilitar a alternância de chaves automática a qualquer momento, a chave do KMS continuará usando a versão do material de chaves que estava usando quando a alternância foi desabilitada. Quando você habilita a alternância automática de chaves, o AWS KMS alterna automaticamente o material da chave 1 ano (aproximadamente 365 dias) após a data de habilitação e a cada ano depois disso.

  • Chaves do KMS desabilitadas — Enquanto uma chave do KMS permanecer desabilitada, o AWS KMS não a alternará. No entanto, o status da alternância de chaves não muda, e você não pode alterá-lo enquanto a chave do KMS está desabilitada. Quando a chave do KMS for reabilitada, se o material de chave tiver mais de 1 ano de idade, o AWS KMS a alternará imediatamente e a cada ano depois disso. Se o material de chave tiver menos de 1 ano de idade, o AWS KMS retomará a programação original da alternância de chaves.

  • Chaves do KMS com exclusão pendente — Enquanto uma chave do KMS permanecer com exclusão pendente, o AWS KMS não a alternará. O status da alternância de chaves é definido como false e você não pode alterá-lo enquanto a exclusão estiver pendente. Se a exclusão for cancelada, o status da alternância de chaves anterior será restaurado. Se o material de chave tiver mais de 1 ano, o AWS KMS a alternará imediatamente e a cada ano (aproximadamente 365 dias a partir da última alternância) depois disso. Se o material de chave tiver menos de 1 ano de idade, o AWS KMS retomará a programação original da alternância de chaves.

Chaves gerenciadas pela AWS

O AWS KMS alterna automaticamente as Chaves gerenciadas pela AWS a cada ano (aproximadamente 365 dias). Não é possível habilitar ou desabilitar a alternância de chaves para Chaves gerenciadas pela AWS.

O material de chave de uma Chave gerenciada pela AWS é alternado primeiro um ano após a data de criação e, a partir de então, todos os anos (aproximadamente 365 dias a partir da última alternância).

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.

Chaves gerenciadas pela AWS existentes são alternadas automaticamente 1 ano após sua alternância mais recente e a cada ano depois disso.

Chaves pertencentes à AWS

Não é possível habilitar ou desabilitar a alternância de chaves para Chaves pertencentes à AWS. A estratégia de alternância de chaves para uma Chave pertencente à AWS é determinada pelo serviço da AWS que cria e gerencia a chave. Para obter detalhes, consulte o tópico Criptografia em repouso, no manual do usuário ou no guia do desenvolvedor do serviço.

Tipos de chave do KMS com suporte

A alternância automática de chaves só é compatível com chaves do KMS de criptografia simétrica com material de chave que o AWS KMS gera (origem = AWS_KMS).

A alternância automática de chaves não tem suporte com os seguintes tipos de chaves do KMS, mas você pode alternar essas chaves do KMS manualmente.

Chaves de várias regiões

Você pode habilitar e desabilitar a alternância automática de chaves parachaves de várias regiões. Você define a propriedade apenas na chave primária. Quando o AWS KMS sincroniza as chaves, ele copia a configuração de propriedade da chave primária para suas chaves de réplica. Quando o material de chave da chave primária é alternado, o AWS KMS copia automaticamente esse material para todas as suas chaves de réplica. Para obter mais detalhes, consulte Alternância de chaves de várias regiões.

Serviços da AWS

É possível habilitar a alternância automática de chaves nas chaves gerenciadas pelo cliente que você usa para criptografia no lado do servidor em serviços da AWS. A alternância anual é transparente e compatível com os serviços da AWS.

Monitoramento da alternância de chaves

Quando gira AWS KMS automaticamente o material da chave para uma chave gerenciada Chave gerenciada pela AWSou gerenciada pelo cliente, ele grava um KMS CMK Rotation evento na Amazon EventBridge e um RotateKey evento em seu AWS CloudTrail registro. É possível usar esses registros para verificar se a chave do KMS foi alternada.

Consistência eventual

A alternância automática de chaves está sujeita aos mesmos efeitos de consistência eventual de outras operações de gerenciamento do AWS KMS. Pode haver um pequeno atraso antes que o novo material de chave esteja disponível no AWS KMS. Porém, o material de chave alternante não causa interrupção ou atraso em operações de criptografia. O material de chave atual será usado em operações de criptografia até que o novo material de chave esteja disponível no AWS KMS. Quando o material chave para uma chave de várias regiões é alternado automaticamente, o AWS KMS usa o material de chave atual até que o novo material de chave esteja disponível em todas as regiões com uma chave de várias regiões relacionada.

Como habilitar e desabilitar a alternância de chaves automática

Usuários autorizados podem usar o console do AWS KMS e a API do AWS KMS para habilitar e desabilitar a alternância automática de chaves e visualizar o status da alternância de chaves.

Quando você habilita a alternância automática de chaves, o AWS KMS alterna o material de chave da chave do KMS 1 ano após a data de habilitação e a cada ano depois disso.

Habilitar e desabilitar a alternância de chaves (console)

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente). (Não é possível habilitar ou desabilitar a alternância de Chaves gerenciadas pela AWS. Elas são alternadas automaticamente a cada ano.)

  4. Escolha o alias ou ID de chave de uma chave do KMS.

  5. Selecione a guia Key rotation (Rotação de chaves).

    A guia Key rotation (Alternância de chaves) só é exibida na página de detalhes de chaves do KMS de criptografia simétrica com material de chave gerado pelo AWS KMS (cuja Origin (Origem) é AWS_KMS), incluindo chaves do KMS de criptografia simétrica de várias regiões.

    Não é possível alternar automaticamente chaves do KMS assimétricas, chaves do KMS de HMAC, chaves do KMS com material de chave importado nem chaves do KMS em armazenamentos personalizados de chave. No entanto, é possível alterná-las manualmente.

  6. Marque ou desmarque a caixa de seleção Automatically rotate this KMS key every year (Alternar esta chave do KMS automaticamente todos os anos).

    nota

    Se uma chave do KMS estiver desabilitada ou com exclusão pendente, a caixa de seleção Automatically rotate this KMS key every year (Alternar esta chave do KMS automaticamente todos os anos) estará vazia, e você não pode alterá-la. O status da alternância de chaves é restaurado quando você habilita a chave do KMS ou cancela a exclusão. Para obter mais detalhes, consulte Como funciona a alternância de chaves automática e Estados das chaves do AWS KMS.

  7. Escolha Salvar.

Habilitar e desabilitar a alternância de chaves (API do AWS KMS)

Você pode usar a API do AWS Key Management Service (AWS KMS) para habilitar e desabilitar a alternância automática de chaves e exibir o status atual da alternância de qualquer chave gerenciada pelo cliente. Estes exemplos usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.

A EnableKeyRotationoperação permite a rotação automática de chaves para a chave KMS especificada. A DisableKeyRotationoperação o desativa. Para identificar a chave do KMS nessas operações, use seu ID de chave ou ARN de chave. Por padrão, a mudança de chaves está desabilitada nas chaves gerenciadas de cliente.

O exemplo a seguir permite a rotação de chaves na chave KMS de criptografia simétrica especificada e usa a GetKeyRotationStatusoperação para ver o resultado. Ele desabilita a alternância de chaves e, novamente, usa GetKeyRotationStatus para ver a alteração.

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": false }

Alterar chaves manualmente

Talvez você queira criar uma nova chave do KMS e usá-la no lugar de uma chave do KMS atual, em vez de habilitar a alternância de chaves automática. Quando a nova chave do KMS tem material criptográfico diferente daquele da chave do KMS atual, usar a nova chave do KMS tem o mesmo efeito de alterar o material de chave em uma chave do KMS existente. O processo de substituir uma chave do KMS por outra é conhecido como alternância manual de chaves.

Você pode preferir alternar as chaves manualmente, para controlar a frequência da mudança. Isso também é uma boa solução para chaves do KMS que não estão qualificadas para alternância automática de chaves, como chaves do KMS assimétricas, chaves do KMS de HMAC, chaves do KMS em armazenamentos personalizados de chaves e chaves do KMS com material de chave importado.

nota

Quando você começar a usar a nova chave do KMS, mantenha a chave do KMS original habilitada para que o AWS KMS possa descriptografar os dados que a chave do KMS original criptografou.

Ao alternar as chaves do KMS manualmente, você precisa atualizar as referências ao ARN ou ao ID da chave do KMS nas suas aplicações. Aliases, que associam um nome amigável a uma chave do KMS, tornam esse processo mais fácil. Use um alias para fazer referência a uma chave do KMS em suas aplicações. Quando quiser alterar a chave do KMS utilizada pela aplicação, em vez de editar o código da aplicação, altere a chave do KMS de destino do alias. Para obter detalhes, consulte Usar aliases em suas aplicações.

nota

Os aliases que apontam para a versão mais recente de uma chave KMS girada manualmente são uma boa solução para as operações Criptografar DescribeKey,, GenerateDataKeyGenerateDataKeyPairGenerateMac, e Assinar. Aliases não são permitidos em operações que gerenciam chaves KMS, como DisableKeyou. ScheduleKeyDeletion

Ao chamar a operação Decrypt em chaves do KMS de criptografia simétrica alternadas manualmente, omita o parâmetro KeyId do comando. O AWS KMS usa automaticamente a chave KMS que criptografou o texto cifrado.

O KeyId parâmetro é obrigatório ao chamar Decrypt ou verificar com uma chave KMS assimétrica ou ao chamar VerifyMaccom uma chave HMAC KMS. Essas solicitações falham quando o valor do parâmetro KeyId é um alias que não aponta mais para a chave do KMS que executou a operação criptográfica, como quando uma chave é alternada manualmente. Para evitar esse erro, você deve rastrear e especificar a chave KMS correta para cada operação.

Para alterar a chave KMS de destino de um alias, use a UpdateAliasoperação na AWS KMS API. Por exemplo, este comando atualiza o alias alias/TestKey para apontar para uma nova chave do KMS. Como a operação não retorna nenhuma saída, o exemplo usa a ListAliasesoperação para mostrar que o alias agora está associado a uma chave KMS diferente e o LastUpdatedDate campo está atualizado. Os ListAliases comandos usam o queryparâmetro no AWS CLI para obter somente o alias/TestKey alias.

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]' { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1521097200.123, "LastUpdatedDate": 1521097200.123 }, ] } $ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]' { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1521097200.123, "LastUpdatedDate": 1604958290.722 }, ] }