Skip to main content

Como fornecer acesso aos recursos de segurança acesso em registros privados

Se a sua organização usar registros privados, você poderá aprimorar os resultados da análise da code scanning e habilitar o Dependabot para manter mais dependências configurando o acesso a esses registros.

Sobre a importância de fornecer acesso em registros privados

Quando um repositório usa um código armazenado em um registro privado, alguns recursos de segurança precisam ter acesso ao registro para funcionarem corretamente. Sem o acesso a todas as dependências de um repositório, a configuração padrão da code scanning e o Dependabot ficam limitados.

Acesso de configuração padrão da Code scanning em registros privados

Note

Atualmente, a configuração de registros privados para a configuração padrão da code scanning a ser usada em uma organização está em versão prévia pública e sujeita a alterações. Os registros com suporte são: repositórios do Maven e feeds do NuGet.

A configuração padrão do Code scanning analisa o código da C# e Java sem compilá-lo. Se você não definir o acesso aos registros privados usados pela sua organização, a code scanning coletará apenas os dados necessários das dependências disponíveis em registros públicos. Na maioria das vezes, isso é suficiente para exibir a maioria das vulnerabilidades. No entanto, em alguns casos, a falta de acesso pode levar a resultados falsos negativos, ou seja, a code scanning não consegue detectar uma vulnerabilidade no código porque não tem todas as informações necessárias para analisá-lo. Por exemplo, alguns dos caminhos de fluxo de dados podem não ser detectados porque as etapas são definidas em dependências que não são acessíveis e a code scanning não sabe como interpretá-los.

Quando você configura o acesso aos registros privados usados na sua organização, a code scanning tem acesso a todas as informações necessárias e tem muito menos chance de perder uma vulnerabilidade.

Tip

Você pode definir um registro privado do Maven e um feed privado do NuGet para cada organização. Se as bases de código da sua organização usarem mais de um registro ou feed, defina o acesso ao registro mais importante para as bases de código dessa organização.

Como definir o acesso ao registro para a configuração padrão da code scanning

Você precisa ser um proprietário da organização para configurar o acesso em registros privados na interface do usuário. Você também pode usar a API REST com a permissão {read,write}_org_private_registries ou do proprietário da organização.

  1. Na guia Settings da organização, role a página para baixo até a seção “Security” e selecione Secrets and variables.
  2. Na lista expandida de segredos e variáveis, escolha Private registries para exibir a página “Private Registries”.
  3. Selecione New private registry para adicionar os detalhes de acesso de um registro privado.
  4. Use os campos URL e Type para definir o local e o tipo do registro:
    • URL é o local em que você acessa o registro privado. Por exemplo, para usar o registro GitHub Packages para o NuGet: https://nuget.pkg.github.com/.
    • Type é o tipo de registro.
  5. Selecione Token ou Username and password, dependendo do método de autenticação, e insira os dados nos campos apropriados.
  6. Defina os repositórios da organização que podem acessar o registro privado usando estes detalhes: todos, privados e internos ou somente repositórios selecionados.
  7. Quando terminar de definir o registro privado, selecione Add Registry para salvar as informações do registro.

Tip

Quando você adiciona um registro privado a uma organização, a senha ou o token é armazenado como um segredo criptografado. Depois que o registro for criado, a senha ou o token não poderão ser exibidos novamente.

Como habilitar a configuração padrão da code scanning para usar uma definição do registro

Quando você habilita a configuração padrão da code scanning para um repositório ou um grupo de repositórios, o GitHub verifica se os repositórios têm acesso a algum registro privado existente. Se algum registro privado estiver disponível para um repositório, a code scanning usará as definições relevantes durante a análise.

Ao configurar registros privados pela primeira vez, você precisa desabilitar e habilitar novamente a configuração padrão da code scanning para todos os repositórios que você deseja usar a nova definição. As configurações novas ou modificadas serão selecionadas automaticamente nas execuções seguintes.

Confirme se os registros privados foram usados com êxito pela análise da code scanning observando os arquivos de log do Actions. Confira “Como determinar se a configuração padrão da digitalização de código usou algum registro privado”.

Acesso de configuração avançada da Code scanning em registros privados

A configuração avançada da Code scanning usa todos os registros privados disponíveis para o fluxo de trabalho que executa a análise usando o codeql-action. Ela não tem acesso aos registros privados na organização usados pela configuração padrão.

Para linguagens compiladas, o codeql-action precisa observar um build do código. Você pode revisar o fluxo de trabalho de build existente para também executar o codeql-action ou criar um fluxo de trabalho que compila a versão de produção do código e também executa o codeql-action.

Todos os registros privados usados pelo build também precisam estar acessíveis ao fluxo de trabalho que executa o codeql-action. Para obter mais informações sobre a configuração avançada, confira Como definir a configuração avançada para verificação de código.

Acesso de atualizações da Dependabot em registros privados

O Dependabot usa todos os registros privados definidos no arquivo dependabot.yml. Ele não tem acesso aos registros privados na organização usados pela configuração padrão da code scanning.

O Dependabot não pode verificar se há atualizações de segurança ou de versão para o código armazenado em um registro privado, a menos que ele possa acessar o registro. Se você não configurar o acesso ao registro privado, o Dependabot não poderá gerar pull requests para atualizar nenhuma das dependências armazenadas no registro.

Quando você configura o acesso a um ou mais registros privados, o Dependabot pode propor pull requests para atualizar uma dependência vulnerável ou para manter uma dependência. Confira Configurando o acesso a registros privados para Dependabot e Diretrizes para a configuração de registros privados para o Dependabot.