Informationen zu privaten Registrierungen
Dependabot version updates hält deine Abhängigkeiten immer auf dem neuesten Stand. Dependabot kann auf öffentliche Registrierungen zugreifen. Darüber hinaus kannst du Dependabot version updates den Zugriff auf private Paketregistrierungen und private GitHub-Repositorys gewähren, sodass du deine privaten Registrierungen und Registrierungen innerhalb der Quelle auf demselben aktuellen Stand halten kannst wie deine öffentlichen Abhängigkeiten.
In den meisten Ökosystemen werden private Abhängigkeiten in der Regel in privaten Paketregistrierungen veröffentlicht. Diese privaten Registrierungen ähneln ihren öffentlichen Entsprechungen, erfordern jedoch eine Authentifizierung.
Für bestimmte Ökosysteme kannst du Dependabot für den ausschließlichen Zugriff auf private Registrierungen konfigurieren, indem Aufrufe öffentlicher Registrierungen entfernt werden. Weitere Informationen findest du unter Entfernen des Dependabot-Zugriffs auf öffentliche Registrierungen.
Um Dependabot Zugriff auf Registrierungen zu ermöglichen, die privat gehostet werden oder auf interne Netzwerke beschränkt sind, konfiguriere Dependabot so, dass es auf GitHub Actions selbst gehosteten Runnern läuft. Weitere Informationen finden Sie unter Verwalten von Dependabot auf selbst gehosteten Runnern.
Konfigurieren privater Registrierungen
Du konfigurierst den Zugriff von Dependabot auf private Registrierungen in der Datei dependabot.yml
.
Der registries
-Schlüssel der obersten Ebene ist optional und gibt Authentifizierungsdetails an.
Es gibt zwei Speicherorte in der dependabot.yml
-Datei, an denen du den registries
-Schlüssel verwenden kannst:
- Auf der obersten Ebene, in der du die Registrierungen und deren Zugriffsinformationen bei Bedarf definierst.
- Innerhalb der
updates
-Blöcke, in denen du Dependabot anweisenregistries: "*"
kannst, eine oder alle Registrierungen zu verwenden, die du auf oberster Ebene definiert hast.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level
version: 2
registries:
gradle-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-gradle-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
- package-ecosystem: "gradle"
directory: "/"
registries: "*"
schedule:
interval: "monthly"
Du verwendest die folgenden Optionen, um Zugriffseinstellungen anzugeben. Registrierungseinstellungen müssen einen type
und eine url
enthalten, sowie in der Regel eine Kombination aus username
und password
oder ein token
.
Option | BESCHREIBUNG |
---|---|
type | Identifiziert den Typ der Registrierung. Weitere Informationen zu den verfügbaren Registrierungstypen findest du unter "registries ." Weitere Details zur Konfiguration privater Registrierungen findest du unter "Konfigurationsoptionen für private Registrierungen". |
url | Die URL, die für den Zugriff auf die Abhängigkeiten in dieser Registrierung verwendet werden soll. Das Protokoll ist optional. Falls nicht angegeben, https:// wird angenommen. Nachstehende Schrägstriche werden von Dependabot nach Bedarf hinzugefügt oder ignoriert. |
username | Der Benutzername, der von Dependabot für den Zugriff auf die Registrierung verwendet wird.username ist der Benutzername oder die E-Mail-Adresse für das Konto. |
password | Ein Verweis auf einen geheimen Dependabot-Schlüssel, der das Kennwort für den angegebenen Benutzer enthält. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.password ist das Kennwort für das Benutzerkonto, das durch den Benutzernamen spezifiziert ist. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden. |
key | Ein Verweis auf einen geheimen Dependabot-Schlüssel, der einen Zugriffsschlüssel für diese Registrierung enthält. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot. |
token | Ein Verweis auf einen geheimen Dependabot-Schlüssel, der ein Zugriffstoken für diese Registrierung enthält. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.token wird verwendet, um ein Zugriffstoken für ein externes System bereitzustellen und sollte nicht verwendet werden, um ein GitHub personal access token bereitzustellen. Wenn du ein GitHub personal access token verwenden möchtest, solltest du es als Kennwort angeben. |
replaces-base | Bei Registrierungen löst Dependabot Abhängigkeiten mithilfe der angegebenen URL anstelle der Basis-URL des jeweiligen Ökosystems auf, wenn der boolesche Wert true lautet. Bei Registrierungen mit type: python-index werden Abhängigkeiten beim booleschen Wert true beispielsweise von pip mithilfe der angegebenen URL anstelle der Basis-URL des Python-Paketindex aufgelöst (Standardwert: https://pypi.org/simple ). |
Weitere Informationen zu den verfügbaren Konfigurationsoptionen, deren Verwendung und den unterstützten Typen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Speichern von Anmeldeinformationen für die Verwendung durch Dependabot
Um Dependabot den Zugriff auf die von GitHub unterstützten privaten Registrierungen zu gewähren, speicherst du das Zugriffstoken oder Geheimnis der Registrierung im Geheimnisspeicher für dein Repository oder deine Organisation.
Informationen zu verschlüsselten Geheimnissen für Dependabot
Bei Dependabot-Schlüsseln handelt es sich um verschlüsselte Anmeldeinformationen, die du entweder auf Organisationsebene oder auf Repositoryebene erstellst. Wenn du auf Organisationsebene ein Geheimnis hinzufügst, kannst du angeben, welche Repositorys darauf zugreifen kannst. Du kannst Geheimnisse verwenden, um Dependabot zu erlauben, Abhängigkeiten in privaten Paketregistrierungen zu aktualisieren. Wenn du ein Geheimnis hinzufügst, wird es verschlüsselt, bevor es GitHub erreicht. Daraufhin bleibt es verschlüsselt, bis es von Dependabot für den Zugriff auf eine private Paketregistrierung verwendet wird.
Dependabot-Geheimnisse umfassen auch Geheimnisse, die von den durch Dependabot-Pull-Requests ausgelösten GitHub Actions-Workflows verwendet werden. Dependabot selbst verwendet diese Geheimnisse möglicherweise nicht, aber die Workflows erfordern sie. Weitere Informationen findest du unter Automatisieren von Dependabot mit GitHub Actions.
Nachdem du ein Dependabot-Geheimnis hinzugefügt hast, kannst du darauf wie folgt in der Konfigurationsdatei dependabot.yml
verweisen: ${{secrets.NAME}}
, wobei „NAME“ der Name ist, den du für das Geheimnis ausgewählt hast. Beispiel:
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Benennen deiner Geheimnisse
Der Name eines Dependabot-Geheimnisses:
- darf nur alphanumerische Zeichen (
[A-Z]
,[0-9]
) oder Unterstriche (_
) enthalten. Leerzeichen sind nicht zulässig. Wenn du Kleinbuchstaben eingibst, werden diese in Großbuchstaben geändert. - darf nicht mit dem
GITHUB_
-Präfix beginnen. - darf nicht mit einer Zahl beginnen.
Hinzufügen eines Repositorygeheimnisses für Dependabot
Um Geheimnisse für das Repository eines persönlichen Kontos zu erstellen, musst Du der Besitzer des Repositorys sein. Um Geheimnisse für ein Organisationsrepository zu erstellen, musst du über admin
-Zugriff verfügen.
-
Navigiere auf GitHub.com zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Wähle im Abschnitt „Sicherheit“ der Seitenleiste Geheimnisse und Variable, und klicke dann Dependabot.
-
Klicke auf Neues Repositorygeheimnis.
-
Gib einen Namen für dein Geheimnis in das Eingabefeld Name ein.
-
Gib den Wert für das Geheimnis ein.
-
Klicke auf Geheimnis hinzufügen.
Der Name des Geheimnisses wird auf der Geheimnisseite von Dependabot aufgeführt. Du kannst auf Aktualisieren klicken, um den Wert des Geheimnisses zu ändern. Du kannst auf Entfernen klicken, um das Geheimnis zu löschen.
Hinzufügen eines Organisationsgeheimnisses für Dependabot
Beim Erstellen eines Geheimnisses in einer Organisation kannst du eine Richtlinie verwenden, um einzuschränken, welche Repositorys darauf zugreifen können. Du kannst beispielsweise allen Repositorys Zugriff gewähren oder nur private Repositorys oder eine angegebene Liste von Repositorys zulassen.
Für das Erstellen von Geheimnissen auf Organisationsebene benötigst du admin
-Zugriff.
-
Navigiere auf GitHub.com zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Wähle im Abschnitt „Sicherheit“ der Seitenleiste Geheimnisse und Variable, und klicke dann Dependabot.
-
Klicke auf Neues Organisationsgeheimnis.
-
Gib einen Namen für dein Geheimnis in das Eingabefeld Name ein.
-
Gib den Wert für das Geheimnis ein.
-
Wähle in der Dropdownliste Repositoryzugriff eine Zugriffsrichtlinie aus.
-
Wenn du Ausgewählte Repositorys ausgewählt hast:
- Klicke auf .
- Wähle im Dialogfeld die Repositorys aus, die auf dieses Geheimnis zugreifen können.
- Klicke auf Auswahl aktualisieren.
-
Klicke auf Geheimnis hinzufügen.
Der Name des Geheimnisses wird auf der Dependabot-Geheimnisseite angezeigt. Du kannst auf Aktualisieren klicken, um den Geheimniswert oder die Zugriffsrichtlinie zu ändern. Du kannst auf Entfernen klicken, um das Geheimnis zu löschen.
Konfigurieren von IP-Firewallregeln
Du kannst Dependabot-bezogene IP-Adressen zu deiner IP-Registrierungszulassungsliste hinzufügen.
Wenn deine private Registrierung mit einer IP-Zulassungsliste konfiguriert ist, findest du die IP-Adressen, die von Dependabot zum Zugreifen auf die Registrierung im Meta-API-Endpunkt verwendet werden, unter dem dependabot
-Schlüssel. Wenn du Dependabot über GitHub Actions selbst gehostete Runner ausführst, solltest du stattdessen die IP-Adressen unter dem Schlüssel actions
verwenden. Weitere Informationen findest du unter REST-API-Endpunkte für Metadaten und unter Informationen zu Dependabot über GitHub Actions-Runner.