Informationen zu privaten Registrierungen
Dependabot version updates hält Ihre Abhängigkeiten auf dem neuesten Stand und Dependabot security updates aktualisiert sicherheitsanfällige Abhängigkeiten.
Dependabot kann auf öffentliche Register zugreifen. Darüber hinaus können Sie Dependabot Zugriff auf private Paketregistrierungen und private GitHub Repositorys gewähren, damit Sie Ihre privaten und Innersource-Abhängigkeiten genauso aktuell und sicher halten können wie Ihre ö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 können Sie so konfigurieren Dependabot , dass sie nur auf private Register zugreifen, indem Sie Anrufe an öffentliche Register entfernen. Weitere Informationen finden Sie unter Entfernen des Dependabot-Zugriffs auf öffentliche Registrierungen.
Um den Zugriff auf Dependabot Registrys zu ermöglichen, die privat gehostet oder auf interne Netzwerke beschränkt sind, konfigurieren Sie Dependabot, um auf GitHub Actions selbstgehosteten Runnern zu laufen. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/dependabot/maintain-dependencies/managing-dependabot-on-self-hosted-runners).
Konfigurieren privater Registrierungen
Sie können den Zugriff von Dependabot auf private Registrys auf Organisationsebene konfigurieren.
Registrierungen auf Organisationsebene unterstützen Token, Benutzername und Kennwort sowie die OIDC-Authentifizierung .
Weitere Informationen zur Konfiguration finden Sie unter Gewähren des Zugriffs auf private Registrierungen für Sicherheitsfeatures.
Sie können auch den Zugriff von Dependabot auf private Registries in der Datei dependabot.yml konfigurieren.
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.
| Parameter | Zweck |
|---|---|
REGISTRY_NAME | Erforderlich: Definiert einen Bezeichner für die Registrierung. |
type | Erforderlich: Identifiziert den Typ der Registrierung. |
| Authentifizierungsdetails | Erforderlich: Die Parameter, die für die Bereitstellung von Authentifizierungsdetails unterstützt werden, variieren für Registrierungen unterschiedlicher Typen. |
url | Erforderlich 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. |
replaces-base | Wenn der boolesche Wert true lautet, löst Dependabot Abhängigkeiten mithilfe der angegebenen url anstelle der Basis-URL dieses Ökosystems auf. |
Weitere Informationen zu den verfügbaren Konfigurationsoptionen, deren Verwendung und den unterstützten Typen finden Sie unter Referenz zu Dependabot-Optionen.
Speichern von Anmeldeinformationen für die Verwendung durch Dependabot
Um Dependabot Zugriff auf die privaten Registrys zu gewähren, die von GitHub ihnen unterstützt werden, speichern Sie das Zugriffstoken oder Secret der Registry im Secret Store für Ihr Repository oder Ihre Organisation.
Informationen zu verschlüsselten Geheimschlüsseln für Dependabot
Dependabot geheime Schlüssel sind verschlüsselte Anmeldeinformationen, die Sie entweder auf Organisationsebene oder auf Repositoryebene erstellen.
Wenn du auf Organisationsebene ein Geheimnis hinzufügst, kannst du angeben, welche Repositorys darauf zugreifen kannst. Sie können geheime Schlüssel verwenden, damit Dependabot Abhängigkeiten aktualisieren kann, die sich in privaten Paketregistrierungen befinden. Wenn Sie ein Geheimnis hinzufügen, wird es verschlüsselt, bevor es GitHub erreicht, und bleibt verschlüsselt, bis es von Dependabot verwendet wird, um auf ein privates Paketregister zuzugreifen.
Dependabot Secrets umfassen auch solche, die von GitHub Actions Workflows verwendet werden, die durch Dependabot Pull-Requests ausgelöst werden.
Dependabot selbst verwendet diese geheimen Schlüssel möglicherweise nicht, aber die Workflows erfordern sie. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-dependabot-on-github-actions#accessing-secrets).
Nachdem Sie einen Dependabot geheimen Schlüssel hinzugefügt haben, können Sie in der dependabot.yml Konfigurationsdatei wie folgt darauf verweisen: ${{secrets.NAME}}Dabei ist "NAME" der Name, den Sie für den geheimen Schlüssel ausgewählt haben. Beispiel:
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
Benennen deiner Geheimnisse
Der Name eines Dependabot geheimen Schlüssels:
- 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 Repositoryschlüssels 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.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

-
Wähle im Abschnitt „Security“ der Randleiste Secrets and variables, und klicke anschließend auf 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 mit einer Richtlinie einschrä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.
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter dem Organisationsnamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

1. Wähle im Abschnitt „Security“ der Randleiste **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-key-asterisk" aria-label="key-asterisk" role="img"><path d="M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z"></path><path d="M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z"></path></svg> Secrets and variables**, und klicke anschließend auf **Dependabot**. Ignorieren Sie die Option "Private Registries", dies wird nur standardmäßig code scanning verwendet. -
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:
- Klicken Sie 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 geheimen Schlüssels wird auf der Dependabot Seite "Geheime Schlüssel" aufgeführt. 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
Sie können IP-Adressen, die sich auf Dependabot beziehen, zu Ihrer Zulassungsliste für Registrierungs-IP-Adressen hinzufügen.
Wenn Ihre private Registrierung mit einer IP-Zulassungsliste konfiguriert ist, finden Sie die IP-Adressen Dependabot , die für den Zugriff auf die Registrierung im Meta-API-Endpunkt verwendet werden, unter dem actions Schlüssel. Weitere Informationen findest du unter REST-API-Endpunkte für Metadaten und Informationen zu Dependabot über GitHub Actions-Runner.
Verwenden von OIDC für die Authentifizierung
Dependabot kann OpenID Connect (OIDC) verwenden, um sich bei privaten Registries zu authentifizieren, wodurch die Notwendigkeit entfällt, langfristige Anmeldeinformationen als Geheimnisse im Repository zu speichern.
Mit der OIDC-basierten Authentifizierung Dependabot können Aktualisierungsaufträge dynamisch kurzlebige Anmeldeinformationen von Ihrem Cloudidentitätsanbieter abrufen, genau wie GitHub Actions Workflows mit dem OIDC-Partnerverbund.
Tipp
Die OIDC-Authentifizierung ist auch für private Registrierungen auf Organisationsebene verfügbar, die Sie über die Benutzeroberfläche der Organisationseinstellungen oder die REST-API konfigurieren können. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf private Registrierungen für Sicherheitsfeatures.
Dependabot unterstützt die OIDC-Authentifizierung für jeden Registrierungstyp, der die `username`- und `password`-Authentifizierung verwendet, wenn die Registrierung auf einem der folgenden Cloudanbieter gehostet wird:
- AWS CodeArtifact
- Azure DevOps Artefakte
- JFrog Artifactory
Um die OIDC-Authentifizierung zu konfigurieren, müssen Sie unterschiedliche Werte anstelle und username``password in Ihrer Registrierungskonfiguration angeben.
AWS CodeArtifact
AWS CodeArtifact erfordert die Werte aws-region, , account-id, role-name, domainund domain-owner. Das feld audience ist optional.
registries:
my-aws-codeartifact-feed:
type: npm-registry
url: https://MY_DOMAIN-MY-ACCOUNT_ID.d.codeartifact.REGION.amazonaws.com/npm/MY_REPOSITORY/
aws-region: REGION
account-id: '123456789012'
role-name: MY_ROLE_NAME
domain: MY_DOMAIN
domain-owner: '987654321098'
audience: MY_AUDIENCE # if required by your feed
Azure DevOps Artefakte
Azure DevOps Artefakte erfordern die Werte tenant-id und client-id:
registries:
my-azure-devops-artifacts-feed:
type: npm-registry
url: https://pkgs.dev.azure.com/MY-ORGANIZATION/MY-PROJECT/_packaging/MY-FEED/npm/registry/
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
client-id: ${{ secrets.AZURE_CLIENT_ID }}
JFrog Artifactory
JFrog Artifactory erfordert die Werte url und jfrog-oidc-provider-name. Die Werte audience und identity-mapping-name optional:
registries:
my-jfrog-artifactory-feed:
type: npm-registry
url: https://JFROG-PLATFORM-URL/artifactory/api/npm/MY-REPOSITORY
jfrog-oidc-provider-name: MY-PROVIDER
audience: MY-AUDIENCE # if required by your feed
identity-mapping-name: MY-IDENTITY-MAPPING # if required by your feed
Weitere Informationen zur Funktionsweise von OIDC finden Sie unter OpenID Connect.
Zulassen der Ausführung externen Codes
Wenn Sie Zugriff auf eine oder mehrere Registrierungen gewähren Dependabot , wird die Ausführung externer Code automatisch deaktiviert, um Ihren Code vor kompromittierten Paketen zu schützen. Bei einigen Versionsupdates können jedoch Fehler auftreten.
Wenn Sie Dependabot den Zugriff auf eine private Paketregistrierung gewähren und die Ausführung von eingeschränktem externem Code zulassen müssen, können Sie insecure-external-code-execution auf allow festlegen. Das Zulassen von Dependabot, externen Code während der Updates im Manifest auszuführen, ist nicht so beängstigend, wie es scheint.
- Jede Ausführung externen Codes hat nur Zugriff auf die Paket-Manager in den Registrierungsstellen, die der eingeschlossenen
updates-Einstellung zugeordnet sind. - Es ist kein Zugriff auf die Registrierungen zulässig, die in der
registries-Konfiguration der obersten Ebene definiert sind.
Es ist üblich, dass Tools wie bundler, mix, pip und swift standardmäßig die Ausführung von externem Code zulassen.
In diesem Beispiel ermöglicht Dependabot die Konfigurationsdatei den Zugriff auf die ruby-github private Paketregistrierung. In derselben updates-Einstellung ist insecure-external-code-execution auf allow festgelegt. Dies bedeutet, dass der von Abhängigkeiten ausgeführte Code nur auf die ruby-github-Registrierung und nicht auf die dockerhub-Registrierung zugreift.
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
Unterstützte private Registrierungen
Beispiele für das Konfigurieren des Zugriffs auf die privaten Registries, die von Dependabot unterstützt werden.
cargo-registrycomposer-repositorydocker-registrygitgoproxy-serverhex-organizationhex-repositorymaven-repositorynpm-registrynuget-feedpub-repositorypython-indexrubygems-serverterraform-registry
cargo-registry
Vom Typ cargo-registry wird ein Token unterstützt.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
cargo-example:
type: cargo-registry
registry: "name-of-your-registry"
url: https://cargo.cloudsmith.io/foobaruser/test/
token: "Token ${{secrets.CARGO_TOKEN}}"
Wir haben diese Konfiguration mit der privaten Registrierung bei https://cargo.cloudsmith.io getestet.
composer-repository
Vom Typ composer-repository werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
docker-registry
Dependabot funktioniert mit allen Containerregistrierungen, die die OCI-Containerregistrierungsspezifikation implementieren. Weitere Informationen finden Sie unter [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md).
Dependabotunterstützt die Authentifizierung für private Registrierungen über einen zentralen Tokendienst oder HTTP Basic Auth. Weitere Details finden Sie in der Docker-Dokumentation und in der [Standardzugriffsauthentifizierung](https://docs.docker.com/registry/spec/auth/token/) auf Wikipedia unter [Tokenauthentifizierung](https://en.wikipedia.org/wiki/Basic_access_authentication).
Vom Typ docker-registry werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
Der Typ docker-registry kann auch zum Pullen aus einer privaten Amazon ECR-Instanz mithilfe statischer AWS-Anmeldeinformationen verwendet werden.
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
git
Vom Typ git werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
goproxy-server
Vom Typ goproxy-server werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
my-private-registry:
type: goproxy-server
url: https://acme.jfrog.io/artifactory/api/go/my-repo
username: octocat
password: ${{secrets.MY_GO_REGISTRY_TOKEN}}
registries:
my-private-registry:
type: goproxy-server
url: https://acme.jfrog.io/artifactory/api/go/my-repo
username: octocat
password: ${{secrets.MY_GO_REGISTRY_TOKEN}}
helm-registry
Der helm-registry Typ unterstützt nur HTTP Basic Auth und unterstützt keine OCI-kompatiblen Registrierungen. Wenn Sie auf eine OCI-kompatible Registrierung für Helm-Charts zugreifen müssen, konfigurieren Sie stattdessen eine docker-registry .
Vom Typ helm-registry werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
helm_registry:
type: helm-registry
url: https://registry.example.com
username: octocat
password: ${{secrets.MY_REGISTRY_PASSWORD}}
registries:
helm_registry:
type: helm-registry
url: https://registry.example.com
username: octocat
password: ${{secrets.MY_REGISTRY_PASSWORD}}
hex-organization
Vom Typ hex-organization werden Organisation und Schlüssel unterstützt.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
hex-repository
Der Typ hex-repository unterstützt einen Authentifizierungsschlüssel.
`repo` ist ein Pflichtfeld, das mit dem Namen des Repositorys übereinstimmen muss, der in der Abhängigkeitsdeklaration verwendet wird.
`public-key-fingerprint` ist ein optionales Konfigurationsfeld, das den Fingerabdruck des öffentlichen Schlüssels für das Hex-Repository darstellt.
`public-key-fingerprint` wird von Hex verwendet, um eine Vertrauensstellung mit dem privaten Repository herzustellen. Das `public-key-fingerprint`-Feld kann entweder im Nur-Text-Format aufgelistet oder als geheime Dependabot gespeichert werden.
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
maven-repository
Der maven-repository Typ unterstützt Benutzername, Kennwort und Replaces-Basis. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
maven-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
replaces-base: true
registries:
maven-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
replaces-base: true
Sie können auch die OIDC-Authentifizierung verwenden, um auf JFrog Artifactory zuzugreifen. Mit OIDC ruft Dependabot dynamisch kurzlebige Anmeldeinformationen ab, anstatt statische Anmeldeinformationen zu verwenden.
registries:
maven-artifactory-oidc:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
tenant-id: ${{secrets.ARTIFACTORY_TENANT_ID}}
client-id: ${{secrets.ARTIFACTORY_CLIENT_ID}}
replaces-base: true
registries:
maven-artifactory-oidc:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
tenant-id: ${{secrets.ARTIFACTORY_TENANT_ID}}
client-id: ${{secrets.ARTIFACTORY_CLIENT_ID}}
replaces-base: true
npm-registry
Vom Typ npm-registry werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Bei Verwendung von Benutzername und Kennwort kann ihr .npmrcAuthentifizierungstoken ein base64 codiertes _passwordToken enthalten. Das kennwort, auf das in Ihrer Dependabot Konfigurationsdatei verwiesen wird, muss jedoch das ursprüngliche (nicht codierte) Kennwort sein.
Hinweis
Schließen Sie keinen Pfad ein, wenn Sie npm.pkg.github.com verwenden. Verwende stattdessen die https://npm.pkg.github.com-URL ohne Pfad.
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
Aus Sicherheitsgründen Dependabot werden keine Umgebungsvariablen festgelegt. Yarn (v2 und höher) erfordert, dass alle Umgebungsvariablen festgelegt sind, auf die zugegriffen wird. Wenn Sie auf Umgebungsvariablen in Ihrer .yarnrc.yml Datei zugreifen, sollten Sie einen Fallbackwert angeben, z. B. ${ENV_VAR-fallback} oder ${ENV_VAR:-fallback}. Weitere Informationen finden Sie unter Yarnrc-Dateien in der Yarn-Dokumentation.
nuget-feed
Vom Typ nuget-feed werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
`nuget-feed` Parameter `replaces-base` unterstützt „secureStrings“ nicht.
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
Sie können auch die OIDC-Authentifizierung verwenden, um auf Azure DevOps Artefakte zuzugreifen. Mit OIDC ruft Dependabot dynamisch kurzlebige Anmeldeinformationen ab, anstatt statische Anmeldeinformationen zu verwenden.
registries:
nuget-azure-devops-oidc:
type: nuget-feed
url: https://pkgs.dev.azure.com/MyOrganization/MyProject/_packaging/MyArtifactFeedName/nuget/v3/index.json
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
registries:
nuget-azure-devops-oidc:
type: nuget-feed
url: https://pkgs.dev.azure.com/MyOrganization/MyProject/_packaging/MyArtifactFeedName/nuget/v3/index.json
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
Die Werte AZURE_TENANT_ID und AZURE_CLIENT_ID können über die Übersichtsseite Ihrer Entra ID App-Registrierung abgerufen werden.
pub-repository
Vom Typ pub-repository wird eine URL und ein Token unterstützt.
registries:
my-pub-registry:
type: pub-repository
url: https://example-private-pub-repo.dev/optional-path
token: ${{secrets.MY_PUB_TOKEN}}
updates:
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "weekly"
registries:
- my-pub-registry
registries:
my-pub-registry:
type: pub-repository
url: https://example-private-pub-repo.dev/optional-path
token: ${{secrets.MY_PUB_TOKEN}}
updates:
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "weekly"
registries:
- my-pub-registry
python-index
Vom Typ python-index werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
Sie können auch die OIDC-Authentifizierung verwenden, um auf Azure DevOps Artefakte zuzugreifen. Mit OIDC ruft Dependabot dynamisch kurzlebige Anmeldeinformationen ab, anstatt statische Anmeldeinformationen zu verwenden.
registries:
python-azure-oidc:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
replaces-base: true
registries:
python-azure-oidc:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
replaces-base: true
rubygems-server
Vom Typ rubygems-server werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
terraform-registry
Vom Typ terraform-registry wird ein Token unterstützt.
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}