Skip to main content

Sobre artefatos vinculados

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

O linked artifacts page fornece uma visão unificada dos artefatos de software que sua organização constrói com 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 dados do linked artifacts page para:

  • Priorizar alertas de GitHub Advanced Security funcionalidades com base em se as vulnerabilidades detectadas estão sendo executadas em 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
  • Localizar repositórios associados a um artefato implementado e direcioná-los em conjuntos de regras de ramificação.

Quais artefatos aparecem no linked artifacts page?

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

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 próprios arquivos de artefatos. 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 no seu registro de pacote preferencial, como o JFrog Artifactory ou GitHub Packages.

Quais metadados estão incluídos?

          linked artifacts page combina dados de dois tipos diferentes de registro: registros de armazenamento e 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_GitHub refere-se ao repositório em que o artefato é compilado. 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.

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 Visualizando atividade de implantação no seu repositório.

Onde os dados do artefato estão disponíveis?

Além de estarem disponíveis no próprio linked artifacts page, os metadados do artefato são integrados às superfícies de política e segurança no GitHub. O Teams pode usar esses dados para tomar decisões de política ou priorizar problemas de segurança. Por exemplo, eles podem:

Como o linked artifacts page se encaixa em meus processos?

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

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

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

    1. Compila o pacote.
    2. Faz o push do pacote 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 do linked artifacts page, um líder de segurança triageia a verificação de código e os alertas do Dependabot, e cria uma campanha para lidar com 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 à sua organização linked artifacts page, consulte Carregando dados de armazenamento e implantação no linked artifacts page.

Para exibir o linked artifacts page de sua organização, consulte Auditoria dos builds da sua organização no linked artifacts page.