Vista geral
O GKE no AWS usa chaves simétricas do AWS Key Management Service (KMS) geridas pelo cliente para encriptar:
- Dados de estado do Kubernetes no etcd
- Dados do utilizador da instância do EC2
- Volumes EBS para a encriptação de dados inativos do plano de controlo e dos dados do conjunto de nós
Para ambientes de produção, recomendamos a utilização de chaves diferentes para a configuração e a encriptação de volumes. Para minimizar ainda mais os riscos se uma chave for comprometida, também pode criar chaves diferentes para cada um dos seguintes:
- Configuração do plano de controlo do cluster
- Base de dados do plano de controlo do cluster
- Volume principal do painel de controlo do cluster
- Volume raiz do painel de controlo do cluster
- Configuração do conjunto de nós
- Volume raiz do node pool
Para segurança adicional, pode criar uma política de chaves do AWS KMS que atribua apenas o conjunto de autorizações mínimo necessário. Para mais informações, consulte o artigo Criar chaves do KMS com autorizações específicas.
Crie uma chave do 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 da AWSKEY_DESC
com uma descrição de texto da sua chave
Para cada chave que criar, guarde o valor denominado KeyMetadata.Arn
na saída deste comando para utilização posterior.
Criar chaves do KMS com autorizações específicas
Se criar chaves separadas para diferentes funções, tem de fornecer uma política de chaves do KMS para cada chave que conceda as autorizações adequadas nessa chave. Se não especificar uma política de chaves quando cria uma chave, o AWS KMS cria uma política de chaves predefinida que concede a todos os diretores na conta proprietária acesso ilimitado a todas as operações da chave.
Quando cria uma política de chaves, tem de permitir que uma política de IAM do AWS aceda à política de chaves. A política de chaves também tem de conceder autorizações à sua conta para usar políticas do IAM. Sem autorização da política de chaves, as políticas IAM que permitem autorizações não têm efeito. Para mais informações, consulte o artigo Políticas de chaves no AWS KMS.
A tabela seguinte descreve as autorizações para cada uma das funções de IAM da AWS que o GKE na AWS usa.
Função de agente do serviço da API GKE Multi-Cloud | Função do plano de controlo | Função do node pool | Função de serviço da AWS para o AutoScaling | |
---|---|---|---|---|
Encriptação da configuração do plano de controlo do cluster | kms:Encrypt | kms:Decrypt | N/A | N/A |
Encriptação da base de dados do plano de controlo do cluster | N/A | kms:Encrypt kms:Decrypt |
N/A | N/A |
Encriptação do volume principal do plano de controlo do cluster | kms:GenerateDataKeyWithoutPlaintext | kms:CreateGrant | N/A | N/A |
Encriptação do volume raiz do plano de controlo do cluster | N/A | N/A | N/A | Consulte as secções principais da política que permitem o acesso à chave gerida pelo cliente |
Encriptação da configuração do node pool | kms:Encrypt | N/A | kms:Decrypt | N/A |
Encriptação do volume raiz do node pool | N/A | N/A | N/A | Consulte as secções principais da política que permitem o acesso à chave gerida pelo cliente |
Outros requisitos | kms:DescribeKey | N/A | N/A | N/A |