Skip to main content

Настройка OpenID Connect в JFrog

Используйте OpenID Connect в рабочих процессах для проверки подлинности с помощью JFrog.

Обзор

OpenID Connect (OIDC) позволяет рабочим процессам GitHub Actions проходить проверку подлинности с помощью JFrog, чтобы скачать и опубликовать артефакты без хранения паролей JFrog , маркеров или ключей API в GitHub.

В этом руководстве представлен обзор настройки JFrog для доверия GitHub%}в качестве федеративного удостоверения и демонстрируется использование этой конфигурации в рабочем процессе GitHub Actions.

Пример рабочего процесса GitHub Actions см . в примере интеграции GitHub Actions в документации по JFrog.

Пример рабочего процесса GitHub Actions с помощью JFrog CLI смbuild-publish.yml. в репозитории.jfrog-github-oidc-example

Необходимые компоненты

  • Основные понятия о том, как GitHub использует OpenID Connect (OIDC) и его архитектуру и преимущества, см. в разделе Сведения об усилении защиты с помощью OpenID Connect.

  • Прежде чем продолжить, необходимо спланировать стратегию безопасности, чтобы обеспечить выдачу маркеров доступа только предсказуемым способом. Чтобы управлять тем, как поставщик облачных служб выдает маркеры доступа, необходимо определить по крайней мере одно условие, запретив недоверенным репозиториям запрашивать маркеры доступа к облачным ресурсам. Дополнительные сведения см. в разделе Сведения об усилении защиты с помощью OpenID Connect.

  • Чтобы обеспечить безопасность, необходимо задать JSON утверждений в JFrog при настройке сопоставлений удостоверений. Дополнительные сведения см. в разделе [AUTOTITLE и AUTOTITLE](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims).

    Например, можно задать iss http://token.actions.githubusercontent.comзначение , а repository также что-то вроде "octo-org/octo-repo". Это обеспечит доступ к платформе JFrog только рабочих процессов Actions из указанного репозитория. Ниже приведен пример JSON утверждений при настройке сопоставлений удостоверений.

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

Добавление поставщика удостоверений в JFrog

Чтобы использовать OIDC с JFrog, установите отношение доверия между GitHub Actions и платформой JFrog. Дополнительные сведения об этом процессе см . в статье "Интеграция OpenID Connect" в документации по JFrog.

  1. Войдите на платформу JFrog.
  2. Настройте доверие между JFrog и рабочими процессами GitHub Actions.
  3. Настройте сопоставления удостоверений.

Обновление рабочего процесса GitHub Actions

Проверка подлинности с помощью JFrog с помощью OIDC

В файле рабочего процесса GitHub Actions убедитесь, что вы используете имя поставщика и аудиторию, настроенную на платформе JFrog.

В следующем примере используются заполнители YOUR_PROVIDER_NAME и YOUR_AUDIENCE.

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/

Совет

При использовании setup-jfrog-cli проверки подлинности OIDC действие автоматически предоставляет oidc-user и oidc-token в качестве выходных данных шага. Их можно использовать для других интеграции, требующих проверки подлинности с помощью JFrog. Чтобы ссылаться на эти выходные данные, убедитесь, что на шаге определен явный id (например id: setup-jfrog-cli).

Использование учетных данных OIDC в других шагах

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

Дополнительные материалы