返回首页

Warpgate 用于带有 SSO 和 IaC 的 SSH 访问

本文描述了从 Ansible/跳板机迁移到 Warpgate 以实现集中式 SSH 访问。SSO Keycloak 集成,Terraform IaC,服务器无代理审计。多项目环境的实际优势。

Warpgate:代替跳板机的带有 SSO 的堡垒机
Advertisement 728x90

使用 Warpgate、SSO 和 IaC 实现集中式 SSH 访问管理

在由共享工程团队管理多个隔离基础设施的环境中,传统使用 Ansible 剧本来分发 SSH 密钥到 100+ 台虚拟机的方式已成为瓶颈。访问权限绑定于密钥持有而非企业角色,导致手动入职流程、权限撤销延迟以及审计难题。新方案利用 Warpgate 作为透明代理,结合 SSO 和 RBAC 实现自动化访问控制——服务器无需安装代理。

传统方案的关键局限

通过 Ansible 手动管理用户带来诸多痛点:

  • 无 SSO 集成:企业身份状态不影响访问权限。
  • 项目变更需手动运行剧本。
  • 权限撤销延迟:离线主机保留旧密钥。
  • 审计日志分散在各服务器上。

替代方案需求:企业 SSO 集成、声明式 IaC 管理、Kubernetes 高可用、无代理支持 SSH/HTTPS/DB/K8s。

Google AdInline article slot

Warpgate 核心特性

Warpgate 是一款开源堡垒机,在用户认证和角色检查后代理连接。它支持 OIDC SSO、2FA、会话录制和命令审计,无需修改目标资源,并提供 Web UI 查看连接历史。

与其他方案对比

| 特性 | Warpgate | Jump Host | VPN | Teleport |

|------|----------|-----------|-----|----------|

Google AdInline article slot

| 精确服务绑定 | ✅ | ❌ | ❌ | ✅ |

| 无需客户端 | ✅ | ❌ | ❌ | ✅ |

| 2FA | ✅ | PAM | 视情况 | ✅ |

Google AdInline article slot

| SSO | ✅ | PAM | 视情况 | 付费版 |

| 命令审计 | ✅ | ❌ | ❌ | ✅ |

| 会话录制 | ✅ | ❌ | ❌ | ✅ |

| 非交互连接 | ✅ | 有限 | ✅ | 包装器 |

| 自托管 | ✅ | ✅ | 视情况 | SaaS |

多项目环境优势:无许可费用、IaC 配置、无缝扩展。

Keycloak 和 Terraform 架构

SSO 集成

OIDC 提供商 Keycloak 将群组映射到 Warpgate 角色。示例 warpgate.yaml:

sso_providers:
  - name: keycloak
    label: "使用 Keycloak 登录"
    auto_create_users: true
    provider:
      type: custom
      client_id: warpgate
      client_secret: $OIDC_CLIENT_SECRET
      issuer_url: $ISSUER_URL
      scopes: ["openid", "email"]
      role_mappings:
        '/teams/devops/warpgate-admin': 'warpgate:admin'
        '/teams/devops/project-A': 'project-A'
        '/teams/devops/project-B': 'project-B'

群组 /teams/devops/project-A 授予项目 A 资源访问权。Keycloak 变更即时生效。

Terraform IaC 管理

Terraform 定义角色、资源和网关。结构:根 Warpgate + 按项目文件夹。内部网络使用内层 Warpgate 作为网关。覆盖 100+ 台 VM 的声明式管理,避免手动 UI 操作。

Kubernetes 部署多副本消除单点故障。

局限与兼容性

Warpgate 无法完全取代 Ansible:VM 需要单一技术用户处理代理连接。工程权限在堡垒机强制执行——主机无个人密钥。新项目轻松扩展,无需剧本。

实际变更

  • 入职:加入 Keycloak 群组。
  • 撤销:移除群组。
  • 审计:集中会话日志。
  • 扩展:多租户无孤儿访问风险。

访问管理运维开销降低 80%。

核心要点

  • SSO 角色访问,无服务器代理。
  • Terraform 声明式配置 100+ 资源。
  • 完整会话录制和命令级审计。
  • 自托管、无许可、Kubernetes 就绪。
  • 支持 SSH/HTTPS/DB/K8s 的非交互代理。

— Editorial Team

Advertisement 728x90

继续阅读