Skip to main content

Konfigurieren von OpenID Connect in JFrog

Verwenden Sie OpenID Connect in Ihren Workflows zum Authentifizieren bei JFrog.

Übersicht

OpenID Connect (OIDC) ermöglicht es Ihren GitHub Actions-Workflows, sich bei JFrog zu authentifizieren, um Artefakte herunterzuladen und zu veröffentlichen, ohne JFrog-Passwörter, Token oder API-Schlüssel in GitHub zu speichern.

In diesem Handbuch finden Sie eine Übersicht darüber, wie Sie JFrog so konfigurieren, dass das OIDC von GitHub als Verbundidentität als vertrauenswürdig angesehen wird. Außerdem erfahren Sie, wie Sie diese Konfiguration in einem GitHub Actions-Workflow nutzen können.

Ein Beispiel für einen GitHub Actions-Workflow finden Sie unter Beispiel für GitHub Actions-Integration in der JFrog-Dokumentation.

Ein Beispiel für einen GitHub Actions-Workflow mit Nutzung der JFrog CLI finden Sie unter build-publish.yml im jfrog-github-oidc-example-Repository.

Voraussetzungen

  • Informationen zu den grundlegenden Konzepten, nach denen GitHub OpenID Connect (OIDC) sowie die Architektur und Vorteile des Protokolls verwendet, findest du unter Informationen zur Sicherheitshärtung mit OpenID Connect.

  • Bevor du fortfährst, musst du deine Sicherheitsstrategie planen, um sicherzustellen, dass Zugriffs-Token nur auf vorhersehbare Weise zugewiesen werden. Zur Steuerung, wie dein Cloud-Anbieter Zugriffs-Token ausgibt, musst du mindestens eine Bedingung definieren, damit nicht vertrauenswürdige Repositorys keine Zugriffs-Token für deine Cloud-Ressourcen anfordern können. Weitere Informationen finden Sie unter Informationen zur Sicherheitshärtung mit OpenID Connect.

  • Beachte, dass du bestimmte Werte in der folgenden Dokumentation ersetzen musst, wenn du den Leitfaden auf GHE.com verwendest. Weitere Informationen findest du unter Informationen zur Sicherheitshärtung mit OpenID Connect.

  • Um sicher zu sein, müssen Sie beim Konfigurieren von Identitätszuordnungen ein „Claims JSON“ in JFrog festlegen. Weitere Informationen findest du unter AUTOTITLE und Informationen zur Sicherheitshärtung mit OpenID Connect.

    Sie können z. B. iss auf https://token.actions.githubusercontent.com und repository auf etwas in der Art von „octo-org/octo-repo“ festlegen. Dadurch wird gewährleistet, dass nur Aktionen-Workflows aus dem angegebenen Repository Zugriff auf Ihre JFrog-Plattform haben. Im Folgenden finden Sie ein Beispiel für „Claims JSON“ beim Konfigurieren von Identitätszuordnungen.

    JSON
    {
        "iss": "https://token.actions.githubusercontent.com",
        "repository": "octo-org/octo-repo"
    }
    

Hinzufügen des Identitätsanbieters zu JFrog

Um OIDC mit JFrog zu verwenden, richten Sie eine Vertrauensstellung zwischen GitHub Actions und der JFrog-Plattform ein. Weitere Informationen zu diesem Prozess finden Sie unter Integration von OpenID Connect in der JFrog-Dokumentation.

  1. Melden Sie sich bei Ihrer JFrog-Plattform an.
  2. Konfigurieren Sie die Vertrauensstellung zwischen JFrog und Ihren GitHub Actions-Workflows.
  3. Konfigurieren von Identitätszuordnungen

Aktualisieren deines GitHub Actions-Workflows

Authentifizieren bei JFrog mit OIDC

Achten Sie bei Ihrer GitHub Actions-Workflowdatei darauf, den Anbieternamen und die Zielgruppe zu verwenden, die Sie in der JFrog-Plattform konfiguriert haben.

Im folgenden Beispiel werden die Platzhalter YOUR_PROVIDER_NAME und YOUR_AUDIENCE verwendet.

permissions:
  id-token: write
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Set up JFrog CLI with OIDC
        id: setup-jfrog-cli
        uses: jfrog/setup-jfrog-cli@29fa5190a4123350e81e2a2e8d803b2a27fed15e
        with:
          JF_URL: $
          oidc-provider-name: 'YOUR_PROVIDER_NAME' 
          oidc-audience: 'YOUR_AUDIENCE' # This is optional

      - name: Upload artifact
        run: jf rt upload "dist/*.zip" my-repo/

Tipp

Wenn die OIDC-Authentifizierung verwendet wird, gibt die setup-jfrog-cli-Aktion automatisch oidc-user und oidc-token als Schrittausgabe zurück. Diese können für andere Integrationen verwendet werden, die eine Authentifizierung mit JFrog erfordern. Um auf diese Ausgaben zu verweisen, stelle sicher, dass für den Schritt explizit ein id-Wert definiert ist (z. B. id: setup-jfrog-cli).

Verwenden von OIDC-Anmeldeinformationen in anderen Schritten

      - name: Sign in to Artifactory Docker registry
        uses: docker/login-action@v3
        with:
          registry: $
          username: $
          password: $

Weitere Informationen