Observação
Esse recurso está atualmente dentro prévia pública e está sujeito a alterações.
Um pacote ainda é instalado após uma alteração de política
Os gerenciadores de pacotes e proxies de registro podem reutilizar pacotes baixados anteriormente de seus caches locais. Se nenhuma nova solicitação chegar a GitHub package firewall, o firewall não poderá avaliar o pacote em relação à sua política atualizada. Isso pode permitir que um pacote seja instalado depois de alterar uma política ou remover uma exceção.
Verificar o cache do npm local
Verifique: O pacote ainda é instalado com um cache npm vazio, em um ambiente de teste separado, por meio do mesmo ponto de extremidade de firewall?
-
Observe o nome exato do pacote, a versão e o escopo, se aplicável. Verifique se a política da empresa ou uma exceção permite essa versão.
-
Em um projeto temporário fora do original, configure o npm para usar o ponto de extremidade e a autenticação da GitHub package firewall mesma empresa, incluindo configurações de registro padrão e específicas do escopo. Mantenha o projeto original e o arquivo de bloqueio inalterados e não limpe um cache npm compartilhado. Consulte Protegendo endpoints com firewall de pacotes do GitHub.
-
Instale a versão exata usando um diretório de cache novo e vazio. Substitua
PACKAGE-NAME,EXACT-VERSIONeEMPTY-CACHE-DIRECTORYpelo nome do pacote, versão e caminho do diretório de cache. A--ignore-scriptsopção impede a execução de scripts de ciclo de vida do pacote.npm install PACKAGE-NAME@EXACT-VERSION \ --cache EMPTY-CACHE-DIRECTORY --ignore-scripts -
Compare o resultado com o projeto original:
- Se o firewall bloquear o teste, verifique se há diferenças nos pacotes instalados do projeto original, no cache, na configuração do registro e no lockfile. O teste bloqueado por si só não identifica qual diferença permitiu a instalação original.
- Se o teste for bem-sucedido, verifique se as solicitações para essa versão atingiram o ponto de extremidade de firewall da mesma empresa e verifique novamente a política e as exceções. Não suponha que o npm usou conteúdo em cache.
Cache do Artifactory
Observação
Essas diretrizes se aplicam somente à integração experimental do Artifactory para pacotes npm. Mesmo com um cache npm local vazio, o Artifactory pode fornecer conteúdo armazenado em cache sem enviar uma nova solicitação por meio do firewall.
Se o npm recuperar o pacote do Artifactory, verifique se o Artifactory serviu conteúdo armazenado em cache. Verifique também se o repositório npm virtual usa o remoto com suporte de firewall e não inclui um remoto que recupera o pacote diretamente do registro npm público. Consulte Protegendo endpoints com firewall de pacotes do GitHub.