Skip to main content

OIDC とともに API ゲートウェイを使用する

OpenID Connect (OIDC) トークンを使用して、ワークフローを認証できます。

OIDC とともに API ゲートウェイを使用する

GitHub Actions では、OpenID Connect (OIDC) トークンを使用して、GitHub Actions の外部でワークフローを認証できます。たとえば、OIDC トークンを使用して着信要求を認証し、プライベート ネットワーク内のワークフローに代わって API 要求を行う API ゲートウェイをプライベート ネットワークのエッジで実行できます。

次の図は、このソリューションのアーキテクチャの概要を示しています。

GitHub Actions ランナーから始まり、プライベート ネットワークのプライベート サービスで終わる OIDC ゲートウェイのアーキテクチャ図。

OIDC トークンが GitHub Actions から取得されただけでなく、想定されているワークフローから特別に取得されたことの認証を行い、他の GitHub Actions ユーザーがプライベート ネットワーク内のサービスにアクセスできないようにすることが重要です。 OIDC 要求を使用して、これらの条件を作成できます。 詳しくは、「OpenID Connect を使ったセキュリティ強化について」をご覧ください。

このアプローチの主な欠点は、ユーザーに代わって要求を行う API ゲートウェイを実装し、ネットワークのエッジでそのゲートウェイを実行する必要があることです。

次の利点が適用されます。

  • ファイアウォールを構成したり、プライベート ネットワークのルーティングを変更したりする必要はありません。
  • API ゲートウェイはステートレスであるため、高可用性と高処理能力をハンドルするために水平方向にスケーリングされます。

詳細については、 github/actions-oidc-gateway リポジトリの API ゲートウェイのリファレンス実装 を参照してください。 この実装では、ユース ケースのカスタマイズが必要であり、そのまま実行できる状態ではありません)。 詳しくは、「OpenID Connect を使ったセキュリティ強化について」をご覧ください。