Skip to main content

Gewähren des Zugriffs auf private Registrierungen für Sicherheitsfeatures

Wenn Ihre Organisation private Registrierungen verwendet, können Sie die Ergebnisse der code scanning Analyse verbessern und es ermöglichen Dependabot , weitere Abhängigkeiten aufrechtzuerhalten, indem Sie den Zugriff auf diese Registrierungen einrichten.

Informationen zur Bedeutung des Zugriffs auf private Registrierungen

Wenn Code in einem Repository Abhängigkeiten aufweist, die in einer privaten Registrierung gespeichert sind, benötigen einige Sicherheitsfeatures Zugriff auf die Registrierung, damit sie effektiv funktionieren können. Ohne Zugriff auf alle Abhängigkeiten eines Repositorys ist die Effektivität (Code Qualityöffentliche Vorschau), code scanning Standardkonfiguration und Dependabot eingeschränkt.

          Code scanning Standardzugriff zur Konfiguration von privaten Registern

Wenn Sie den Zugriff auf die privaten Register, die Ihre Organisation verwendet, nicht definieren, wird code scanning nur die notwendigen Daten von Abhängigkeiten sammeln, die in öffentlichen Registern verfügbar sind. Meistens reicht dies aus, um den Großteil der Sicherheitsrisiken zu ermitteln. In einigen Fällen kann der Fehlende Zugriff jedoch zu falsch negativen Ergebnissen führen. Anders ausgedrückt: code scanning ist nicht in der Lage, eine Sicherheitsanfälligkeit im Code zu erkennen, da es nicht über alle Informationen verfügt, die es zum Analysieren des Codes benötigt. Beispielsweise werden einige der Datenflusspfade möglicherweise nicht erkannt, da Schritte in Abhängigkeiten definiert sind, auf die nicht zugegriffen werden kann, und code scanning sie nicht interpretieren können.

Wenn Sie den Zugriff auf die privaten Register konfigurieren, die in Ihrer Organisation verwendet werden, code scanning hat Zugriff auf alle benötigten Informationen und ist viel weniger wahrscheinlich, dass eine Sicherheitslücke übersehen wird.

          Code scanning Standardsetup unterstützt die folgenden Registrierungstypen:
LanguageRegistrierungstypen
C#NuGet-Feed
GoGOPROXY-Server, Git Source
JavaMaven Repository

Tipp

Sie können jeden Registrierungstyp einmal für jede Organisation definieren. Wenn die Codebases in Ihrer Organisation mehr als eine Registrierung eines bestimmten Typs verwenden, sollten Sie einen einheitlichen Zugriffspunkt einrichten oder den Zugriff auf die wichtigste Registrierung für die Codebasen in dieser Organisation definieren.

Definieren des Registry-Zugriffs für code scanning das Standard-Setup

Sie müssen ein Organisationsbesitzer sein, um auf der Benutzeroberfläche den Zugriff auf private Registrierungen einzurichten. Sie können die REST-API auch mit den Berechtigungen des Organisationsbesitzers oder {read,write}_org_private_registries verwenden.

  1. Scrollen Sie zur Registerkarte Einstellungen der Organisation, dann zum Abschnitt „Sicherheit“, und wählen Sie Geheimnisse und Variablen aus.
  2. Wählen Sie in der erweiterten Liste mit den Geheimnissen und Variablen Private Registrierungen aus, um die Seite „Private Registrierungen“ anzuzeigen.
  3. Wählen Sie Neue private Registrierungen aus, um Zugriffsdetails für eine private Registrierung hinzuzufügen.
  4. Verwenden Sie die Felder URL und Typ, um den Speicherort und den Registrierungstyp zu definieren:
    •           Bei **URL** handelt es sich um den Speicherort, an dem auf die private Registrierung zugegriffen wird. Um beispielsweise das GitHub Packages Registry für NuGet zu verwenden: `https://nuget.pkg.github.com/ORGANIZATION/index.json`, wobei `ORGANIZATION` der Name Ihrer Organisation auf GitHub ist.
      
    •      **Typ** ist der Typ der Registrierung.
      
  5. Wählen Sie je nach Authentifizierungsmethode entweder Token oder Benutzername und Kennwort aus, und geben Sie dann Daten in die jeweiligen Felder ein. Einige Arten von Authentifizierungstoken, z. B. ein GitHubPersonal Access Token, sind an eine bestimmte Benutzeridentität gebunden. Wählen Sie die Option "Benutzername und Kennwort " für diese aus, und geben Sie den relevanten Benutzernamen als Benutzername und das Token als Kennwort ein.
  6. Definieren Sie, welche Repositorys in der Organisation mit diesen Informationen auf die private Registrierung zugreifen können: alle, private und interne oder nur ausgewählte Repositorys.
  7. Wenn Sie das Definieren der privaten Registrierung abgeschlossen haben, wählen Sie Registrierung hinzufügen aus, um die Registrierungsinformationen zu speichern.

Tipp

Wenn Sie einer Organisation eine private Registrierung hinzufügen, wird das Token oder das Kennwort als verschlüsseltes Geheimnis gespeichert. Nachdem die Registrierung erstellt wurde, können das Token oder das Kennwort nicht noch einmal angezeigt werden.

Aktivieren des code scanning Standardsetups für die Verwendung einer Registrierungsdefinition

Wenn Sie das Standardsetup für ein Repository oder eine Gruppe von Repositorys aktivieren code scanning , überprüfen Sie, GitHub ob die Repositorys Zugriff auf vorhandene private Registrierungen haben. Wenn private Register für ein Repository verfügbar sind, code scanning werden die relevanten Definitionen während der Analyse verwendet.

Wenn Sie private Registrierungen zum ersten Mal konfigurieren, müssen Sie das Standardsetup für alle Repositorys deaktivieren und erneut aktivieren code scanning , die Sie für die neue Definition verwenden möchten. Neue oder geänderte Konfigurationen werden bei nachfolgenden Ausführungen automatisch erkannt.

Für Sprachen, die private Paketregistrierungen unterstützen, code scanning erzeugt das Standardsetup Informationen zu den Seite mit dem Toolstatus. Dies zeigt, welche privaten Registry-Konfigurationen für eine Analyse verfügbar waren, aber nicht, ob code scanning das Standard-Setup private Abhängigkeiten erfolgreich herunterladen konnte. Weitere Informationen zum Seite mit dem Toolstatus findest du unter Verwenden der Toolstatusseite zum Scannen von Code.

Alternativ können Sie überprüfen, ob private Registries erfolgreich durch die code scanning Analyse verwendet wurden, indem Sie in den Actions-Protokolldateien nach Codescanprotokolle suchen.

          Code scanning Erweiterter Setupzugriff auf private Registrierungen

          Code scanning Advanced Setup verwendet alle privaten Registries, die mit dem Workflow verknüpft sind, welcher die Analyse mithilfe der `codeql-action` durchführt. Es hat keinen Zugriff auf die privaten Registrierungen auf der Organisationsebene, die beim Standardsetup verwendet werden.

Bei kompilierten Sprachen muss codeql-action einen Build des Codes beachten. Sie können entweder Ihren vorhandenen Build-Workflow überarbeiten, damit codeql-action ausgeführt werden kann, oder einen neuen Workflow erstellen, mit dem die Produktionsversion des Codes erstellt wird und codeql-action ebenfalls ausgeführt werden kann.

Alle vom Build verwendeten privaten Registrierungen müssen auch für den Workflow zugänglich sein, der codeql-action ausführt. Weitere Informationen zur erweiterten Einrichtung finden Sie unter Konfigurieren des erweiterten Setups für das Code-Scanning.

          Dependabot aktualisiert den Zugriff auf private Register

          Dependabot kann jede private Registrierung auf Organisationsebene verwenden sowie alle privaten Register verwenden, die in der `dependabot.yml` Datei im Repository definiert sind.

          Dependabot Kann nicht auf Sicherheits- oder Versionsupdates für Code überprüfen, der in einer privaten Registrierung gespeichert ist, es sei denn, sie kann auf die Registrierung zugreifen. Wenn Sie den Zugriff auf die private Registrierung nicht konfigurieren, können Sie keine Pullanforderungen auslösen, Dependabot um die in der Registrierung gespeicherten Abhängigkeiten zu aktualisieren.

Wenn Sie den Zugriff auf ein oder mehrere private Registries konfigurieren, kann Dependabot Pull-Anforderungen vorschlagen, um eine anfällige Abhängigkeit zu aktualisieren oder eine Abhängigkeit aufrechtzuerhalten, siehe Konfigurieren des Zugriffs auf private Registrierungen für Dependabot und Leitfaden zum Konfigurieren privater Registrierungen für Dependabot.

          Code Quality Zugriff auf private Register

Hinweis

GitHub Code Quality befindet sich derzeit in öffentliche Vorschau und kann geändert werden. Während der öffentlichen Vorschauphase werden Code Quality nicht abgerechnet, obwohl Scans von Code Quality GitHub Actions Minuten verbrauchen.

          GitHub Code Quality kann jede private Registrierung auf Organisationsebene verwenden, die verfügbar sind, wenn sie für ein Repository aktiviert ist.

Wenn Sie der Organisation neue Registrierungen hinzufügen, müssen Sie diese deaktivieren und erneut aktivieren Code Quality , um sicherzustellen, dass die Analyse die neuen Registrierungen erkennt und verwendet.

Informationen zum Einrichten des privaten Registrierungszugriffs für Ihre Organisation finden Sie unter Definieren des Registrierungszugriffs für die Standardeinrichtung für die Codeüberprüfung.