

# Criptografar dados armazenados em volumes do Amazon EBS para tarefas do Amazon ECS
<a name="ebs-kms-encryption"></a>

Você pode usar o AWS Key Management Service (AWS KMS) para criar e gerenciar chaves criptográficas que protegem seus dados. Os volumes do Amazon EBS são criptografados em repouso usando o AWS KMS keys. Os seguintes tipos de dados são criptografados:
+ Dados armazenados em repouso no volume
+ E/S de disco
+ Snapshots criados no volume
+ Novos volumes criados de snapshots criptografados

Os volumes do Amazon EBS associados a tarefas podem ser criptografados usando uma Chave gerenciada pela AWS padrão com o alias `alias/aws/ebs` ou uma chave simétrica gerenciada pelo cliente especificada na configuração do volume. As Chaves gerenciadas pela AWS padrão são exclusivas para cada Conta da AWS por Região da AWS e são criadas automaticamente. Para criar uma chave simétrica gerenciada pelo cliente, siga as etapas em [Creating symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS KMS*.

É possível configurar a criptografia do Amazon EBS por padrão para que todos os novos volumes criados e anexados a uma Região da AWS específica sejam criptografados usando a chave do KMS especificada para a sua conta. Para obter mais informações sobre criptografia do Amazon EBS e criptografia por padrão, consulte [Criptografia do Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) no *Guia do usuário do Amazon EBS*.

## Comportamento de instâncias gerenciadas do Amazon ECS
<a name="managed-instances"></a>

Criptografe volumes do Amazon EBS habilitando a criptografia, usando a criptografia por padrão ou habilitando a criptografia ao criar um volume que deseja criptografar. Para obter informações sobre como habilitar a criptografia por padrão (no nível da conta), consulte [Criptografia por padrão](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html) no *Guia do usuário do Amazon EBS*.

É possível configurar uma combinação qualquer dessas chaves. A ordem de precedência das chaves do KMS é a seguinte:

1. A chave do KMS especificada na configuração do volume. Quando você especifica uma chave KMS na configuração de volume, ela substitui o padrão do Amazon EBS e qualquer chave KMS especificada no nível da conta.

1. A chave KMS especificada no nível da conta. Quando você especifica uma chave do KMS para criptografia no nível de cluster do armazenamento gerenciado do Amazon ECS, ela substitui a criptografia padrão do Amazon EBS, mas não substitui nenhuma chave do KMS especificada na configuração do volume.

1. Criptografia padrão do Amazon EBS. A criptografia padrão se aplica quando você não especifica uma chave KMS no nível da conta ou uma chave na configuração de volume. Se você habilitar a criptografia do Amazon EBS por padrão, o padrão será a chave do KMS que você especifica para criptografia por padrão. Caso contrário, o padrão é o Chave gerenciada pela AWS com o alias `alias/aws/ebs`.
**nota**  
Se você definir `encrypted` como `false` na configuração de volume, não especificar nenhuma chave KMS no nível da conta e habilitar a criptografia do Amazon EBS por padrão, o volume ainda será criptografado com a chave especificada para a criptografia do Amazon EBS por padrão.

## Comportamento de instâncias gerenciadas não do Amazon ECS
<a name="non-managed-instances"></a>

Você também pode configurar a criptografia em nível de cluster do Amazon ECS para armazenamento gerenciado do Amazon ECS ao criar ou atualizar um cluster. A criptografia no nível do cluster tem efeito no nível da tarefa e pode ser usada para criptografar os volumes do Amazon EBS anexados a cada tarefa executada em um cluster específico usando a chave KMS especificada. Para obter mais informações sobre como configurar a criptografia no nível do cluster para cada tarefa, consulte [ManagedStorageConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ManagedStorageConfiguration.html) na *Referência da API do Amazon ECS*.

É possível configurar uma combinação qualquer dessas chaves. A ordem de precedência das chaves do KMS é a seguinte:

1. A chave do KMS especificada na configuração do volume. Quando você especifica uma chave KMS na configuração do volume, ela substitui o padrão do Amazon EBS e qualquer chave do KMS especificada no nível do cluster.

1. A chave do KMS especificada no nível do cluster. Quando você especifica uma chave do KMS para criptografia no nível de cluster do armazenamento gerenciado do Amazon ECS, ela substitui a criptografia padrão do Amazon EBS, mas não substitui nenhuma chave do KMS especificada na configuração do volume.

1. Criptografia padrão do Amazon EBS. A criptografia padrão se aplica quando você não especifica uma chave do KMS em nível do cluster ou uma chave na configuração do volume. Se você habilitar a criptografia do Amazon EBS por padrão, o padrão será a chave do KMS que você especifica para criptografia por padrão. Caso contrário, o padrão é o Chave gerenciada pela AWS com o alias `alias/aws/ebs`.
**nota**  
Se você definir `encrypted` como `false` na configuração do volume, não especificar nenhuma chave do KMS em nível de cluster e habilitar a criptografia do Amazon EBS por padrão, o volume ainda será criptografado com a chave especificada para a criptografia do Amazon EBS por padrão.

## Política de chave do KMS gerenciada pelo cliente
<a name="ebs-kms-encryption-policy"></a>

Para criptografar um volume do EBS anexado à tarefa usando uma chave gerenciada pelo cliente, você deve configurar sua política de chave do KMS para garantir que o perfil do IAM usado na configuração do volume tenha as permissões necessárias para usar a chave. A política de chave deve incluir as permissões `kms:CreateGrant` e `kms:GenerateDataKey*`. As permissões `kms:ReEncryptTo` e `kms:ReEncryptFrom` são necessárias para criptografar volumes criados usando snapshots. Se quiser configurar e criptografar somente volumes novos e vazios para anexação, você pode excluir as permissões `kms:ReEncryptTo` e `kms:ReEncryptFrom`. 

O trecho JSON a seguir mostra as instruções de política de chave que você pode anexar à sua política de chave do KMS. O uso dessas instruções fornecerá acesso ao Amazon ECS para usar a chave para criptografar o volume do EBS. Para usar os exemplos de instruções de política, substitua os `user input placeholders` por suas próprias informações. Como sempre, configure apenas as permissões de que você precisa.

```
{
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:DescribeKey",
      "Resource":"*"
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": [
      "kms:GenerateDataKey*",
      "kms:ReEncryptTo",
      "kms:ReEncryptFrom"
      ],
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:CreateGrant",
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        },
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
```

Para obter mais informações sobre políticas e permissões de chave, consulte [Key policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) e [AWS KMS permissions](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) no *Guia do desenvolvedor do AWS KMS*. Para solucionar problemas de anexação de volumes do EBS relacionados às permissões de chave, consulte [Solução de problemas de anexações de volumes do Amazon EBS às tarefas do Amazon ECS](troubleshoot-ebs-volumes.md).