Criar uma chave KMS da AWS

Visão geral

O GKE na AWS usa chaves simétricas do serviço de gerenciamento de chaves da AWS (KMS) gerenciadas pelo cliente para criptografar:

Em ambientes de produção, recomendamos usar chaves diferentes para criptografia de configuração e volume. Para minimizar ainda mais os riscos, se uma chave for comprometida, também será possível criar chaves diferentes para cada um dos seguintes itens:

Para aumentar a segurança, é possível criar uma política de chave KMS da AWS que atribua apenas o conjunto mínimo necessário de permissões. Para mais informações, consulte Como criar chaves KMS com permissões específicas.

Criar uma chave KMS da AWS

Para criar uma chave, execute o seguinte comando:

aws --region AWS_REGION kms create-key \
    --description "KEY_DESC"

Substitua:

  • AWS_REGION pelo nome da região da AWS
  • KEY_DESC com uma descrição de texto da chave;

Para cada chave criada, salve o valor chamado KeyMetadata.Arn na saída deste comando para uso posterior.

Como criar chaves KMS com permissões específicas

Se você criar chaves separadas para funções diferentes, precisará fornecer uma política de chave KMS para cada chave que concede as permissões apropriadas nessa chave. Se você não especificar uma política de chave ao criar uma chave, o AWS KMS criará uma política de chave padrão que fornece todos os principais na conta proprietária acesso ilimitado a todas as operações para a chave.

Ao criar uma política de chave, você precisa permitir que uma política da AWS IAM acesse a política de chave. A política principal também precisa conceder permissões à sua conta para usar as políticas do IAM. Sem a permissão da política de chaves, as políticas do IAM que permitem permissões não têm efeito. Para mais informações, consulte Como usar políticas de chave no KMS da AWS (em inglês).

A tabela a seguir descreve as permissões de cada um dos papéis do IAM da AWS usados pelo GKE na AWS.

Papel de agente de serviço da API GKE Multi-Cloud Papel do plano de controle Papel do pool de nós Papel de serviço da AWS para escalonamento automático
Criptografia de configuração do plano de controle do cluster kms:Encrypt kms:Decrypt N/A N/A
Criptografia de banco de dados do plano de controle do cluster N/A kms:Encrypt
kms:Decrypt
N/A N/A
Criptografia do volume principal do plano de controle do cluster kms:GenerateDataKeyWithoutPlaintext kms:CreateGrant N/A N/A
Criptografia do volume raiz do plano de controle do cluster N/A N/A N/A Consulte Principais seções de políticas que permitem acesso à chave gerenciada pelo cliente
Criptografia de configuração do pool de nós kms:Encrypt N/A kms:Decrypt N/A
Criptografia do volume raiz do pool de nós N/A N/A N/A Consulte Principais seções de políticas que permitem acesso à chave gerenciada pelo cliente
Outros requisitos kms:DescribeKey N/A N/A N/A

A seguir