

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Habilitar a criptografia de volume do EBS com chaves do KMS gerenciadas pelo cliente para o modo automático do EKS
<a name="auto-kms"></a>

Você pode criptografar o volume raiz efêmero das instâncias do modo automático do EKS com uma chave do KMS gerenciada pelo cliente.

O modo automático do Amazon EKS usa perfis vinculados a serviços para delegar permissões a outros serviços da AWS ao gerenciar volumes criptografados do EBS para seus clusters do Kubernetes. Este tópico descreve como configurar a política de chaves necessária para especificar uma chave gerenciada pelo cliente para criptografia do Amazon EBS com o modo automático do EKS.

Considerações:
+ O modo automático do EKS não precisa de autorização adicional para usar a chave gerenciada pela AWS padrão para proteger os volumes criptografados em sua conta.
+ Este tópico aborda a criptografia de volumes efêmeros, os volumes raiz para instâncias do EC2. Para obter mais informações sobre a criptografia de volumes de dados usados em workloads, consulte [Criar uma classe de armazenamento](create-storage-class.md).

## Visão geral
<a name="_overview"></a>

As seguintes chaves do AWS KMS podem ser usadas para criptografia do volume raiz do Amazon EBS quando o modo automático do EKS executa instâncias:
+  **Chave gerenciada pela AWS**: uma chave de criptografia em sua conta que é criada por, pertencente a e é gerenciada pelo Amazon EBS. Essa é a chave de criptografia padrão para uma nova conta.
+  **Chave gerenciada pelo cliente**: uma chave de criptografia personalizada que você cria, possui e gerencia.

**nota**  
A chave deve ser simétrica. O Amazon EBS não oferece suporte a chaves gerenciadas pelo cliente assimétricas.

## Etapa 1: configurar a política de chave
<a name="_step_1_configure_the_key_policy"></a>

Suas chaves do KMS devem ter uma política de chaves que permita que o modo automático do EKS execute instâncias com volumes do Amazon EBS criptografados com uma chave gerenciada pelo cliente.

Configure sua política de chaves com a seguinte estrutura:

**nota**  
Esta política inclui apenas permissões para o modo automático do EKS. A política de chaves poderá precisar de permissões adicionais se outras identidades precisarem usar a chave ou gerenciar concessões.

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "MyKeyPolicy",
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/ClusterServiceRole"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/ClusterServiceRole"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
    ]
}
```

Certifique-se de substituir `<account-id>` pelo ID real da sua conta da AWS.

Ao configurar a política de chaves:
+ O `ClusterServiceRole` deve ter as permissões do IAM necessárias para usar a chave do KMS para operações de criptografia
+ A condição `kms:GrantIsForAWSResource` garante que concessões só possam ser criadas para serviços da AWS

## Etapa 2: configurar o NodeClass com sua chave gerenciada pelo cliente
<a name="_step_2_configure_nodeclass_with_your_customer_managed_key"></a>

Depois de configurar a política de chaves, faça referência à chave do KMS na configuração NodeClass do modo automático do EKS:

```
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: my-node-class
spec:
  # Insert existing configuration

  ephemeralStorage:
    size: "80Gi"  # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T
    iops: 3000    # Range: 3000-16000
    throughput: 125  # Range: 125-1000

    # KMS key for encryption
    kmsKeyID: "arn:aws:kms:<region>:<account-id>:key/<key-id>"
```

Substitua os valores dos espaços reservados por seus valores reais:
+  `<region>` com sua região da AWS
+  `<account-id>` com o ID da sua conta da AWS
+  `<key-id>` com o ID da sua chave do KMS

Você pode especificar a chave do KMS usando qualquer um dos seguintes itens:
+ ID da chave do KMS: `1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d` 
+ ARN da chave KMS: ` arn:aws:kms:us-west-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d` 
+ Nome do alias da chave: `alias/eks-auto-mode-key` 
+ ARN do alias da chave: ` arn:aws:kms:us-west-2:111122223333:alias/eks-auto-mode-key` 

Aplique a configuração de NodeClass usando kubectl:

```
kubectl apply -f nodeclass.yaml
```

## Recursos relacionados
<a name="_related_resources"></a>
+  [Criar uma classe de nó para o Amazon EKS](create-node-class.md) 
+ Veja mais informações no Guia do desenvolvedor do AWS Key Management Service.
  +  [Permissões para serviços da AWS em políticas de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-services.html) 
  +  [Alterar uma política de chave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) 
  +  [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) 