Descripción general de la administración de metadatos

En esta página, se presentan los conceptos clave de la administración de metadatos y su importancia en una cadena de entrega de software segura.

Uno de los aspectos de una cadena de suministro segura es hacer un seguimiento de la vida útil de un artefacto de software. Para garantizar el cumplimiento, es posible que esta información de seguimiento deba estar disponible incluso mucho después de que se retire el artefacto. Esto se puede lograr generando y almacenando metadatos que describen eventos importantes sobre un artefacto o un recurso de software: una imagen de contenedor, una máquina virtual o un paquete de software.

Artifact Analysis te permite almacenar información de metadatos asociada con un recurso. Estos metadatos se pueden recuperar más adelante para auditar tu cadena de suministro de software.

Cómo almacena metadatos Artifact Analysis

Artifact Analysis se compila en Grafeas, una API de metadatos de componentes de código abierto que puede funcionar como una fuente de información centralizada para hacer un seguimiento de las políticas y aplicarlas. Las herramientas de compilación, auditoría y cumplimiento pueden usar Grafeas para almacenar, consultar y recuperar metadatos integrales sobre los componentes de software.

Como Grafeas es de código abierto, no estás limitado a un proveedor en particular. Grafeas asocia metadatos con un identificador de software único. Separa el almacenamiento de artefactos, por lo que puedes almacenar metadatos sobre componentes de muchos repositorios diferentes. Los mismos principios se aplican a Artifact Analysis. Puedes usarlo como un almacén de metadatos universal centralizado para componentes de software en Artifact Registry o cualquier otra ubicación.

El modelo de Grafeas incluye dos entidades:

  • Un proveedor que crea metadatos almacenados en notas
  • Un cliente que identifica si los metadatos almacenados en una nota se aplican a sus artefactos. Si ese es el caso, los metadatos se representan como una ocurrencia de una nota.

Nota

Una nota describe un fragmento de metadatos de alto nivel. Por ejemplo, puedes crear una nota sobre una vulnerabilidad en particular para un paquete de Linux. También puedes usar una nota para almacenar información sobre el creador de un proceso de compilación. Los proveedores que realizan el análisis suelen ser los propietarios y creadores de las notas. Los clientes que deseen usar los metadatos pueden identificar los casos de las notas dentro de sus proyectos.

Te recomendamos que almacenes notas y casos en proyectos diferentes, lo que permite un control de acceso más detallado.

Solo el propietario de la nota puede editarla. Por su parte, los clientes con acceso a los casos que hacen referencia a ella tienen acceso de solo lectura.

Caso

Un caso se produce cuando se encuentra una nota en un artefacto de software. Se puede considerar una instancia de una nota. Por ejemplo, el caso de una nota sobre una vulnerabilidad describiría el paquete en el que se encontró la vulnerabilidad y los pasos específicos para su solución. Como alternativa, un caso de una nota acerca de los detalles de compilación describiría las imágenes de contenedor que surgieron como resultado de una compilación.

Por lo general, los casos se almacenan en proyectos distintos de aquellos en los que se crearon las notas. El acceso de escritura a los casos solo se debe otorgar a los usuarios que tienen acceso para vincular una nota con el caso. Cualquier usuario puede tener acceso de lectura a los casos.

Tipos de metadatos admitidos

En la siguiente tabla, se enumeran los tipos de metadatos que admite Artifact Analysis. Los proveedores de metadatos externos pueden almacenar y recuperar todos los tipos de metadatos siguientes para las imágenes de sus clientes.

Tipo de metadatos Uso en los servicios de Google Cloud
Vulnerabilidad proporciona información sobre vulnerabilidades para los archivos auditados. Artifact Analysis genera ocurrencias de vulnerabilidades basadas en bases de datos externas de problemas de seguridad divulgados públicamente.
Compilación: Proporciona información sobre la fuente de la compilación. Cloud Build genera estos metadatos, y Artifact Analysis almacena la información si usas Cloud Build para compilar la imagen.
Imagen: Son los metadatos sobre la imagen del contenedor; por ejemplo, la información sobre las diferentes capas de una imagen.
Paquete: Contiene información sobre los paquetes instalados en tu imagen.
Implementación: Proporciona información sobre los eventos de implementación de las imágenes.
Descubrimiento: Contiene información sobre el análisis inicial de las imágenes. Artifact Analysis proporciona esta información solo para los análisis de vulnerabilidades.
Attestation: Contiene información de certificación de las imágenes. Sí. La autorización binaria lee esta información y puede usarla para controlar las implementaciones.
Upgrade, que describe una actualización de paquete disponible.
Cumplimiento: Proporciona información sobre una verificación de cumplimiento.
Certificación de DSSE, que describe una certificación que usa la firma de Dead Simple Signing Envelope.
La evaluación de vulnerabilidades almacena una declaración de VEX subida en el formato de nota VulnerabilityAssessment de Grafeas.
La referencia de SBOM proporciona metadatos adicionales para ayudarte a ubicar y verificar los SBOM.

¿Qué sigue?