Información general sobre la gestión de metadatos

En esta página se presentan los conceptos clave de la gestión de metadatos y su importancia en una cadena de envío 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. Por motivos de cumplimiento, es posible que esta información de seguimiento deba estar disponible incluso mucho después de que se haya retirado el artefacto. Para ello, se generan y almacenan 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.

Análisis de artefactos te permite almacenar información de metadatos asociada a un recurso. Estos metadatos se pueden recuperar más adelante para auditar tu cadena de suministro de software.

Cómo almacena los metadatos Artifact Analysis

Artifact Analysis se basa en Grafeas, una API de metadatos de componentes de código abierto que puede funcionar como una fuente de información veraz centralizada para monitorizar y aplicar políticas. Las herramientas de compilación, auditoría y cumplimiento pueden usar Grafeas para almacenar, consultar y obtener metadatos completos sobre componentes de software.

Como Grafeas es de código abierto, no estás obligado a usar un proveedor concreto. Grafeas asocia metadatos mediante un identificador de software único. Desacopla el almacenamiento de artefactos, por lo que puedes almacenar metadatos sobre componentes de muchos repositorios diferentes. Se aplican los mismos principios a Artifact Analysis, que puedes usar como un almacén de metadatos universal centralizado para componentes de software en Artifact Registry o en 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. En ese 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 concreta de 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 de las notas y los que las crean. Los clientes que quieran usar los metadatos podrán identificar las apariciones de las notas en sus proyectos.

Te recomendamos que almacenes las notas y las incidencias en proyectos independientes para tener un control de acceso más preciso.

Las notas solo deben poder editarlas sus propietarios y deben ser de solo lectura para los clientes que tengan acceso a las ocurrencias que las referencian.

Occurrence

Una ocurrencia representa el momento en el que se encontró una nota en un artefacto de software. Se puede considerar como una instanciación de una nota. Por ejemplo, una nota sobre una vulnerabilidad describiría el paquete en el que se ha encontrado la vulnerabilidad y los pasos específicos para solucionarla. También se puede describir las imágenes de contenedor que se han obtenido de una compilación.

Normalmente, las ocurrencias se almacenan en proyectos distintos de aquellos en los que se crean las notas. El acceso de escritura a las ocurrencias solo debe concederse a los usuarios que tengan acceso para vincular una nota a la ocurrencia. Cualquier usuario puede tener acceso de lectura a las ocurrencias.

Tipos de metadatos admitidos

En la siguiente tabla se enumeran los tipos de metadatos que admite Análisis de artefactos. Los proveedores de metadatos de terceros pueden almacenar y recuperar todos los tipos de metadatos siguientes de las imágenes de sus clientes.

Tipo de metadatos Uso en los servicios de Google Cloud
Vulnerabilidad proporciona información sobre las vulnerabilidades de los archivos auditados. El análisis de artefactos genera incidencias de vulnerabilidades basadas en bases de datos externas de problemas de seguridad divulgados públicamente.
Compilación proporciona información sobre la procedencia de la compilación. Cloud Build genera estos metadatos y Artifact Analysis almacena la información si usas Cloud Build para compilar la imagen.
Paquete: contiene información sobre los paquetes instalados en la imagen.
Discovery contiene información sobre el análisis inicial de las imágenes. Artifact Analysis solo proporciona esta información para los análisis de vulnerabilidades.
Attestation contiene información de certificación de la imagen. Sí. La autorización binaria lee esta información y puede usarla para controlar los despliegues.
La evaluación de vulnerabilidades almacena una declaración VEX subida en el formato de nota VulnerabilityAssessment de Grafeas.
La referencia de la lista de materiales de software (SBOM) proporciona metadatos adicionales para ayudarte a localizar y verificar las SBOMs.

Siguientes pasos