Esta página apresenta os principais conceitos de 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 a vida útil de um artefato de software. Para fins de compliance, essas informações de rastreamento podem precisar estar disponíveis mesmo após a desativação do artefato. 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.
Artifact Analysis permite armazenar informações de metadados associadas a um recurso. Esses metadados podem ser recuperados mais tarde para auditar a cadeia de suprimentos de software.
Como a Artifact Analysis armazena metadados
Artifact Analysis é baseada no Grafeas, uma API de metadados de componentes de código aberto que pode funcionar como uma fonte de verdade centralizada para rastreamento e aplicação de políticas. As ferramentas de build, auditoria e compliance podem usar o Grafeas para armazenar, consultar e extrair 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 separa 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. Você pode usá-la como uma loja de metadados universal centralizada 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. 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 de um pacote do Linux. Também é possível 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 os proprietários e criadores das notas. 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. Ela pode 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 com suporte no Artifact Analysis. Os provedores de metadados de terceiros podem armazenar e recuperar todos os tipos de metadados a seguir para as imagens dos clientes.
Tipo de metadados | Uso nos serviços do Google Cloud |
---|---|
Vulnerabilidade: fornece informações sobre vulnerabilidades 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 o Artifact Analysis armazena as informações se você usar o Cloud Build para criar a imagem. |
Imagem: são os metadados sobre a imagem do contêiner, por exemplo, informações sobre as diferentes camadas de uma imagem. | |
Pacote: contém informações sobre os pacotes instalados na imagem. | |
Implantação: traz informações sobre eventos de implantação de 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. |
O Attestation contém informações de certificação da imagem. | Sim. A autorização binária lê essas informações e pode usá-las para bloquear implantações. |
Upgrade, que descreve um upgrade de pacote disponível. | |
Compliance, que fornece informações sobre uma verificação de compliance. | |
Atestado DSSE, que descreve um atestado que usa a assinatura Dead Simple Signing Envelope. | |
A avaliação de vulnerabilidade armazena uma declaração VEX enviada no formato VulnerabilityAssessment note do Grafeas. | |
A referência do SBOM fornece mais metadados para ajudar a localizar e verificar SBOMs. |
A seguir
- Forneça metadados para suas imagens.
- Conceda controle granular sobre seus metadados configurando o controle de acesso.