Todos los productos
Search
Centro de documentos

Container Registry:Uso de la firma de imágenes de contenedor

Última actualización: Sep 02, 2026

Para evitar ataques de intermediario y la actualización o ejecución de imágenes no autorizadas, Container Registry admite la firma automática a nivel de namespace. Cada imagen enviada a Container Registry se firma según las reglas de firma correspondientes, lo que garantiza la integridad de la imagen de extremo a extremo, desde la distribución hasta el despliegue.

Requisitos previos

Antes de empezar, asegúrese de cumplir con lo siguiente:

  • Una instancia de Container Registry Enterprise Edition (Advanced Edition): La firma de imágenes requiere el nivel Advanced Edition. Para obtener instrucciones de configuración, consulte Create a Container Registry Enterprise Edition instance.

  • Key Management Service (KMS) activado: KMS proporciona las claves asimétricas que se utilizan para firmar imágenes. Para obtener instrucciones de configuración, consulte Activate KMS.

Creación de claves asimétricas

La firma de imágenes utiliza algoritmos de clave asimétrica. Cree una clave KMS de tipo EC o RSA con el propósito establecido en SIGN o VERIFY.

  1. Inicie sesión en la consola de KMS.

  2. En la barra de navegación superior, seleccione la región donde desea crear las claves.

  3. En el panel de navegación izquierdo, haga clic en Keys y luego en Create Secret.

  4. En el cuadro de diálogo Create Secret, establezca el tipo de clave en EC o RSA y configure el parámetro Purpose en SIGN o VERIFY; después, haga clic en Confirm. Para más detalles sobre otros parámetros, consulte Create a CMK.

Autorización a Container Registry para acceder a claves KMS

Container Registry necesita permiso para leer sus claves asimétricas y realizar la firma. Configure este acceso mediante un rol de Resource Access Management (RAM) con una directiva personalizada.

Creación del rol RAM

  1. Inicie sesión en la consola de RAM.

  2. En el panel de navegación izquierdo, vaya a Identities > Role.

  3. En la página Role, haga clic en Create Role.

  4. En la página Create Role, establezca Principal Type en Cloud Account, especifique su cuenta de Alibaba Cloud y haga clic en Confirm.

  5. En el cuadro de diálogo Create Role, establezca Role Name como AliyunContainerRegistryKMSRole y haga clic en Confirm.

Actualización de la directiva de confianza

  1. En la página Role, busque AliyunContainerRegistryKMSRole y haga clic en el nombre del rol.

  2. Haga clic en la pestaña Trust Policy y luego en Edit Trust Policy.

  3. Reemplace el contenido de la directiva con el siguiente código y haga clic en Confirm:

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "cr.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }

Creación y vinculación de la directiva de permisos

  1. En el panel de navegación izquierdo de la consola de RAM, vaya a Permissions > Policies.

  2. En la página Policies, haga clic en Create Policy.

  3. En la página Create Policy, haga clic en la pestaña JSON Editor e introduzca la siguiente directiva. Reemplace ${region} y ${accountid} con su región e ID de cuenta reales.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "kms:*"
                ],
                "Resource": "acs:kms:${region}:${accountid}:*"
            }
        ],
        "Version": "1"
    }
  4. Haga clic en Confirm. En el cuadro de diálogo Create Policy, establezca Policy Name como AliyunContainerRegistryKMSRolePolicy y configure la Description; luego, haga clic en Confirm.

  5. En el panel de navegación izquierdo, vaya a Identities > Role. Busque AliyunContainerRegistryKMSRole y haga clic en Add Permission en la columna Actions.

  6. En el panel Add Permission, seleccione Custom Policy como tipo de directiva, busque y seleccione AliyunContainerRegistryKMSRolePolicy y haga clic en Confirm.

Configuración de un testigo y una directiva de verificación de firmas

Un testigo vincula sus claves KMS al flujo de trabajo de firma de Container Registry. De forma opcional, puede asociar el testigo con un clúster de Container Service for Kubernetes (ACK) para aplicar la verificación de firmas durante el despliegue.

  1. Inicie sesión en la consola de Cloud Security Center.

  2. En el panel de navegación izquierdo, vaya a Protection Configuration > Container Protection > Container Signature. En la página Container Signature, haga clic en la pestaña Witness y luego en create a witness.

  3. Cree un testigo y asócielo con las claves KMS que creó. Estas claves se utilizan para la firma de imágenes.

  4. (Opcional) Cree una directiva de verificación de firmas para asociar el testigo con un clúster ACK. Para más detalles, consulte Use the container signature feature.

Configuración de una regla de firma

Una regla de firma define qué imágenes se firman y cómo se hace. Después de crear una regla, Container Registry firma automáticamente cada nueva imagen enviada al namespace especificado.

Nota

Una regla de firma solo se aplica a las imágenes enviadas después de su creación. Las imágenes existentes en el namespace no se firman.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En el panel de navegación izquierdo, haga clic en Instances.

  4. En la página Instances, haga clic en la instancia Enterprise Edition que desea gestionar.

  5. En el panel de navegación izquierdo, vaya a Security and Trust > Image Signature y haga clic en Create a signature rule.

  6. En el paso Key Configurations, seleccione el testigo que creó en Cloud Security Center y asócielo con las claves KMS; luego, haga clic en Next.

  7. En el paso Signature Configurations, configure los siguientes parámetros y haga clic en Create Signing Rule.

    Parámetro

    Descripción

    Algorithms

    Algoritmo utilizado para firmar imágenes. Valores válidos: RSA_PSS_SHA_256 y RSA_PKCS1_SHA_256.

    Scope

    Actualmente, la firma automática es compatible a nivel de namespace. Seleccione el namespace cuyas imágenes se firmarán automáticamente.

    Signature types

    Default: Firma tanto los resúmenes (digests) como las etiquetas de las imágenes. Utilice esta opción para la verificación de firmas dentro de la misma instancia. Simple: Firma solo los resúmenes de las imágenes (no las etiquetas). Utilice esta opción para escenarios de replicación de imágenes entre instancias donde las etiquetas pueden cambiar.

    Trigger Type

    Forma en que se activa la firma de imágenes. El valor predeterminado es Automatic Trigger, que firma las imágenes cada vez que se envían a Container Registry.

Verificación de firmas de imágenes

Utilice kritis-validation-hook para verificar las firmas de imágenes de contenedor en clústeres ACK. kritis-validation-hook puede bloquear automáticamente el despliegue de imágenes si falla la verificación de la firma. Este es el método de verificación recomendado. Para obtener instrucciones de configuración, consulte Introduction to kritis-validation-hook.

Como alternativa, utilice la función de verificación de firmas de KMS para verificar las firmas de imágenes directamente en Container Registry.