Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Encrypt secrets at rest in an ACK Edge cluster with Alibaba Cloud KMS

Última actualización: Sep 17, 2026

En un clúster ACK Edge Pro cluster, utilice las claves de Alibaba Cloud Key Management Service (KMS) para cifrar los Secrets de Kubernetes en reposo y reforzar la protección de datos. Este tema explica cómo habilitar el cifrado de Secrets en reposo con claves administradas por KMS, con el fin de proteger la información confidencial almacenada en etcd.

Requisitos previos

Elemento

Descripción

Clave de KMS

Ya creó una clave de KMS en la Key Management Service console. Esta clave debe ubicarse en la misma región que el clúster ACK Pro de destino.

Los clústeres ACK Pro admiten claves predeterminadas, de software y de hardware. Seleccione el tipo de clave que necesite. Para obtener más información sobre la administración de claves y las operaciones relacionadas, consulte Key management quick start. Para conocer los detalles de facturación de KMS, consulte billing.

Importante

Después de habilitar el cifrado en reposo, no use la consola ni la API de KMS para deshabilitar o eliminar la clave utilizada para cifrar y descifrar los secrets. De lo contrario, el servidor de API del clúster dejará de estar disponible. Como consecuencia, no podrá recuperar objetos como secrets y ServiceAccounts, lo cual interrumpirá sus aplicaciones.

Reglas de ACL de red del clúster

Cuando se habilita el cifrado en reposo, el complemento de KMS en el plano de control necesita acceder a las API de Alibaba Cloud KMS para cifrar y descifrar los secrets. Para permitirlo, agregue reglas que autoricen el tráfico hacia el bloque 100.64.0.0/10 CIDR, reservado para los servicios de Alibaba Cloud. Asegúrese de que la dirección de salida de su security group y las reglas de entrada y salida de la ACL de red de su VPC permitan este tráfico. En caso contrario, el plano de control del clúster podría dejar de estar disponible. Para obtener más información, consulte basic security group.

Autorización

Asegúrese de haber otorgado los permisos obligatorios según su tipo de cuenta.

  • Cuenta de Alibaba Cloud: otorgue el rol de sistema AliyunCSManagedSecurityRole a su cuenta de Container Service for Kubernetes (ACK). Si no lo ha hecho, la consola de ACK le pedirá conceder los permisos necesarios cuando habilite el cifrado en reposo. Siga las instrucciones en pantalla o vaya a la página de autorización rápida de Resource Access Management (RAM) para completar la autorización.

  • Usuario o rol de RAM:

Cifrado de Secrets

En un clúster de Kubernetes, la información confidencial de las aplicaciones (como contraseñas, certificados TLS y credenciales de imágenes de Docker) se almacena y gestiona mediante objetos secret. Kubernetes guarda todos los datos de estos objetos en la base de datos etcd del clúster. Para obtener más información sobre los secrets, consulte Secrets.

En un clúster ACK Edge Pro cluster, puede cifrar con una clave de KMS los Secrets de Kubernetes almacenados en etcd. El proceso utiliza el proveedor de cifrado KMS de Kubernetes mediante cifrado de sobre (envelope encryption):

  1. Al almacenar un Secret, el servidor de API genera una clave de cifrado de datos (DEK) para cifrarlo y luego cifra dicha DEK con la clave de KMS. Tanto el Secret cifrado como la DEK cifrada se guardan en etcd.

  2. Al recuperar un Secret, el servidor de API llama a KMS para descifrar la DEK. Después, usa la DEK en texto plano para descifrar y devolver los datos del Secret.

Para obtener más información, consulte KMS Encryption Provider mechanism y Use a KMS key for envelope encryption.

Habilitar el cifrado de Secrets en reposo en un clúster ACK Edge Pro cluster

Clústeres nuevos

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en Create Kubernetes Cluster.

  3. Haga clic en la pestaña ACK Edge. Expanda Advanced Options (Optional). En Secret Encryption, seleccione Select Key y elija un ID de clave de KMS.

    Si no cuenta con una clave de KMS, haga clic en Create Key para create one en la consola de KMS.

    Para consultar el resto de los parámetros del clúster ACK Edge Pro cluster, consulte Create a cluster.

    Para comprobarlo, inicie sesión en la consola de ActionTrail y haga clic en Cluster Events Query. En la página Cluster Events Query, busque eventos de cifrado y descifrado que utilicen el rol de sistema aliyuncsmanagedsecurityrole.

Clústeres existentes

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

  2. En la página Clusters, haga clic en el nombre del clúster de destino. En la página de detalles del clúster, haga clic en la pestaña Basic Information. En la sección Security and Auditing, active el interruptor Secret Encryption.

    La primera vez que habilite esta función, el sistema le pedirá otorgar permisos. Haga clic en Go to RAM console. En la página Cloud Resource Access Authorization de Resource Access Management (RAM), haga clic en Confirm.

    Nota
    • Para habilitar el cifrado en reposo, asegúrese de que el usuario o rol de RAM con el que inició sesión tenga permisos de administrador RBAC o de operación y mantenimiento en el clúster. Para obtener más información, consulte Authorize resources in a cluster by using RBAC.

    • Para otorgar permisos al rol AliyunCSManagedSecurityRole, asegúrese de haber iniciado sesión con una cuenta de Alibaba Cloud, o bien con un usuario o rol de RAM que cuente con permisos de administración de RAM.

  3. En el cuadro de diálogo Secret Encryption, seleccione una clave de KMS existente y haga clic en OK.

    Si no cuenta con una clave de KMS, haga clic en Create Key para ir a la consola de Key Management Service y crear una clave. Para obtener más información, consulte Create a key.

    Cuando el estado del clúster cambie de Updating a Running, el cifrado de secrets en reposo estará habilitado para el clúster.

    Si ya no necesita esta función, desactive el interruptor Security and Auditing en la sección Secret Encryption.

Rotación automática de claves

Puede usar la función de rotación automática de claves de KMS para cifrar los secrets en reposo. Cuando una clave rota automáticamente, los secrets existentes permanecen cifrados con la versión anterior de la clave, mientras que los nuevos se cifran con la versión actualizada. Para obtener más información sobre la rotación automática de claves, consulte Key rotation.

Para garantizar que los secrets existentes también se cifren con la nueva versión de la clave, ejecute el siguiente comando y vuelva a cifrarlos después de que la clave rote automáticamente.

kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - encryption-key-rotation-time="$(date -u +'%Y-%m-%dT%H:%M:%S%z')"

Preguntas frecuentes

¿Los secrets obtenidos con kubectl están cifrados?

No. El cifrado en reposo protege únicamente los datos sin procesar del secret dentro de etcd, donde se almacenan como texto cifrado. Sin embargo, cuando usted usa la API de Secrets a través del servidor de API, recibe los datos del secret en texto plano.

Cómo evitar que un usuario o rol de RAM habilite o deshabilite el cifrado de Secrets en reposo en un clúster ACK Edge cluster existente

Asigne la siguiente política de RAM con efecto Deny a un usuario o rol de RAM para impedir que habilite o deshabilite el cifrado en reposo de un clúster ACK Edge existente.ACK Edge Pro cluster. Consulte Use RAM to grant permissions to access clusters and cloud resources.

{
    "Action": [
        "cs:UpdateKMSEncryption"
    ],
    "Effect": "Deny",
    "Resource": [
        "*"
    ]
}