Skip to main content

Sobre artefatos vinculados

O linked artifacts page ajuda você a auditar e priorizar os builds da sua organização em GitHub, independentemente de onde os artefatos são armazenados.

O linked artifacts page traz uma exibição unificada de artefatos de software que a sua organização compila usando GitHub Actions, como imagens de contêiner, pacotes ou builds do código de produção.

A página mostra como um artefato foi criado, onde ele está armazenado ou em execução e quais metadados de conformidade e segurança estão associados ao artefato.

As equipes em sua organização podem usar o linked artifacts page para:

  • Priorizar alertas a partir dos recursos de GitHub Advanced Security com base em se as vulnerabilidades detectadas estão em execução na produção ou expostas à Internet
  • Conectar rapidamente artefatos para compilar detalhes, locais de armazenamento e equipes responsáveis
  • Atender à conformidade exportando a prova auditável da procedência e integridade de seus artefatos

Quais artefatos aparecem em linked artifacts page?

O linked artifacts page é exclusivo para cada organização. Ele contém metadados para artefatos que foram criados com GitHub Actions nos repositórios da sua organização. Ele não exibe artefatos que sua organização consome de outros lugares, como dependências de software livre.

Os registros de artefato são carregados pela sua organização usando uma API pública ou uma integração com um registro externo. O linked artifacts page não armazena os arquivos de artefato em si. Ele apenas fornece uma fonte autoritativa para os metadados associados a cada artefato.

Como um artefato não precisa ser armazenado em GitHub para aparecer no linked artifacts page, você pode usar o linked artifacts page juntamente com seu registro de pacote preferencial, como JFrog Artifactory ou GitHub Packages.

Quais metadados estão incluídos?

O linked artifacts page combina dados de dois tipos diferentes de registro: registros de armazenamento e registros de implantação. Esses registros são carregados usando diferentes endpoints da API ou integrações.

Registros de armazenamento

Os registros de armazenamento incluem o repositório que contém o código-fonte do artefato, o registro em que o artefato está armazenado e quaisquer atestados que comprovem a integridade e a procedência do artefato. Você pode usar esses dados para localizar rapidamente a equipe proprietária de um artefato e os detalhes de build.

Captura de tela de uma página de artefatos. Campos realçados: registro de armazenamento, repositório de artefatos, repositório de origem.

O repositório de artefatos não é obrigatório. Ele se refere ao conceito de um repositório em determinados registros de pacote externo: um local onde vários pacotes podem ser agrupados. Por outro lado, o repositório de origem refere-se ao repositório GitHub em que o artefato é criado. O repositório de origem é obrigatório e será detectado automaticamente se o artefato tiver um atestado de procedência de build.

Para obter mais informações sobre atestados e níveis de SLSA, consulte Atestados de artefatos.

Registros de implantação

Os registros de implantação incluem o ambiente em que o artefato é implantado e quaisquer riscos de runtime (como "dados confidenciais" ou "expostos pela Internet") associados ao artefato. Você pode usar esses dados para filtrar alertas de segurança com base no nível de ameaça representado para sua organização e consumidores.

Captura de tela de uma página de artefatos. Campos realçados: a lista "Implantações", incluindo tags para "Prod", "dados confidenciais" e "pacific-east".

Observação

Os registros de implantação não incluem atividades de implantação do painel de implantações de um repositório, pois eles vêm de uma fonte diferente. Confira Exibir atividade de implantação no repositório.

Como os dados linked artifacts page se encaixam em meus processos?

Este fluxo de trabalho de exemplo mostra como linked artifacts page se integra com outros recursos de GitHub e sistemas externos.

  1. Um desenvolvedor faz commit do código em um repositório GitHub onde está definido o código de um pacote de software.

  2. Um fluxo de trabalho GitHub Actions no repositório é executado automaticamente:

    1. Compila o pacote.
    2. Envia o pacote por push para o registro escolhido, como GitHub Packages ou JFrog Artifactory.
    3. Cria um atestado de procedência assinado criptograficamente, vinculando o pacote ao repositório, à confirmação e ao fluxo de trabalho usados para criar o pacote.
    4. Implanta o pacote em um ambiente de preparo ou produção. Seu sistema de implantação pode ser fechado para garantir que apenas artefatos atestados possam ser implantados na produção, por exemplo, usando o Controlador de Admissões do Kubernetes.
  3. Os metadados do pacote, como seu repositório vinculado, atestados e histórico de implantação, são carregados no linked artifacts page.

  4. Usando os dados de linked artifacts page, um líder de segurança faz a triagem de varredura de código e alertas do Dependabot, além de criar uma campanha para solucionar alertas que afetam ambientes de produção ou têm um risco de tempo de execução específico.

  5. Quando uma auditoria é necessária, um membro da equipe de conformidade exporta SBOMs, informações de origem e registros de implementação para todos os artefatos vinculados da sua organização a partir de uma única fonte.

Próximas etapas

Para adicionar registros ao linked artifacts page da sua organização, consulte Carregando dados de armazenamento e implantação no linked artifacts page.

Para exibir o linked artifacts page para sua organização, consulte Auditando os builds da sua organização no linked artifacts page.