Использование шлюза API с OIDC
С помощью GitHub Actions можно использовать маркеры OpenID Connect (OIDC) для проверки подлинности рабочего процесса за пределами GitHub Actions. Например, можно запустить шлюз API на границе частной сети, которая проверяет подлинность входящих запросов с помощью маркера OIDC, а затем выполняет запросы API от имени рабочего процесса в частной сети.
На следующей схеме представлен обзор архитектуры этого решения:
Важно убедиться не только в том, что маркер OIDC поступил из GitHub Actions, но он был получен специально из ожидаемых рабочих процессов, чтобы другие пользователи GitHub Actions не могли получить доступ к службам в частной сети. Для создания этих условий можно использовать утверждения OIDC. Дополнительные сведения см. в разделе Сведения об усилении защиты с помощью OpenID Connect.
Основным недостатком этого подхода является то, что необходимо реализовать шлюз API для выполнения запросов от вашего имени, и необходимо запустить шлюз на границе сети.
Ниже приведены преимущества.
- вам не нужно настраивать брандмауэры или изменять маршрутизацию частной сети;
- Шлюз API является бессерверным и горизонтально масштабируется для обработки высокой доступности и высокой пропускной способности.
Дополнительные сведения см . в справочной реализации шлюза API в репозитории github/actions-oidc-gateway. Эта реализация требует настройки для вашего варианта использования и не готова к выполнению от имени). Дополнительные сведения см. в разделе Сведения об усилении защиты с помощью OpenID Connect.