跳至主要内容

使用带有 OIDC 的 API 网关

您可以使用 OpenID Connect (OIDC) 令牌来验证您的工作流。

使用带有 OIDC 的 API 网关

使用 GitHub Actions,您可以使用 OpenID Connect (OIDC) 令牌来验证 GitHub Actions 外部的 Workflow。例如,您可以在私有网络边缘运行一个 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 加强安全性”。