{"meta":{"title":"Настройка OpenID Connect в JFrog","intro":"Используйте OpenID Connect в рабочих процессах для проверки подлинности с помощью JFrog.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/how-tos","title":"Инструкции"},{"href":"/ru/actions/how-tos/secure-your-work","title":"Защита работы"},{"href":"/ru/actions/how-tos/secure-your-work/security-harden-deployments","title":"Развертывания защиты безопасности"},{"href":"/ru/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-jfrog","title":"OIDC в JFrog"}],"documentType":"article"},"body":"# Настройка OpenID Connect в JFrog\n\nИспользуйте OpenID Connect в рабочих процессах для проверки подлинности с помощью JFrog.\n\n## Обзор\n\nOpenID Connect (OIDC) позволяет рабочим процессам GitHub Actions проходить проверку подлинности с [помощью JFrog, чтобы скачать и опубликовать артефакты без хранения паролей JFrog](https://jfrog.com/) , маркеров или ключей API в GitHub.\n\nВ этом руководстве представлен обзор настройки JFrog для доверия GitHub%}в качестве федеративного удостоверения и демонстрируется использование этой конфигурации в рабочем процессе GitHub Actions.\n\nПример рабочего процесса GitHub Actions см [. в примере интеграции](https://jfrog.com/help/r/jfrog-platform-administration-documentation/sample-github-actions-integration) GitHub Actions в документации по JFrog.\n\nПример рабочего процесса GitHub Actions с помощью JFrog CLI см[`build-publish.yml`](https://github.com/jfrog/jfrog-github-oidc-example/blob/main/.github/workflows/build-publish.yml). в репозитории.`jfrog-github-oidc-example`\n\n## Необходимые компоненты\n\n* Основные понятия о том, как GitHub использует OpenID Connect (OIDC) и его архитектуру и преимущества, см. в разделе [OpenID Connect](/ru/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect).\n\n* Прежде чем продолжить, необходимо спланировать стратегию безопасности, чтобы обеспечить выдачу маркеров доступа только предсказуемым способом. Чтобы управлять тем, как поставщик облачных служб выдает маркеры доступа, **необходимо** определить по крайней мере одно условие, запретив недоверенным репозиториям запрашивать маркеры доступа к облачным ресурсам. Дополнительные сведения см. в разделе [OpenID Connect](/ru/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud).\n\n* Чтобы обеспечить безопасность, необходимо задать JSON утверждений в JFrog при настройке сопоставлений удостоверений. Дополнительные сведения см. в разделе \\[AUTOTITLE и [AUTOTITLE](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-identity-mappings)]\\(/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims).\n\n  Например, можно задать `iss``https://token.actions.githubusercontent.com`значение , а `repository` также что-то вроде \"octo-org/octo-repo\". Это обеспечит доступ к платформе JFrog только рабочих процессов Actions из указанного репозитория. Ниже приведен пример JSON утверждений при настройке сопоставлений удостоверений.\n\n  ```json copy\n  {\n      \"iss\": \"https://token.actions.githubusercontent.com\",\n      \"repository\": \"octo-org/octo-repo\"\n  }\n  ```\n\n## Добавление поставщика удостоверений в JFrog\n\nЧтобы использовать OIDC с JFrog, установите отношение доверия между GitHub Actions и платформой JFrog. Дополнительные сведения об этом процессе см [. в статье \"Интеграция](https://jfrog.com/help/r/jfrog-platform-administration-documentation/openid-connect-integration) OpenID Connect\" в документации по JFrog.\n\n1. Войдите на платформу JFrog.\n2. Настройте доверие между JFrog и рабочими процессами GitHub Actions.\n3. Настройте сопоставления удостоверений.\n\n## Обновление рабочего процесса GitHub Actions\n\n### Проверка подлинности с помощью JFrog с помощью OIDC\n\nВ файле рабочего процесса GitHub Actions убедитесь, что вы используете имя поставщика и аудиторию, настроенную на платформе JFrog.\n\nВ следующем примере используются заполнители `YOUR_PROVIDER_NAME` и `YOUR_AUDIENCE`.\n\n```yaml\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\npermissions:\n  id-token: write\n  contents: read\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Set up JFrog CLI with OIDC\n        id: setup-jfrog-cli\n        uses: jfrog/setup-jfrog-cli@29fa5190a4123350e81e2a2e8d803b2a27fed15e\n        with:\n          JF_URL: ${{ env.JF_URL }}\n          oidc-provider-name: 'YOUR_PROVIDER_NAME'\n          oidc-audience: 'YOUR_AUDIENCE' # This is optional\n\n      - name: Upload artifact\n        run: jf rt upload \"dist/*.zip\" my-repo/\n\n```\n\n> \\[!TIP]\n> При использовании `setup-jfrog-cli` проверки подлинности OIDC действие автоматически предоставляет `oidc-user` и `oidc-token` в качестве выходных данных шага.\n> Их можно использовать для других интеграции, требующих проверки подлинности с помощью JFrog.\n> Чтобы ссылаться на эти выходные данные, убедитесь, что на шаге определен явный `id` (например `id: setup-jfrog-cli`).\n\n### Использование учетных данных OIDC в других шагах\n\n```yaml\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\n      - name: Sign in to Artifactory Docker registry\n        uses: docker/login-action@v3\n        with:\n          registry: ${{ env.JF_URL }}\n          username: ${{ steps.setup-jfrog-cli.outputs.oidc-user }}\n          password: ${{ steps.setup-jfrog-cli.outputs.oidc-token }}\n```\n\n## Дополнительные материалы\n\n* [Интеграция](https://jfrog.com/help/r/jfrog-platform-administration-documentation/openid-connect-integration) OpenID Connect в документации по JFrog\n* [Сопоставления](https://jfrog.com/help/r/jfrog-platform-administration-documentation/identity-mappings) удостоверений в документации по JFrog\n* [OpenID Connect](/ru/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)"}