用途
本技能面向 Twingate 身份防火墙(Identity Firewall,IDFW)与 Twingate Gateway,处理协议层的身份强制执行。它回答的核心问题是:能否把已登录用户的身份转发进某个应用——答案是可以,但需要 Gateway,而不是 Connector。
主要能力与核心概念
Connector 与 Gateway 的区分是本技能的基础概念:
- Connector:透明的 TCP 隧道(网络层),只转发数据包,不理解协议。
- Gateway:主动的协议中介(应用层),在协议内部校验 SSH 证书、执行 K8s RBAC。
两者互补而非可互换。增加更多 Connector 不会带来 IDFW 能力,必须使用 Gateway。
Gateway 涉及的能力包括:SSH 特权访问与短期证书、Kubernetes API 的 kubectl 代理模式、会话录制、承包商访问模式,以及 Web 应用特权访问(Gateway 作为第 7 层反向代理,向自托管 HTTP 应用注入签名 JWT 或可信标头,实现 SSO 与请求级审计)。
使用方式与配置要点
- SSH 用户名位于网关配置 YAML 的
ssh.resources[].username,不在管理控制台的资源定义、不在twingate_resourceTerraform 资源、也不在 GraphQL API 中。这是 IDFW 部署中最常见的混淆点。 - 若存在任何审计或合规要求,应从第一天就部署会话录制;该功能不可追溯,之后启用无法捕获过去的会话。
- 生产环境应使用 HashiCorp Vault 作为 SSH CA;本地 CA 模式会把私钥留在 Gateway 主机上,形成单点失陷风险,仅明确用于开发/测试。
- 需要两个 CA,而非一个:X.509 CA 保护客户端与 Gateway 之间的 TLS 连接;独立的 SSH CA 签发并校验用户证书。两者都必须在管理控制台的 Certificate Authorities 部分配置后 Gateway 才能工作。
- 单个 Gateway 实例是其服务的所有 SSH 与 K8s 访问的单点故障,至少应在负载均衡器后部署两个。
Web 应用特权访问(Beta)
Gateway 作为第 7 层反向代理,向每个转发的 HTTP 请求注入签名的 ES256 JWT(Gateway Access Token,GAT)或纯可信标头;应用通过租户 JWKS 端点 https://<tenant>.twingate.com/api/v1/jwk/ec 校验 JWT。
- 目前仅支持 HTTP 上游,Gateway 以明文 HTTP 反向代理到 Web 应用目标;加密 HTTPS 上游支持属于未来路线图项。
- 优先使用 JWT 校验而非可信标头认证。可信标头模式是明文,仅在应用网络隔离、Gateway 是其唯一入口时才安全。
- JWT 的
typ标头是GAT,不是JWT。默认强制typ: JWT的库会拒绝有效令牌,这是最常见的集成失败原因。始终校验exp。 - 标头是可选启用的。在 Web App Resource 上配置请求标头之前,Gateway 不会注入任何内容;按资源的重写会覆盖同名的网关级标头。
- 由自己掌控代码时使用开发者指南(直接 JWT 校验);无法修改应用时使用集成(可信标头)。
- 该功能为 Beta,需联系 Twingate 获取访问权限。
适用场景
- 需要协议级身份强制与审计的 SSH、Kubernetes API 访问。
- 需要将登录用户身份传入自托管 HTTP 应用、实现 SSO 与请求级审计。
- 承包商与特权访问流程,结合短期证书与时间受限访问。
- 对现有会话录制进行自托管查看(相关工具为示例/参考项目,无保修,不是受支持的 Twingate 产品)。
与其他技能的路由关系
- Terraform provider 与 Gateway 基础设施 IaC → twingate-terraform
- Connector 部署及网络层概念 → twingate-connectors
- K8s operator、Helm chart 与资源路由 → twingate-kubernetes
- 组成员管理、JIT 访问、时间受限访问 → twingate-identity
- 远程网络拓扑与整体部署设计 → twingate-architect
- 网络层症状(客户端完全无法到达 Gateway、Connector 路径问题、DNS)→ twingate-troubleshoot;Gateway 层故障(TLS 握手错误、CONNECT 认证失败、SSH 证书被目标拒绝、kubectl 模拟 403、会话录制缺失)仍留在本技能。
限制与注意事项
- Gateway 是此处唯一受生产支持的组件。会话录制回放/归档工具(如
gh-twingate-solutions-gatorcast.md)明确为示例/参考项目,无保修,不应放入合规关键路径。 - 不应凭记忆回答以下内容,需查阅参考文件:网关配置 YAML 键与结构、网关故障诊断(日志消息、错误特征、TLS/CONNECT 失败模式、指标名称)、管理控制台导航路径与 UI 标签、Vault secrets engine 路径或策略语法、Smallstep CA 配置语法、kubectl 代理模式或会话录制的 Helm chart 值、支持的 SSH/协议矩阵与 IDFW 路线图、Web 应用集成细节(JWKS 端点路径、JWT typ/alg 值、标头模板变量、各框架中间件配置)。这些内容会漂移,过时的 YAML 键会导致 Gateway 启动失败。
- 回答前应先用用户自己的关键词 grep
references/,这些文件每周刷新。文件名仅揭示主题,Helm 值名称、环境变量与错误字符串位于文件正文中。 - Gateway 自身 Helm chart 值与部署示例可参考
gh-twingate-gateway-wiki.md和gh-twingate-gateway.md;确切的当前 YAML 键应直接查看 https://github.com/Twingate/gateway 的 deploy/ 目录。