Visão geral do gerenciamento de metadados

Esta página apresenta conceitos importantes para o gerenciamento de metadados e a importância deles em uma cadeia de entrega de software segura.

Um dos aspectos de uma cadeia de suprimentos segura é acompanhar o ciclo de vida de um artefato de software. Para fins de compliance, essas informações de rastreamento podem precisar estar disponíveis mesmo muito tempo depois que o artefato for desativado. Isso pode ser feito gerando e armazenando metadados que descrevem eventos importantes sobre um artefato ou um recurso de software: uma imagem de contêiner, uma máquina virtual ou um pacote de software.

Com Artifact Analysis, é possível armazenar informações de metadados associadas a um recurso. Esses metadados podem ser recuperados posteriormente para auditar sua cadeia de suprimentos de software.

Como a Análise de artefatos armazena metadados

Artifact Analysis é criada com base no Grafeas, uma API de metadados de componentes de código aberto que pode funcionar como uma fonte centralizada de verdade para rastrear e aplicar políticas. As ferramentas de build, auditoria e compliance podem usar o Grafeas para armazenar, consultar e recuperar metadados abrangentes sobre componentes de software.

Como o Grafeas é de código aberto, você não fica preso a um fornecedor específico. O Grafeas associa metadados usando um identificador de software exclusivo. Ele desacopla o armazenamento de artefatos, para que você possa armazenar metadados sobre componentes de vários repositórios diferentes. Os mesmos princípios se aplicam ao Artifact Analysis. É possível usá-la como um repositório de metadados universal centralizado para componentes de software no Artifact Registry ou em qualquer outro local.

O modelo do Grafeas envolve duas entidades:

  • Um provedor que cria metadados armazenados em notas.
  • Um cliente que identifica se os metadados armazenados em uma nota se aplicam aos artefatos dele. Nesse caso, os metadados são representados como uma ocorrência de uma nota.

Observação

Uma nota descreve uma parte de metadados de alto nível. Por exemplo, você pode criar uma nota sobre uma vulnerabilidade específica para um pacote do Linux. Você também pode usar uma nota para armazenar informações sobre o criador de um processo de criação. Os provedores que realizam a análise geralmente são proprietários e criam anotações. Os clientes que quiserem usar os metadados poderão identificar ocorrências de notas nos projetos.

Recomendamos que você armazene notas e ocorrências em projetos separados, permitindo um controle de acesso mais refinado.

As notas só podem ser editáveis pelo proprietário dela e somente leitura para clientes que tenham acesso às ocorrências que as referenciam.

Ocorrência

Uma ocorrência representa quando uma nota foi encontrada em um artefato de software, podendo ser considerada uma instanciação de uma nota. Por exemplo, uma ocorrência de uma nota sobre uma vulnerabilidade descreveria o pacote em que a vulnerabilidade foi encontrada e as etapas de correção específicas. Como alternativa, uma ocorrência de uma nota sobre detalhes de criação descreveria as imagens de contêiner resultantes de uma criação.

Normalmente, as ocorrências são armazenadas em projetos separados daqueles em que as notas são criadas. O acesso de gravação a ocorrências só pode ser concedido a usuários que têm acesso para vincular uma nota à ocorrência. Qualquer usuário pode ter acesso de leitura a ocorrências.

Tipos de metadados compatíveis

A tabela a seguir lista os tipos de metadados compatíveis com Artifact Analysis. Provedores de metadados de terceiros podem armazenar e recuperar todos os tipos de metadados a seguir para as imagens dos respectivos clientes.

Tipo de metadados Uso nos serviços Google Cloud
Vulnerabilidade fornece informações sobre vulnerabilidade de arquivos auditados. O Artifact Analysis gera ocorrências de vulnerabilidade com base em bancos de dados externos de problemas de segurança divulgados publicamente.
Build fornece informações sobre a procedência do build. O Cloud Build gera esses metadados, e Artifact Analysis armazena as informações se você usar o Cloud Build para criar a imagem.
Pacote, que contém informações sobre os pacotes instalados na sua imagem.
Descoberta, que contém informações sobre a verificação inicial de imagens. O Artifact Analysis fornece essas informações apenas para verificações de vulnerabilidade.
Atestado contém informações de certificação da imagem. Sim. A autorização binária lê essas informações e pode usá-las para controlar implantações.
A avaliação de vulnerabilidades armazena uma declaração VEX enviada por upload no formato nota VulnerabilityAssessment do Grafeas.
A referência da lista de materiais de software (SBOM) fornece metadados adicionais para ajudar você a localizar e verificar as SBOMs.

A seguir