Crear una clave de KMS de AWS

Información general

GKE on AWS usa claves simétricas de AWS Key Management Service (KMS) gestionadas por el cliente para encriptar lo siguiente:

  • Datos de estado de Kubernetes en etcd
  • Datos de usuario de la instancia EC2
  • Volúmenes de EBS para el cifrado en reposo de los datos del plano de control y del grupo de nodos

En los entornos de producción, recomendamos usar claves diferentes para la configuración y el cifrado de volúmenes. Para minimizar aún más los riesgos si se vulnera una clave, también puedes crear claves diferentes para cada uno de los siguientes elementos:

Para aumentar la seguridad, puede crear una política de claves de KMS de AWS que asigne solo el conjunto mínimo de permisos necesarios. Para obtener más información, consulta Crear 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"

Haz los cambios siguientes:

  • AWS_REGION con el nombre de tu región de AWS
  • KEY_DESC con una descripción de texto de tu clave

Por cada clave que cree, guarde el valor llamado KeyMetadata.Arn en el resultado de este comando para usarlo más adelante.

Crear claves de KMS con permisos específicos

Si creas claves independientes para diferentes funciones, debes proporcionar una política de claves de KMS para cada clave que conceda los permisos adecuados en esa clave. Si no especificas una política de claves al crear una clave, AWS KMS creará una política de claves predeterminada que conceda a todos los principales de la cuenta propietaria acceso ilimitado a todas las operaciones de la clave.

Cuando creas una política de claves, debes permitir que una política de gestión de identidades y accesos de AWS acceda a la política de claves. La política de claves también debe dar permisos a tu cuenta para usar políticas de gestión de identidades y accesos. Sin el permiso de la política de claves, las políticas de gestión de identidades y accesos que permiten permisos no tienen ningún efecto. Para obtener más información, consulta Políticas de claves en AWS KMS.

En la siguiente tabla se describen los permisos de cada uno de los roles de IAM de AWS que usa GKE en AWS.

Rol de agente de servicio de la API de GKE Multi-cloud Rol del plano de control Rol del grupo de nodos Rol de servicio de AWS para el escalado automático
Cifrado de la configuración del plano de control del clúster kms:Encrypt kms:Decrypt N/A N/A
Cifrado de la base de datos del plano de control del clúster N/A kms:Encrypt
kms:Decrypt
N/A N/A
Cifrado del volumen principal del plano de control del clúster kms:GenerateDataKeyWithoutPlaintext kms:CreateGrant N/A N/A
Cifrado del volumen raíz del plano de control del clúster N/A N/A N/A Consulta las secciones de la política de claves que permiten acceder a la clave gestionada por el cliente.
Cifrado de la configuración del grupo de nodos kms:Encrypt N/A kms:Decrypt N/A
Cifrado del volumen raíz del grupo de nodos N/A N/A N/A Consulta las secciones de la política de claves que permiten acceder a la clave gestionada por el cliente.
Otros requisitos kms:DescribeKey N/A N/A N/A

Siguientes pasos