Skip to main content

Configurando o Dependabot para trabalhar com acesso limitado à Internet

Você pode configurar Dependabot para gerar solicitações de pull para atualizações de versão e segurança usando registros privados quando GitHub Enterprise Server tiver acesso limitado ou não à Internet.

Sobre atualizações do Dependabot

Você pode usar Dependabot updates para corrigir vulnerabilidades e manter as dependências atualizadas para a versão mais recente no GitHub Enterprise Server. Dependabot updates exigem GitHub Actions com executores auto-hospedados configurados para uso de Dependabot. Os alertas do Dependabot e as atualizações de segurança usam informações do GitHub Advisory Database acessados usando GitHub Connect. Para saber mais, confira Gerenciar executores auto-hospedados para atualizações de Dependabot na sua empresa e Habilitando o Dependabot para sua empresa.

O Dependabot pode acessar registros públicos por padrão e você pode configurar o Dependabot para também acessar registros privados. Como alternativa, se sua instância tiver acesso limitado ou sem acesso à Internet, você poderá configurar Dependabot para usar apenas registros privados como fonte para atualizações de segurança e versão. Para saber sobre quais ecossistemas têm suporte como registros privados, confira Removing Dependabot access to public registries.

As instruções a seguir pressupõem que você precisa configurar executores de Dependabot com as limitações a seguir.

  • Sem acesso à internet.
  • Acesso a recursos internos limitados, como registros privados para Dependabot.

Restringindo o acesso à Internet para executores de Dependabot

Antes de configurar o Dependabot, instale o Docker em seu executor auto-hospedado. Para saber mais, confira Gerenciar executores auto-hospedados para atualizações de Dependabot na sua empresa.

  1. Em GitHub Enterprise Server, navegue até o repositório github/dependabot-action e recupere informações sobre as imagens de contêiner dependabot-updater e dependabot-proxy do arquivo containers.json.

    Cada versão do GitHub Enterprise Server inclui um arquivo atualizado containers.json em: https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json. Você pode conferir a versão de GitHub.com do arquivo em: containers.json.

  2. Pré-carregar todas as imagens de contêiner do GitHub Container registry no executor do Dependabot usando o comando docker pull. Como alternativa, pré-carregue a imagem dependabot-proxy e pré-carregue apenas as imagens de contêiner para os ecossistemas necessários.

    Por exemplo, para dar suporte a npm e GitHub Actions você pode usar os comandos a seguir, copiando detalhes das imagens a serem carregadas do arquivo containers.json para garantir que você tenha a versão correta e SHA para cada imagem.

    docker pull ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-github-actions:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-npm:VERSION@SHA
    

    Note

    Você precisará repetir esta etapa ao atualizar para uma nova versão secundária do GitHub Enterprise Server ou se atualizar manualmente a ação do Dependabot no GitHub.com. Para saber mais, confira Sincronizar ações do GitHub.com manualmente.

  3. Quando terminar de adicionar essas imagens ao executor, você estará pronto para restringir o acesso à Internet ao executor do Dependabot, garantindo que ele ainda possa acessar seus registros privados para os ecossistemas necessários e para o GitHub Enterprise Server.

    Você deve adicionar as imagens primeiro porque os executores do Dependabot efetuam pull dependabot-updater e dependabot-proxy do GitHub Container registry quando os trabalhos do Dependabot começam a ser executados.

Verificando a configuração de executores de Dependabot

  1. Para um repositório de teste, configure Dependabot para acessar registros privados e remover o acesso a registros públicos. Para saber mais, confira Configurando o acesso a registros privados para Dependabot e Removing Dependabot access to public registries.
  2. Na guia Insights do repositório, clique em Grafo de dependência para exibir detalhes das dependências.
  3. Clique em Dependabot para exibir os ecossistemas configurados para atualizações de versão.
  4. Para ecossistemas que você deseja testar, clique em Hora da Última verificação TIME atrás para mostrar "Atualizar logs".
  5. Clique em Verificar se há atualizações para marcar novas atualizações para dependências desse ecossistema.

Quando a verificação de atualizações for concluída, acesse a exibição "Atualizar logs" para verificar se o Dependabot acessou os registros privados configurados em sua instância para verificar se há atualizações de versão.

Depois de verificar se a configuração está correta, peça aos administradores do repositório que atualizem suas configurações de Dependabot para usar apenas registros privados. Para saber mais, confira Removing Dependabot access to public registries.