{"meta":{"title":"Настройка OpenID Connect в Octopus Deploy","intro":"Используйте OpenID Connect в своих рабочих процессах для аутентификации с помощью Octopus Deploy.","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-octopus-deploy","title":"OIDC в развертывании Octopus"}],"documentType":"article"},"body":"# Настройка OpenID Connect в Octopus Deploy\n\nИспользуйте OpenID Connect в своих рабочих процессах для аутентификации с помощью Octopus Deploy.\n\n## Обзор\n\nOpenID Connect (OIDC) позволяет вашим рабочим процессам GitHub Actions аутентифицироваться с [помощью Octopus Deploy](https://octopus.com/) , чтобы отправлять пакеты, создавать релизы или запускать развертывания без хранения паролей или API-ключей Octopus Deploy как долгоживущих GitHub секретов.\n\nВ этом руководстве представлен обзор того, как настроить Octopus Deploy так, чтобы он доверял OIDC GitHub как федеративную идентичность, а также включает пример рабочего процесса [`octopusdeploy/login`](https://github.com/OctopusDeploy/login) действия, использующего токены для аутентификации в вашем экземпляре Octopus Deploy.\n\n## Предпосылки\n\n* Основные понятия использования GitHub OpenID Connect (OIDC) и его архитектуры и преимуществ см. в статье [OpenID Connect](/ru/actions/concepts/security/openid-connect).\n\n* Прежде чем продолжить, необходимо спланировать стратегию безопасности, чтобы обеспечить выдачу маркеров доступа только предсказуемым способом. Чтобы управлять тем, как поставщик облачных служб выдает маркеры доступа, **необходимо** определить по крайней мере одно условие, запретив недоверенным репозиториям запрашивать маркеры доступа к облачным ресурсам. Дополнительные сведения см. в разделе [](/ru/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles).\n\n## Добавление идентификатора в Octopus Deploy\n\nЧтобы использовать OIDC с Octopus Deploy, сначала установите доверительные отношения между GitHub Actions и вашим экземпляром Octopus Deploy. Для получения дополнительной информации об этом процессе см. [раздел «Использование OpenID Connect с API Octopus](https://octopus.com/docs/octopus-rest-api/openid-connect) » в документации Octopus Deploy.\n\n1. Войдите в свой экземпляр Octopus Deploy.\n2. Создайте или откройте сервисный аккаунт, к которому будет предоставлен доступ через запрос токена.\n3. Настройте новую идентичность OIDC, определив соответствующий объект, по которому будет валидироваться запрос токена на рабочий процесс GitHub Actions.\n\n## Обновление рабочего процесса GitHub Actions\n\nЧтобы обновить рабочие процессы для OIDC, необходимо внести два изменения в YAML:\n\n1. Добавьте параметры разрешений для маркера.\n2. Используйте действие [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) для обмена токена OIDC (JWT) на облачный токен доступа.\n\n> \\[!NOTE]\n> Если среды используются в рабочих процессах или политиках OIDC, рекомендуется добавить правила защиты в среду для дополнительной безопасности. Например, можно настроить правила развертывания в среде, чтобы ограничить, какие ветви и теги могут развертываться в среде или получить доступ к секретам среды. Дополнительные сведения см. в разделе [Управление средами для развертывания](/ru/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments).\n\n### Добавление параметров разрешений\n\nДля выполнения задания или рабочего процесса требуется `permissions` параметр, позволяющий `id-token: write`GitHub поставщику OIDC создавать веб-токен JSON для каждого запуска.\n\n> \\[!NOTE] Параметр `id-token: write` в разрешениях рабочего процесса не дает рабочему процессу разрешение на изменение или запись в ресурсы. Вместо этого он позволяет рабочему процессу запрашивать (получить) и использовать (задать) маркер OIDC для действия или шага. Затем этот маркер используется для проверки подлинности с помощью внешних служб с помощью кратковременного маркера доступа.\n\nПодробные сведения о необходимых разрешениях, примерах конфигурации и расширенных сценариях см. в разделе [Справочник по OpenID Connect](/ru/actions/reference/security/oidc#workflow-permissions-for-the-requesting-the-oidc-token).\n\n### Запрос маркера доступа\n\nДействие [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login) получает JWT от OIDC-провайдера GitHub, а затем запрашивает токен доступа у вашего экземпляра Octopus Server. Для получения дополнительной информации смотрите документацию [`OctopusDeploy/login`](https://github.com/OctopusDeploy/login).\n\nВ следующем примере используется обмен токена OIDC ID с вашим экземпляром Octopus Deploy для получения токена доступа, который затем можно использовать для доступа к ресурсам Octopus Deploy. Обязательно замените `server``service_account_id` детали соответствующим образом для вашей ситуации.\n\n```yaml copy\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\n\njobs:\n  create_release_in_octopus:\n    runs-on: ubuntu-latest\n    name: Create a release in Octopus\n    permissions:\n      # You might need to add other permissions here like `contents: read` depending on what else your job needs to do\n      id-token: write # This is required to obtain an ID token from GitHub Actions for the job\n    steps:\n      - name: Login to Octopus\n        uses: OctopusDeploy/login@34b6dcc1e86fa373c14e6a28c5507d221e4de629 #v1.0.2\n        with:\n          server: https://my.octopus.app\n          service_account_id: 5be4ac10-2679-4041-a8b0-7b05b445e19e\n\n      - name: Create a release in Octopus\n        uses: OctopusDeploy/create-release-action@fe13cc69c1c037cb7bb085981b152f5e35257e1f #v3.2.2\n        with:\n          space: Default\n          project: My Octopus Project\n```\n\n## Дополнительные материалы\n\n* [Использование OpenID Connect с многократно используемыми рабочими процессами](/ru/actions/how-tos/secure-your-work/security-harden-deployments/oidc-with-reusable-workflows)\n* [Справочник по локальным запускам](/ru/actions/reference/runners/self-hosted-runners)"}