Descripción general
GKE en AWS usa claves simétricas del servicio de administración de claves (KMS) de AWS para encriptar lo siguiente:
- Datos de estado de Kubernetes en etcd
- Datos del usuario de la instancia de EC2
- Los volúmenes de EBS para la encriptación en reposo de los datos del plano de control y del grupo de nodos
En entornos de producción, recomendamos usar diferentes claves para la configuración y la encriptación de volumen. Para minimizar aún más los riesgos si una clave se vulnera, también puedes crear claves diferentes para cada uno de los siguientes elementos:
- Configuración del plano de control del clúster
- Base de datos del plano de control del clúster
- Volumen principal del plano de control del clúster
- Volumen raíz del plano de control del clúster
- Configuración de grupos de nodos
- Volumen raíz del grupo de nodos
Para mayor seguridad, puedes crear una política de claves de AWS KMS que asigne solo el conjunto mínimo de permisos necesarios. Para obtener más información, consulta Crea claves de KMS con permisos específicos.
Crear una clave de KMS de AWS
Para crear una clave, ejecuta el siguiente comando:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
Reemplaza lo siguiente:
AWS_REGION
con el nombre de tu región de AWSKEY_DESC
con una descripción de texto de la clave
Por cada clave que crees, guarda el valor llamado KeyMetadata.Arn
en el resultado de este comando para usarlo más adelante.
Crea claves de KMS con permisos específicos
Si creas claves separadas para diferentes funciones, debes proporcionar una política de clave de KMS para cada clave que otorgue los permisos adecuados en esa clave. Si no especificas una política de clave cuando creas una clave, AWS KMS creará una política de clave predeterminada que otorgue a todas las principales de la cuenta propietaria acceso ilimitado a todas las operaciones de la clave.
Cuando creas una política de clave, debes permitir que una política de IAM de AWS acceda a la política de clave. La política de claves también debe otorgar permisos a tu cuenta para usar políticas de IAM. Sin el permiso de la política de claves, las políticas de IAM que permiten permisos no tienen ningún efecto. Para obtener más información, consulta Políticas clave en AWS KMS.
En la siguiente tabla, se describen los permisos para cada uno de los roles de IAM de AWS que usa GKE en AWS.
Rol del agente de servicio de la API de GKE Multi-Cloud | Rol del plano de control | Rol del grupo de nodos | Rol del servicio de AWS para el ajuste de escala automático | |
---|---|---|---|---|
Encriptación de configuración del plano de control del clúster | kms:Encrypt | kms:Decrypt | N/A | N/A |
Encriptación de la base de datos del plano de control del clúster | N/A | kms:Encrypt kms:Decrypt |
N/A | N/A |
Encriptación del volumen principal del plano de control del clúster | kms:GenerateDataKeyWithoutPlaintext | kms:CreateGrant | N/A | N/A |
Encriptación del volumen raíz del plano de control del clúster | N/A | N/A | N/A | Consulta las secciones de políticas de clave que permiten el acceso a la clave administrada por el cliente |
Encriptación de configuración del grupo de nodos | kms:Encrypt | N/A | kms:Decrypt | N/A |
Encriptación del volumen raíz del grupo de nodos | N/A | N/A | N/A | Consulta las secciones de políticas de clave que permiten el acceso a la clave administrada por el cliente |
Otros requisitos | kms:DescribeKey | N/A | N/A | N/A |