Criptografia de Amazon EBS - Amazon Elastic Compute Cloud

Criptografia de Amazon EBS

Use Criptografia de Amazon EBS como solução de criptografia direta para seus recursos do EBS associados às instâncias do EC2. Com Criptografia de Amazon EBS, você não precisa criar, manter e proteger sua própria infraestrutura de gerenciamento de chaves. O Criptografia de Amazon EBS usa CMKs (chaves mestras de cliente) do AWS Key Management Service (AWS KMS) ao criar volumes e snapshots criptografados.

As operações de criptografia ocorrem nos servidores que hospedam instâncias do EC2, garantindo a segurança dos dados em repouso e dos dados em trânsito entre uma instância e seu armazenamento do EBS anexado.

Você pode anexar volumes criptografados e não criptografados a uma instância simultaneamente.

Como funciona a criptografia do EBS

É possível criptografar os volumes de dados e inicialização de uma instância do EC2. Quando você cria um volume do EBS criptografado e o anexa a um tipo de instância com suporte, os seguintes tipos de dados são criptografados:

  • Dados em repouso dentro do volume

  • Todos os dados que são movidos entre o volume e a instância

  • Todos os snapshots criados a partir do volume

  • Todos os volumes criados a partir desses snapshots

O EBS criptografa o volume com uma chave de dados usando o algoritmo AES-256 padrão do setor. A chave de dados é armazenada em disco com seus dados criptografados, mas não antes que o EBS a criptografe com sua CMK. A chave de dados nunca é exibida no disco em texto simples. A mesma chave de dados é compartilhada pelos snapshots do volume e de quaisquer volumes subsequentes criados a partir desses snapshots. Para obter mais informações, consulte Chaves de dados no AWS Key Management Service Developer Guide.

O Amazon EBS funciona com o AWS KMS para criptografar e descriptografar os volumes do EBS da seguinte forma:

  1. O Amazon EBS envia uma solicitação GenerateDataKeyWithoutPlaintext para o AWS KMS especificando a CMK que você escolheu para criptografia de volume.

  2. O AWS KMS gera uma nova chave de dados, criptografa-a com a CMK escolhida para criptografia de volume e envia a chave de dados criptografada ao Amazon EBS para ser armazenada com os metadados do volume.

  3. Quando você anexa um volume criptografado a uma instância, o Amazon EC2 envia uma solicitação Decrypt ao AWS KMS especificando a chave de dados criptografada.

  4. O Amazon EBS envia uma solicitação CreateGrant ao AWS KMS para que ele possa descriptografar a chave de dados.

  5. O AWS KMS descriptografa a chave de dados criptografada e envia a chave de dados descriptografada ao Amazon EC2.

  6. O Amazon EC2 usa a chave de dados de texto simples na memória do hipervisor para criptografar a E/S de disco para o volume. A chave de dados de texto simples persistirá na memória enquanto o volume estiver anexado à instância.

Para obter mais informações, consulte Como o Amazon Elastic Block Store (Amazon EBS) usa o AWS KMS e Exemplo dois do Amazon EC2 no AWS Key Management Service Developer Guide.

Requisitos

Antes de começar, verifique se os seguintes requisitos foram atendidos.

Tipos de volume compatíveis

A criptografia é compatível com todos os tipos de volume do EBS. Você pode esperar o mesmo desempenho de IOPS dos volumes não criptografados nos volumes criptografados, com efeito mínimo na latência. Você pode acessar volumes criptografados da mesma forma que acessa volumes não criptografados. A criptografia e a descriptografia são tratadas de forma transparente e não requerem nenhuma ação adicional de sua parte e de seus aplicativos.

Tipos de instâncias compatíveis

Criptografia de Amazon EBS está disponível em todos os tipos de instância da geração atual e nos seguintes tipos de instância da geração anterior: C3 cr1.8xlarge, G2, I2, M3 e R3.

Permissões para usuários do IAM

Quando você configura uma CMK como a chave padrão para a criptografia do EBS, a política de chaves padrão permite que qualquer usuário do IAM com acesso às ações necessárias do KMS use essa chave para criptografar ou descriptografar recursos do EBS. Você deve conceder aos usuários do IAM a permissão para chamar as seguintes ações para usar a criptografia do EBS:

  • kms:CreateGrant

  • kms:Decrypt

  • kms:DescribeKey

  • kms:GenerateDataKeyWithoutPlainText

  • kms:ReEncrypt

Para seguir o principal de menor privilégio, não permita acesso total a kms:CreateGrant. Em vez disso, permita que o usuário crie concessões na CMK somente quando a concessão for criada em nome do usuário por um serviço da AWS, conforme mostrado no exemplo a seguir:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef" ], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

Para obter mais informações, consulte Permite acesso à conta da AWS e habilita políticas do IAM na seção Política de chaves padrão no AWS Key Management Service Developer Guide.

Chave padrão para criptografia do EBS

O Amazon EBS cria automaticamente uma CMK exclusiva gerenciada pela AWS em cada região em que você armazena recursos da AWS. Essa chave tem o alias alias/aws/ebs. Por padrão, o Amazon EBS usa essa chave para a criptografia. Como alternativa, é possível especificar uma CMK simétrica gerenciada pelo cliente que foi criada como a chave padrão para a criptografia do EBS. Usar sua própria CMK oferece a você mais flexibilidade, incluindo a capacidade de criar, alternar e desabilitar chaves.

Importante

O Amazon EBS não oferece suporte a CMKs assimétricas. Para obter mais informações, consulte Usar chaves simétricas e assimétricas no Guia do desenvolvedor do AWS Key Management Service.

Novo console

Como configurar a chave padrão para a criptografia do EBS para uma região

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região.

  3. No painel de navegação, selecione EC2 Dashboard (Painel do EC2).

  4. No canto superior direito da página, escolha Account Attributes (Atributos da conta), EBS encryption (Criptografia do EBS).

  5. Escolha Gerenciar.

  6. Para Default encryption key (Chave de criptografia padrão), escolha uma CMK simétrica gerenciada pelo cliente.

  7. Escolha Update EBS encryption (Atualizar criptografia do EBS).

Console antigo

Como configurar a chave padrão para a criptografia do EBS para uma região

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região.

  3. No painel de navegação, selecione EC2 Dashboard (Painel do EC2).

  4. No canto superior direito da página, escolha Account Attributes (Atributos da conta), Settings (Configurações).

  5. Escolha Change the default key (Alterar a chave padrão) e uma chave disponível.

  6. Escolha Save settings (Salvar configurações).

Criptografia por padrão

Você poderá configurar sua conta da AWS para impor a criptografia das novas cópias de snapshots e volumes do EBS que criar. Por exemplo, o Amazon EBS criptografará os volumes do EBS criados quando você executar uma instância e os snapshots que copiar a partir de um snapshot não criptografado. Para obter exemplos da transição de recursos do EBS não criptografados para criptografados, consulte Criptografar recursos não criptografados.

Por padrão, a criptografia não tem efeito sobre volumes ou snapshots do EBS existentes.

Considerações

  • A criptografia por padrão é uma configuração específica da região. Se você habilitá-la para uma região, não será possível desabilitá-la para snapshots ou volumes individuais nessa região.

  • Ao habilitar a criptografia por padrão, você poderá executar uma instância somente se o tipo de instância oferecer suporte à criptografia do EBS. Para obter mais informações, consulte Tipos de instâncias compatíveis.

  • Ao migrar servidores usando o AWS Server Migration Service (SMS), não ative a criptografia por padrão. Se a criptografia por padrão já estiver ativada, e você estiver enfrentando falhas de replicação delta, desative a criptografia por padrão. Em vez disso, habilite a criptografia de AMI ao criar o trabalho de replicação.

Novo console

Para ativar a criptografia por padrão para uma região

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região.

  3. No painel de navegação, selecione EC2 Dashboard (Painel do EC2).

  4. No canto superior direito da página, escolha Account Attributes (Atributos da conta), EBS encryption (Criptografia do EBS).

  5. Escolha Gerenciar.

  6. Selecione Enable (Habilitar). Você mantém a CMK gerenciada pela AWS com o alias alias/aws/ebs criado em seu nome como a chave de criptografia padrão ou escolhe uma CMK simétrica gerenciada pelo cliente.

  7. Escolha Update EBS encryption (Atualizar criptografia do EBS).

Console antigo

Para ativar a criptografia por padrão para uma região

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região.

  3. No painel de navegação, selecione EC2 Dashboard (Painel do EC2).

  4. No canto superior direito da página, escolha Account Attributes (Atributos da conta), Settings (Configurações).

  5. Em EBS Storage (Armazenamento do EBS), selecione Always encrypt new EBS volumes (Sempre criptografar novos volumes do EBS).

  6. Escolha Save settings (Salvar configurações).

Não é possível alterar a CMK que está associada a um snapshot existente ou a um volume criptografado. No entanto, você pode associar uma CMK diferente durante uma operação de cópia de snapshot para que o snapshot copiado resultante seja criptografado pela nova CMK.

Criptografar recursos do EBS

Criptografe volumes do EBS habilitando a criptografia, usando a criptografia por padrão ou habilitando a criptografia ao criar um volume que deseja criptografar.

Ao criptografar um volume, você pode especificar a CMK simétrica a ser usada para criptografar o volume. Se não estiver especificada, a CMK usada para a criptografia dependerá do estado de criptografia do snapshot de origem e de sua propriedade. Para obter mais informações, consulte a tabela de resultados de criptografia.

Você não pode alterar a CMK que está associada a um snapshot ou a um volume existente. No entanto, você pode associar uma CMK diferente durante uma operação de cópia de snapshot para que o snapshot copiado resultante seja criptografado pela nova CMK.

Criptografar um volume vazio na criação

Ao criar um novo volume do EBS vazio, você poderá criptografá-lo habilitando a criptografia para a operação de criação de volume específica. Se você tiver habilitado a criptografia do EBS por padrão, o volume será criptografado automaticamente. Por padrão, o volume é criptografado com sua chave padrão para criptografia do EBS. Como opção, é possível especificar uma CMK simétrica diferente para a operação de criação de volume específica. O volume será criptografado no momento em que for disponibilizado a primeira vez, para que seus dados estejam sempre protegidos. Para ver os procedimentos detalhados, consulte Criar um volume do Amazon EBS.

Por padrão, a CMK selecionada durante a criação de um volume criptografa os snapshots que você cria do volume e os volumes que você restaura desses snapshots criptografados. Não é possível remover a criptografia de um volume ou snapshot criptografado, o que significa que um volume restaurado a partir de um snapshot criptografado ou uma cópia de um snapshot criptografado será sempre criptografado.

Não há suporte para snapshots públicos de volumes criptografado, mas você pode compartilhar um snapshot criptografado com contas específicas. Para obter instruções detalhadas, consulte Compartilhar um snapshot do Amazon EBS.

Criptografar recursos não criptografados

Embora não haja uma maneira direta de criptografar um volume ou um snapshot não criptografado existente, é possível criptografá-los criando um volume ou um snapshot. Se você tiver habilitado a criptografia por padrão, o Amazon EBS criptografará o novo volume ou snapshot resultante usando sua chave padrão para a criptografia do EBS. Mesmo se não tiver habilitado a criptografia por padrão, você poderá habilitá-la ao criar um volume ou um snapshot individual. Se habilitar a criptografia por padrão ou em operações de criação individuais, será possível substituir a chave padrão para a criptografia do EBS e selecionar uma CMK simétrica gerenciada pelo cliente. Para obter mais informações, consulte Criar um volume do Amazon EBS e Copiar um snapshot do Amazon EBS.

Para criptografar a cópia do snapshot para uma CMK gerenciada pelo cliente, você deverá habilitar a criptografia e especificar a chave conforme mostrado em Copiar um snapshot não criptografado (criptografia por padrão não habilitada).

Importante

O Amazon EBS não oferece suporte a CMKs assimétricas. Para obter mais informações, consulte Usar chaves simétricas e assimétricas no Guia do desenvolvedor do AWS Key Management Service.

Também é possível aplicar novos estados de criptografia ao executar uma instância a partir de uma AMI baseada em EBS. Isso ocorre porque as AMIs baseadas em EBS incluem snapshots de volumes do EBS que podem ser criptografados conforme descrito. Para obter mais informações, consulte Usar criptografia em AMIs com EBS.

Cenários de criptografia

Quando você cria um recurso do EBS criptografado, ele é criptografado pela chave padrão para a criptografia do EBS da sua conta, a menos que você especifique uma CMK gerenciada pelo cliente diferente nos parâmetros de criação do volume ou no mapeamento de dispositivos de blocos para a AMI ou para a instância. Para obter mais informações, consulte Chave padrão para criptografia do EBS.

Os exemplos a seguir ilustram como você pode gerenciar o estado de criptografia de seus volumes e snapshots. Para obter uma lista completa de casos de criptografia, consulte a tabela de resultados de criptografia.

Restaurar um volume não criptografado (criptografia por padrão não habilitada)

Sem a criptografia por padrão habilitada, um volume restaurado de um snapshot não criptografado é não criptografado por padrão. No entanto, é possível criptografar o volume resultante configurando o parâmetro Encrypted e, opcionalmente, o parâmetro KmsKeyId. O diagrama a seguir ilustra o processo.

Se você deixar o parâmetro KmsKeyId de fora, o volume resultante será criptografado usando sua chave padrão para a criptografia do EBS. Você deve especificar o ID de uma chave para criptografar o volume para uma CMK diferente.

Para obter mais informações, consulte Criar um volume a partir de um snapshot.

Restaurar um volume não criptografado (criptografia por padrão habilitada)

Quando a criptografia por padrão está habilitada, a criptografia é obrigatória para volumes restaurados de snapshots não criptografados, e nenhum parâmetro de criptografia é necessário para que a CMK padrão seja usada. O diagrama a seguir mostra este simples caso padrão:

Se quiser criptografar o volume restaurado para uma CMK simétrica gerenciada pelo cliente, será necessário fornecer os parâmetros Encrypted e KmsKeyId, conforme mostrado em Restaurar um volume não criptografado (criptografia por padrão não habilitada).

Copiar um snapshot não criptografado (criptografia por padrão não habilitada)

Sem a criptografia por padrão habilitada, uma cópia de um snapshot não criptografado é não criptografado por padrão. No entanto, é possível criptografar o snapshot resultante configurando o parâmetro Encrypted e, opcionalmente, o parâmetro KmsKeyId. Se você omitir o KmsKeyId, o snapshot resultante será criptografado pelo CMK padrão. É necessário especificar o ID de uma chave para criptografar o volume para uma CMK simétrica diferente.

O diagrama a seguir ilustra o processo.


                    Criar um snapshot criptografado a partir de um snapshot não criptografado.
nota

Se você copiar um snapshot e criptografá-lo para uma nova CMK, uma cópia concluída (não incremental) sempre será criada, resultando em um atraso e custos de armazenamento adicionais.

Você pode criptografar um volume do EBS ao copiar um snapshot não criptografado em um snapshot criptografado e criar um volume a partir do snapshot criptografado. Para obter mais informações, consulte Copiar um snapshot do Amazon EBS.

Copiar um snapshot não criptografado (criptografia por padrão habilitada)

Quando a criptografia por padrão está habilitada, a criptografia é obrigatória para cópias de snapshots não criptografados, e nenhum parâmetro de criptografia é necessário se a CMK padrão é usada. O diagrama a seguir ilustra este caso padrão:


                    Criar um snapshot criptografado a partir de um snapshot não criptografado.
nota

Se você copiar um snapshot e criptografá-lo para uma nova CMK, uma cópia concluída (não incremental) sempre será criada, resultando em um atraso e custos de armazenamento adicionais.

Criptografar novamente um volume criptografado

Quando a ação CreateVolume opera em um snapshot criptografado, você tem a opção de criptografá-lo novamente com uma CMK diferente. O diagrama a seguir ilustra o processo. Neste exemplo, você tem duas CMKs, CMK A e CMK B. O snapshot de origem é criptografado pela CMK A. Durante a criação do volume, com o ID de chave da CMK B especificado como um parâmetro, os dados de origem são automaticamente descriptografados e, depois, novamente criptografados pela CMK B.


                    Copiar um snapshot criptografado e criptografar a cópia para uma nova chave.
nota

Se você copiar um snapshot e criptografá-lo para uma nova CMK, uma cópia concluída (não incremental) sempre será criada, resultando em um atraso e custos de armazenamento adicionais.

Para obter mais informações, consulte Criar um volume a partir de um snapshot.

Criptografar novamente um snapshot criptografado

A capacidade de criptografar um snapshot durante a cópia permite aplicar uma nova CMK simétrica a um snapshot já criptografado de sua propriedade. Os volumes restaurados da cópia resultante só são acessíveis usando a nova CMK. O diagrama a seguir ilustra o processo. Neste exemplo, você tem duas CMKs, CMK A e CMK B. O snapshot de origem é criptografado pela CMK A. Durante a cópia, com o ID de chave da CMK B especificado como um parâmetro, os dados de origem são novamente criptografados de forma automática pela CMK B.


                    Copiar um snapshot criptografado e criptografar a cópia para uma nova chave.
nota

Se você copiar um snapshot e criptografá-lo para uma nova CMK, uma cópia concluída (não incremental) sempre será criada, resultando em um atraso e custos de armazenamento adicionais.

Em um cenário relacionado, você pode optar por aplicar novos parâmetros de criptografia a uma cópia de um snapshot que tenha sido compartilhado com você. Por padrão, a cópia é criptografada com uma CMK compartilhada pelo proprietário do snapshot. No entanto, recomendamos que você crie uma cópia do snapshot compartilhado usando uma CMK diferente que esteja sob seu controle. Isso protegerá seu acesso ao volume se a CMK original estiver comprometida ou se o proprietário revogar a CMK por algum motivo. Para obter mais informações, consulte Cópia de snapshot e criptografia.

Migrar dados entre volumes criptografados e não criptografados

Quando você tem acesso a volumes criptografados e não criptografados, pode transferir livremente dados entre eles. O EC2 realiza as operações de criptografia ou descriptografia de forma transparente.

Por exemplo: use o comando rsync para copiar os dados. No comando a seguir, os dados de origem estão localizados em /mnt/source e o volume de destino está montado em /mnt/destination.

[ec2-user ~]$ sudo rsync -avh --progress /mnt/source/ /mnt/destination/

Resultados da criptografia

A tabela a seguir descreve o resultado da criptografia para cada combinação possível de configurações.

A criptografia está habilitada? A criptografia por padrão está habilitada? Origem do volume Padrão (nenhuma CMK especificada) Personalizado (CMK especificada)
Não Não Novo volume (vazio) Não criptografado N/D
Não Não Snapshot não criptografada pertencente a você Não criptografado
Não Não Snapshot criptografado pertencente a você Criptografado pela mesma chave
Não Não Snapshot não criptografado compartilhado com você Não criptografado
Não Não Snapshot criptografado compartilhado com você Criptografado pela CMK padrão*
Sim Não Novo volume Criptografado pela CMK padrão Criptografado pela CMK especificada**
Sim Não Snapshot não criptografada pertencente a você Criptografado pela CMK padrão
Sim Não Snapshot criptografado pertencente a você Criptografado pela mesma chave
Sim Não Snapshot não criptografado compartilhado com você Criptografado pela CMK padrão
Sim Não Snapshot criptografado compartilhado com você Criptografado pela CMK padrão
Não Sim Novo volume (vazio) Criptografado pela CMK padrão N/D
Não Sim Snapshot não criptografada pertencente a você Criptografado pela CMK padrão
Não Sim Snapshot criptografado pertencente a você Criptografado pela mesma chave
Não Sim Snapshot não criptografado compartilhado com você Criptografado pela CMK padrão
Não Sim Snapshot criptografado compartilhado com você Criptografado pela CMK padrão
Sim Sim Novo volume Criptografado pela CMK padrão Criptografado por uma CMK especificada
Sim Sim Snapshot não criptografada pertencente a você Criptografado pela CMK padrão
Sim Sim Snapshot criptografado pertencente a você Criptografado pela mesma chave
Sim Sim Snapshot não criptografado compartilhado com você Criptografado pela CMK padrão
Sim Sim Snapshot criptografado compartilhado com você Criptografado pela CMK padrão

* Esta é a CMK padrão para a criptografia do EBS para a conta e a região da AWS. Por padrão, essa é uma CMK exclusiva gerenciada pela AWS ou é possível especificar uma CMK gerenciada pelo cliente. Para obter mais informações, consulte Chave padrão para criptografia do EBS.

** Esta é uma CMK gerenciada pelo cliente especificada para o volume no momento da inicialização. Esta é a CMK é usada em vez da CMK padrão para a conta e a região da AWS.

Configurar padrões de criptografia usando a API e a CLI

Você pode gerenciar a criptografia por padrão e a chave mestra do cliente (CMK) padrão usando os seguintes comandos da CLI e ações de API.

Ação de API Comando da CLI Descrição

DisableEbsEncryptionByDefault

disable-ebs-encryption-by-default

Desativa a criptografia por padrão.

EnableEbsEncryptionByDefault

enable-ebs-encryption-by-default

Ativa a criptografia por padrão.

GetEbsDefaultKmsKeyId

get-ebs-default-kms-key-id

Descreve a CMK padrão.

GetEbsEncryptionByDefault

get-ebs-encryption-by-default

Indica se a criptografia por padrão está ativada.

ModifyEbsDefaultKmsKeyId

modify-ebs-default-kms-key-id

Altera a CMK padrão usada para criptografar volumes do EBS.

ResetEbsDefaultKmsKeyId

reset-ebs-default-kms-key-id

Redefine a CMK padrão gerenciada pela AWS como a CMK padrão usada para criptografar volumes do EBS.