Aplicación del uso de imágenes firmadas del registro

Descubra cómo aplicar el uso de imágenes firmadas de Oracle Cloud Infrastructure Registry al desplegar aplicaciones en un cluster que ha creado mediante Container Engine for Kubernetes (OKE).

Por motivos de conformidad y seguridad, los administradores de sistemas a menudo desean desplegar software en un sistema de producción solo cuando están seguros de que:

  • el software proviene de un origen de confianza
  • el software no ha sido modificado desde su publicación, lo que comprometería su integridad

Para cumplir estos requisitos, puede firmar imágenes almacenadas en Oracle Cloud Infrastructure Registry. Las imágenes firmadas proporcionan una forma de verificar tanto el origen de una imagen como su integridad. Oracle Cloud Infrastructure Registry permite a los usuarios o sistemas enviar imágenes al registro y, a continuación, firmarlas creando una firma de imagen. Una firma de imagen asocia una imagen con una clave de cifrado maestra obtenida de Oracle Cloud Infrastructure Vault.

Los usuarios o sistemas que extraen una imagen firmada de Oracle Cloud Infrastructure Registry pueden estar seguros de que el origen de la imagen es de confianza y de que la integridad de la imagen no se ha visto comprometida. Para obtener más información, consulte Firma de imágenes por seguridad.

Para mejorar aún más la seguridad, puede configurar clusters que ha creado con Container Engine for Kubernetes para permitir solo el despliegue de imágenes de Oracle Cloud Infrastructure Registry que se han firmado mediante claves de cifrado maestras concretas. En un nivel superior, estos son los pasos a seguir:

  • Firme imágenes en Oracle Cloud Infrastructure Registry con firmas de imagen que utilizan claves de cifrado maestras de Oracle Cloud Infrastructure Vault (consulte Firma de imágenes por seguridad).
  • Cree una política de verificación de imágenes para un cluster que especifique las claves de cifrado maestras que se deben haber utilizado para firmar imágenes.
  • Active el cluster a fin de utilizar la política de verificación de imágenes para forzar el uso de imágenes firmadas adecuadamente.

Tenga en cuenta lo siguiente:

  • Una imagen en Oracle Cloud Infrastructure Registry se puede firmar con varias firmas, cada una de ellas asociada con una clave de cifrado maestra diferente. Si la política de verificación de imágenes de un cluster incluye al menos una de las claves de cifrado maestras, el cluster permite extraer la imagen de Oracle Cloud Infrastructure Registry.
  • Puede especificar hasta cinco claves de cifrado maestras en una política de verificación de imágenes del cluster.
  • Si activa un cluster para utilizar su política de verificación de imágenes, pero no especifica las claves de cifrado maestras que se deben haber utilizado para firmar una imagen:
    • cualquier imagen firmada se puede extraer de Oracle Cloud Infrastructure Registry, independientemente de las claves de cifrado maestras utilizadas para firmarla
    • cualquier imagen no firmada se puede extraer de Oracle Cloud Infrastructure Registry
  • Si activa un cluster para utilizar su política de verificación de imágenes, pero Container Engine for Kubernetes no puede conectarse a Oracle Cloud Infrastructure Registry, no se pueden extraer imágenes de Oracle Cloud Infrastructure Registry.
  • Una imagen de Oracle Cloud Infrastructure Registry se identifica por repositorio, nombre y etiqueta. Además, a cada versión de una imagen se le proporciona un resumen alfanumérico único. Si activa un cluster para que utilice su política de verificación de imágenes, en las especificaciones de pod (y otros archivos de manifiesto) debe hacer referencia a una imagen mediante el resumen de imagen en lugar de la etiqueta de imagen. Por ejemplo, utilice:
    image: phx.ocir.io/ansh81vru1zp/project01/ngnix-lb@sha256:ee44b399d______49c775b

    En lugar de simplemente:

    image: phx.ocir.io/ansh81vru1zp/project01/ngnix-lb:latest

    Tenga en cuenta que debe modificar todas las especificaciones de pod existentes (y otros archivos de manifiesto que hacen referencia a imágenes) para utilizar resúmenes de imagen en lugar de etiquetas de imagen.

  • Habiendo activado un cluster para utilizar su política de verificación de imágenes, es posible que tenga un requisito urgente para que un pod concreto extraiga una imagen que infringe la política. En este caso, puede agregar la anotación oracle.image-policy.k8s.io/break-glass: "true" a la especificación de pod. Después de agregar la anotación a la especificación de pod, el pod puede extraer cualquier imagen firmada y no firmada de Oracle Cloud Infrastructure Registry, independientemente de la política de verificación de imágenes del cluster.
  • Un cluster aplica el uso de imágenes firmadas por claves de cifrado maestras incluidas en su política de verificación de imágenes, siempre que:
    • las imágenes se extraigan de Oracle Cloud Infrastructure Registry (en lugar de extraerse de otros registros)
    • las imágenes se firmen mediante claves de cifrado maestras obtenidas de Oracle Cloud Infrastructure Vault

Políticas de IAM necesarias para aplicar el uso de imágenes firmadas

Para permitir que los clusters incluyan claves de cifrado maestras en las políticas de verificación de imágenes, debe otorgar permiso a los clusters para que utilicen claves de Oracle Cloud Infrastructure Vault. Por ejemplo, para otorgar este permiso a un cluster concreto en el arrendamiento:

Allow any-user to use keys in tenancy where request.user.id=<CLUSTER_OCID>

Para permitir que los clusters extraigan imágenes firmadas de Oracle Cloud Infrastructure Registry, debe otorgar permiso a los clusters para que accedan a los repositorios de Oracle Cloud Infrastructure Registry. Por ejemplo, para otorgar este permiso a un cluster concreto en el arrendamiento:

Allow any-user to read repos in tenancy where request.user.id=<CLUSTER_OCID>

Para obtener ejemplos de cómo crear políticas más granulares, consulte Cifrado de secretos estáticos de Kubernetes en etcd.

Aplicación del uso de imágenes firmadas

Para permitir que un cluster permita a las aplicaciones extraer solo aquellas imágenes de Oracle Cloud Infrastructure Registry que se han firmado mediante claves de cifrado maestras concretas:

  1. Si aún no tiene acceso a una clave asimétrica RSA en Oracle Cloud Infrastructure Vault, cree una o más claves de cifrado maestras como claves asimétricas RSA. Consulte Creación de una clave de cifrado maestra.
  2. Defina una política de verificación de imágenes para el cluster y especifique al menos una clave de cifrado maestra que se debe haber utilizado para firmar imágenes:
    1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Contenedores y artefactos, haga clic en Clusters de Kubernetes (OKE).
    2. Seleccione un compartimento en el que tenga permiso para trabajar.
    3. En la página Lista de clusters, seleccione el cluster para el que desea definir una política de verificación de imágenes.
    4. En Recursos, haga clic en Verificación de imagen.
    5. Haga clic en Editar verificación de imágenes.
    6. Seleccione Activar políticas de verificación de imágenes en este cluster para permitir que el cluster utilice la política de verificación de imágenes que define.
    7. Seleccione una clave de cifrado maestra en Oracle Cloud Infrastructure Vault que se debe haber utilizado para firmar imágenes.

      Si desea permitir que se extraigan imágenes firmadas por diferentes claves, puede especificar varias claves de cifrado maestras.

      Tenga en cuenta que si especifica varias claves de cifrado maestras, una imagen solo necesita firmarse por una de esas claves. Una imagen no tiene que firmarse por todas las claves de cifrado maestras que especifique. Puede especificar hasta cinco claves de cifrado maestras en la política de verificación de imágenes del cluster.

    8. Haga clic en Guardar configuración de verificación de imágenes.

      A partir de ahora, el cluster permite a las aplicaciones extraer solo aquellas imágenes de Oracle Cloud Infrastructure Registry que se han firmado mediante claves de cifrado maestras incluidas en la política de verificación de imágenes. Los intentos de extraer imágenes no permitidas se registran en logs de aplicaciones ( consulte Visualización de logs de la aplicación en nodos gestionados y nodos autogestionados).

  3. Firme las imágenes que desea que permita el cluster, utilizando firmas de imagen que asocien las imágenes con una o más de las claves de cifrado maestras de la política de verificación de imágenes que ha definido. Consulte Firma de imágenes por seguridad.
  4. (Opcional) Para desplegar una aplicación que extrae una imagen firmada de Oracle Cloud Infrastructure Registry, siga los pasos de Extracción de imágenes de Registry durante el despliegue y especifique la imagen en el archivo de manifiesto de la aplicación.