Visão geral
O GKE na AWS usa chaves simétricas do AWS Key Management Service (KMS) gerenciadas pelo cliente para criptografar:
- Dados de estado do Kubernetes no etcd
- Dados do usuário da instância EC2
- Volumes EBS para criptografia em repouso de dados do plano de controle e do pool de nós
Para ambientes de produção, recomendamos o uso de chaves diferentes para configuração e criptografia de volume. Para minimizar ainda mais os riscos caso uma chave seja comprometida, você também pode criar chaves diferentes para cada um dos seguintes:
- Configuração do plano de controle do cluster
- Banco de dados do plano de controle do cluster
- Volume principal do plano de controle do cluster
- Volume raiz do plano de controle do cluster
- Configuração do pool de nós
- Volume raiz do pool de nós
Para segurança adicional, você pode criar uma política de chaves do AWS KMS que atribui apenas o conjunto mínimo necessário de permissões. Para obter mais informações, consulte Criando chaves do KMS com permissões específicas .
Criar uma chave AWS KMS
Para criar uma chave, execute o seguinte comando:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
Substitua o seguinte:
-
AWS_REGION
com o nome da sua região AWS -
KEY_DESC
com uma descrição de texto da sua chave
Para cada chave criada, salve o valor chamado KeyMetadata.Arn
na saída deste comando para uso posterior.
Criação de chaves KMS com permissões específicas
Se você criar chaves separadas para funções diferentes, precisará fornecer uma política de chaves do KMS para cada chave, concedendo as permissões apropriadas para cada chave. Se você não especificar uma política de chaves ao criar uma chave, o AWS KMS criará uma política de chaves padrão que concede a todos os principais na conta proprietária acesso ilimitado a todas as operações da chave.
Ao criar uma política de chave, você deve permitir que uma política do AWS IAM acesse a política. A política também deve conceder à sua conta permissões para usar as políticas do IAM. Sem a permissão da política, as políticas do IAM que concedem permissões não têm efeito. Para obter mais informações, consulte Políticas de chave no AWS KMS .
A tabela a seguir descreve as permissões para cada uma das funções do AWS IAM que o GKE na AWS usa.
Função de agente de serviço da API Multi-Cloud do GKE | Função do plano de controle | Função do pool de nós | Função de serviço da AWS para dimensionamento automático | |
---|---|---|---|---|
Criptografia de configuração do plano de controle do cluster | kms:Criptografar | kms:Descriptografar | N / D | N / D |
Criptografia de banco de dados do plano de controle de cluster | N / D | kms:Criptografar kms:Descriptografar | N / D | N / D |
Criptografia do volume principal do plano de controle do cluster | kms:GerarChaveDeDadosSemTextoSimples | kms:CriarConcessão | N / D | N / D |
Criptografia do volume raiz do plano de controle do cluster | N / D | N / D | N / D | Consulte as seções da política de chaves que permitem acesso à chave gerenciada pelo cliente |
Criptografia de configuração do pool de nós | kms:Criptografar | N / D | kms:Descriptografar | N / D |
Criptografia do volume raiz do pool de nós | N / D | N / D | N / D | Consulte as seções da política de chaves que permitem acesso à chave gerenciada pelo cliente |
Outros requisitos | kms:DescribeKey | N / D | N / D | N / D |