跳至主要内容

将 API 网关与 OIDC 一起使用

你可以使用 OpenID Connect (OIDC) 令牌对你的工作流进行身份验证。

将 API 网关与 OIDC 一起使用

使用 GitHub 操作,你可以使用 OpenID Connect (OIDC) 令牌在 GitHub 操作之外对你的工作流进行身份验证。例如,你可以在私有网络的边缘运行一个 API 网关,该网关使用 OIDC 令牌对传入请求进行身份验证,然后代表你的工作流在你的私有网络中发出 API 请求。

下图概述了此解决方案的架构

Diagram of an OIDC gateway architecture, starting with a GitHub Actions runner and ending with a private network's private service.

重要的是,您不仅要验证 OIDC 令牌来自 GitHub Actions,还要验证它来自您预期的工作流,这样其他 GitHub Actions 用户才无法访问您专用网络中的服务。您可以使用 OIDC 声明来创建这些条件。有关更多信息,请参阅“关于使用 OpenID Connect 进行安全强化”。

这种方法的主要缺点是,您必须实现 API 网关来代表您发出请求,并且您必须在网络边缘运行网关。

以下优点适用。

  • 您无需配置任何防火墙,或修改专用网络的路由。
  • API 网关是无状态的,并且水平扩展以处理高可用性和高吞吐量。

有关更多信息,请参阅 github/actions-oidc-gateway 存储库中 API 网关的参考实现。此实现需要针对您的用例进行定制,并且无法按原样直接运行)。有关更多信息,请参阅“关于使用 OpenID Connect 进行安全强化”。