Skip to main content
Skip to content

Problembehandlung bei GitHub-Paket-Firewall

Überprüfen Sie, ob zwischengespeicherte Pakete oder Konfigurationsprobleme die unerwarteten Installationsergebnisse mit GitHub package firewall erklären.

Hinweis

Dieses Feature befindet sich derzeit in Öffentliche Vorschau und kann geändert werden.

Ein Paket wird nach einer Richtlinienänderung weiterhin installiert.

Paketmanager und Registrierungsproxys können zuvor heruntergeladene Pakete aus ihren lokalen Caches wiederverwenden. Wenn keine neue Anfrage GitHub package firewall erreicht, kann die Firewall das Paket nicht anhand Ihrer aktualisierten Richtlinie auswerten. Dadurch kann eine Paketinstallation nach dem Ändern einer Richtlinie oder Entfernen einer Ausnahme möglich sein.

Überprüfen Sie den lokalen npm-Cache

Überprüfen Sie: Wird das Paket weiterhin mit einem leeren npm-Cache in einer separaten Testumgebung über denselben Firewallendpunkt installiert?

  1. Beachten Sie ggf. den genauen Paketnamen, die Version und den genauen Scope. Überprüfen Sie, ob die Richtlinie des Unternehmens oder eine Ausnahme diese Version zulässt.

  2. Konfigurieren Sie npm in einem temporären Projekt außerhalb des ursprünglichen Projekts für die Verwendung desselben Unternehmensendpunkts GitHub package firewall und der Authentifizierung, einschließlich standard- und bereichsspezifischer Registrierungseinstellungen. Behalten Sie das ursprüngliche Projekt und die Sperrdatei unverändert bei, und löschen Sie keinen freigegebenen npm-Cache. Siehe Schutz von Endpunkten mit GitHub Package Firewall.

  3. Installieren Sie die genaue Version mit einem neuen, leeren Cacheverzeichnis. Ersetzen Sie EXACT-VERSION, EMPTY-CACHE-DIRECTORY und PACKAGE-NAME durch den Paketnamen, die Version und den Cacheverzeichnispfad. Die --ignore-scripts Option verhindert, dass Paketlebenszyklusskripts ausgeführt werden.

    npm install PACKAGE-NAME@EXACT-VERSION \
      --cache EMPTY-CACHE-DIRECTORY --ignore-scripts
    
  4. Vergleichen Sie das Ergebnis mit dem ursprünglichen Projekt:

    • Wenn die Firewall den Test blockiert, überprüfen Sie die installierten Pakete, den Cache, die Registrierungskonfiguration und die Sperrdatei auf Unterschiede. Der blockierte Test allein identifiziert nicht, welcher Unterschied die ursprüngliche Installation erlaubt hat.
    • Wenn der Test erfolgreich ist, überprüfen Sie, ob Anforderungen für diese Version den Firewallendpunkt desselben Unternehmens erreicht haben, und überprüfen Sie dann die Richtlinie und Ausnahmen erneut. Gehen Sie nicht davon aus, dass npm zwischengespeicherte Inhalte verwendet hat.

Artifactory-Caching

Hinweis

Dieser Leitfaden gilt nur für die experimentelle Artifactory-Integration für npm-Pakete. Auch bei einem leeren lokalen npm-Cache kann Artifactory zwischengespeicherte Inhalte bereitstellen, ohne eine neue Anforderung über die Firewall zu senden.

Wenn npm das Paket aus Artifactory abruft, überprüfen Sie, ob Artifactory zwischengespeicherte Inhalte bereitgestellt hat. Überprüfen Sie außerdem, ob das virtuelle npm-Repository die firewallgestützte Remote verwendet und keine Remote enthält, die das Paket direkt aus der öffentlichen npm-Registrierung abruft. Siehe Schutz von Endpunkten mit GitHub Package Firewall.