OIDC とともに API ゲートウェイを使用する
GitHub Actions では、OpenID Connect (OIDC) トークンを使用して、GitHub Actions の外部でワークフローを認証できます。たとえば、OIDC トークンを使用して着信要求を認証し、プライベート ネットワーク内のワークフローに代わって API 要求を行う API ゲートウェイをプライベート ネットワークのエッジで実行できます。
次の図は、このソリューションのアーキテクチャの概要を示しています。
OIDC トークンが GitHub Actions から取得されただけでなく、想定されているワークフローから特別に取得されたことの認証を行い、他の GitHub Actions ユーザーがプライベート ネットワーク内のサービスにアクセスできないようにすることが重要です。 OIDC 要求を使用して、これらの条件を作成できます。 詳しくは、「OpenID Connect を使ったセキュリティ強化について」を参照してください。
このアプローチの主な欠点は、ユーザーに代わって要求を行う API ゲートウェイを実装し、ネットワークのエッジでそのゲートウェイを実行する必要があることです。
次の利点が適用されます。
- ファイアウォールを構成したり、プライベート ネットワークのルーティングを変更したりする必要はありません。
- API ゲートウェイはステートレスであるため、高可用性と高処理能力をハンドルするために水平方向にスケーリングされます。
詳細については、 github/actions-oidc-gateway リポジトリの API ゲートウェイのリファレンス実装 を参照してください。 この実装では、ユース ケースのカスタマイズが必要であり、そのまま実行できる状態ではありません)。 詳しくは、「OpenID Connect を使ったセキュリティ強化について」を参照してください。