Usar criptografia com AMIs com EBS
As AMIs com snapshots do Amazon EBS podem se beneficiar da criptografia do Amazon EBS. Os snapshots de volumes raiz e de dados podem ser criptografados e anexados a uma AMI. É possível executar instâncias e copiar imagens com suporte total à criptografia do EBS. Os parâmetros de criptografia para essas operações são compatíveis em todas as regiões em que o AWS KMS está disponível.
As instâncias do EC2 com volumes do EBS criptografados são executadas em AMIs da mesma forma que outras instâncias. Além disso, ao executar uma instância a partir de uma AMI baseada em snapshots não criptografados do EBS, será possível criptografar alguns ou todos os volumes durante a execução.
Como os volumes do EBS, os snapshots em AMIs podem ser criptografados pelo padrão do AWS KMS key ou por um chave gerenciada pelo cliente que você especificar. Em todos os casos, é necessário ter permissão para usar a Chave do KMS selecionada.
As AMIs com snapshots criptografados podem ser compartilhadas em todas as contas da AWS. Para obter mais informações, consulte Saiba mais sobre o uso da AMI compartilhada no Amazon EC2.
Tópicos de criptografia em AMIs com EBS
Cenários de execução de instância
As instâncias do Amazon EC2 são iniciadas nas AMIs usando a ação RunInstances
com parâmetros fornecidos pelo mapeamento de dispositivos de blocos, seja por meio do AWS Management Console ou diretamente usando a CLI ou a API do Amazon EC2. Para ter mais informações, consulte Mapeamento de dispositivos de blocos para volumes em instâncias do Amazon EC2. Para exemplos de mapeamento de dispositivos de blocos da AWS CLI, consulte Executar, listar e encerrar instâncias do EC2.
Por padrão, sem parâmetros de criptografia explícitos, uma ação RunInstances
mantém o estado de criptografia existente dos snapshots de origem de uma AMI enquanto restaura os volumes do EBS a partir deles. Se a opção de criptografar por padrão estiver habilitada, todos os volumes criados com base na AMI (seja de snapshots criptografados ou não criptografados) serão criptografados. Se a opção de criptografar por padrão não estiver habilitada, a instância manterá o estado de criptografia da AMI.
Também é possível executar uma instância e aplicar simultaneamente um estado de criptografia aos volumes resultantes fornecendo parâmetros de criptografia. Consequentemente, os seguintes comportamentos são observados:
Executar sem parâmetros de criptografia
-
Um snapshot não criptografado é restaurado para um volume não criptografado, a menos que a criptografia por padrão esteja habilitada, e, nesse caso, todos os volumes recém-criados serão criptografados.
-
Um snapshot criptografado que você possui é restaurado para um volume que é criptografado para a mesma Chave do KMS.
-
Um snapshot criptografado do qual você não é proprietário (por exemplo, a AMI é compartilhada com você) é restaurado para um volume que é criptografado pela chave do KMS padrão da sua conta da AWS.
Os comportamentos padrão podem ser substituídos fornecendo parâmetros de criptografia. Os parâmetros disponíveis são Encrypted
e KmsKeyId
. Configurar somente o parâmetro Encrypted
resulta no seguinte:
A instância executa comportamentos com Encrypted
definido, mas sem KmsKeyId
especificado
-
Um snapshot não criptografado é restaurado em um volume do EBS que é criptografado pela chave do KMS padrão da sua conta da AWS.
-
Um snapshot criptografado que você possui é restaurado para um volume do EBS criptografado pela mesma Chave do KMS. (Em outras palavras, o parâmetro
Encrypted
não tem efeito.) -
Um snapshot criptografado do qual você não é proprietário (por exemplo, a AMI é compartilhada com você) é restaurado para um volume que é criptografado pela chave do KMS padrão da sua conta da AWS. (Em outras palavras, o parâmetro
Encrypted
não tem efeito.)
A configuração dos parâmetros Encrypted
e KmsKeyId
permite especificar uma Chave do KMS não padrão para uma operação de criptografia. Os seguintes comportamentos resultam em:
A instância com Encrypted
e KmsKeyId
definidos
-
Um snapshot não criptografado é restaurado para um volume do EBS criptografado pela Chave do KMS especificada.
-
Um snapshot criptografado é restaurado para um volume do EBS criptografado, não para a Chave do KMS original, mas para a Chave do KMS especificada.
Enviar um KmsKeyId
sem também configurar o parâmetro Encrypted
resulta em um erro.
As seções a seguir fornecem exemplos da execução de instâncias de AMIs usando parâmetros de criptografia não padrão. Em cada um desses cenários, os parâmetros fornecidos à ação RunInstances
resultam em uma alteração do estado de criptografia durante a restauração de um volume a partir de um snapshot.
Para obter informações sobre como usar o console para executar uma instância a partir de uma AMI, consulte Iniciar uma instância do Amazon EC2.
Criptografar um volume durante a execução
Neste exemplo, uma AMI baseada em um snapshot não criptografado é usada para executar uma instância do EC2 com um volume não criptografado do EBS.
Somente o parâmetro Encrypted
resulta no volume que será criptografado para essa instância. É opcional fornecer um parâmetro KmsKeyId
. Se nenhum ID de Chave do KMS for especificado, a Chave do KMS padrão da conta da AWS será usada para criptografar o volume. Para criptografar o volume em uma Chave do KMS diferente que pertença a você, forneça o parâmetro KmsKeyId
.
Criptografar novamente um volume durante a execução
Neste exemplo, uma AMI baseada em um snapshot criptografado é usada para executar uma instância do EC2 com um volume do EBS criptografado por uma nova Chave do KMS.
Se você possuir a AMI e não fornecer nenhum parâmetro de criptografia, a instância resultante terá um volume criptografado pela mesma chave do KMS do snapshot. Se a AMI for compartilhada e não pertencer a você, e nenhum parâmetro de criptografia for fornecido, o volume será criptografado pela Chave do KMS padrão. Com os parâmetros de criptografia fornecidos conforme mostrado, o volume será criptografado pela Chave do KMS especificada.
Alterar o estado de criptografia de vários volumes durante a execução
Neste exemplo mais complexo, uma AMI baseada em vários snapshots (cada um com seu próprio estado de criptografia) é usada para executar uma instância do EC2 com um volume recém-criptografado e um volume criptografado novamente.
Neste cenário, a ação RunInstances
é fornecida com parâmetros de criptografia para cada um dos snapshots de origem. Quando todos os parâmetros possíveis de criptografia forem especificados, a instância resultante será a mesma, independentemente de você possuir a AMI.
Cenários de cópia de imagem
As AMIs do Amazon EC2 são copiadas usando a ação CopyImage
, seja pelo AWS Management Console ou diretamente usando a CLI ou a API do Amazon EC2.
Por padrão, sem parâmetros de criptografia explícitos, uma ação CopyImage
mantém o estado de criptografia existente dos snapshots de origem de uma AMI durante a cópia. Também é possível copiar uma AMI e aplicar simultaneamente um novo estado de criptografia aos snapshots associados do EBS fornecendo parâmetros de criptografia. Consequentemente, os seguintes comportamentos são observados:
Copiar sem parâmetros de criptografia
-
Um snapshot não criptografado é copiado para outro snapshot não criptografado, a menos que a criptografia por padrão esteja habilitada, e, nesse caso, todos os snapshots recém-criados serão criptografados.
-
Um snapshot criptografado de sua propriedade é copiado para um snapshot criptografado com a mesma Chave do KMS.
-
Um snapshot criptografado do qual você não é proprietário (por exemplo, a AMI é compartilhada com você) é copiado para um snapshot que é criptografado pela chave do KMS padrão da sua conta da AWS.
Todos esses comportamentos padrão podem ser substituídos fornecendo parâmetros de criptografia. Os parâmetros disponíveis são Encrypted
e KmsKeyId
. Configurar somente o parâmetro Encrypted
resulta no seguinte:
Comportamentos de cópia de imagem com Encrypted
definido, mas nenhum KmsKeyId
especificado
-
Um snapshot não criptografado é copiado para um snapshot criptografado pela chave do KMS padrão da conta da AWS.
-
Um snapshot criptografado é copiado para outro snapshot criptografado pela mesma Chave do KMS. (Em outras palavras, o parâmetro
Encrypted
não tem efeito.) -
Um snapshot criptografado do qual você não é proprietário (por exemplo, a AMI é compartilhada com você) é copiado para um volume que é criptografado pela chave do KMS padrão da sua conta da AWS. (Em outras palavras, o parâmetro
Encrypted
não tem efeito.)
A configuração dos parâmetros Encrypted
e KmsKeyId
permite especificar uma Chave do KMS gerenciada pelo cliente para uma operação de criptografia. Os seguintes comportamentos resultam em:
Comportamentos de cópia de imagem com Encrypted
e KmsKeyId
definidos
-
Um snapshot não criptografado é copiado para um snapshot criptografado pela Chave do KMS especificada.
-
Um snapshot criptografado é copiado para outro snapshot criptografado, não para a Chave do KMS original, mas para a Chave do KMS especificada.
Enviar um KmsKeyId
sem também configurar o parâmetro Encrypted
resulta em um erro.
A seção a seguir fornece um exemplo de como copiar uma AMI usando parâmetros de criptografia não padrão, resultando em uma alteração do estado de criptografia.
Para obter instruções detalhadas usando o console, consulte Copiar uma AMI do Amazon EC2.
Criptografar uma imagem não criptografada durante a cópia
Nesse cenário, uma AMI baseada em um snapshot raiz não criptografado é copiada para uma AMI com um snapshot raiz criptografado. A ação CopyImage
é invocada com dois parâmetros de criptografia, incluindo uma chave gerenciada pelo cliente. Como resultado, o status de criptografia do snapshot raiz muda, de modo que a AMI de destino tenha suporte de um snapshot raiz contendo os mesmos dados que o snapshot de origem, mas criptografado usando a chave especificada. Você incorre em custos de armazenamento para os snapshots em ambas as AMIs, bem como cobranças para todas as instâncias iniciadas a partir de uma AMI.
nota
Habilitar a criptografia por padrão tem o mesmo efeito que configurar o parâmetro Encrypted
como true
para todos os snapshots na AMI.
Configurar o parâmetro Encrypted
criptografa o snapshot único dessa instância. Se você não especificar o parâmetro KmsKeyId
, a chave gerenciada pelo cliente padrão será usada para criptografar a cópia do snapshot.
nota
Também é possível copiar uma imagem com vários snapshots e configurar o estado de criptografia de cada uma individualmente.