You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Rundeck OSS实现自动登录?(GCP IAP前置认证场景)

解决方案:Rundeck OSS 对接GCP IAP前置认证(禁用自身登录)

1. 移除原有AD认证环境变量

删除所有Rundeck JAAS LDAP相关环境变量,包括但不限于:

  • RUNDECK_JAAS_LDAP_PROVIDERURL
  • RUNDECK_JAAS_LDAP_USERBASEDN
  • 所有RUNDECK_JAAS_LDAP_*前缀的变量

2. 配置JAAS头部认证模块

创建或修改Rundeck的JAAS配置文件(Docker环境路径通常为/etc/rundeck/jaas-login.conf),添加以下配置:

rundeck {
    com.dtolabs.rundeck.jetty.jaas.JettyHeaderLoginModule required
    debug="true"
    headerName="X-Goog-Authenticated-User-Email"
    userHeader="X-Goog-Authenticated-User-Email"
    roleHeader="X-Goog-Authenticated-User-Groups"
    roles="user,admin" # 可自定义默认角色,或从IAP传递的组头获取
    ignoreCase="true";
};

注:GCP IAP会自动在请求头注入X-Goog-Authenticated-User-Email(格式如accounts.google.com:user@example.com)和X-Goog-Authenticated-User-Groups(用户所属GCP组),直接用这些字段作为Rundeck的用户、角色来源即可。

3. 配置Rundeck信任IAP代理

在rundeck-config.properties中添加代理信任配置,防止头部信息被伪造:

server.forward-headers-strategy=NATIVE
server.use-forward-headers=true
server.trusted-proxies=35.191.0.0/16,130.211.0.0/22 # 替换为实际GCP IAP代理IP段

4. 禁用Rundeck原生登录功能

在rundeck-config.properties中添加以下配置,关闭登录页面并启用自动登录:

rundeck.login.enabled=false
rundeck.user.create.enabled=false
rundeck.automatic.login=true

5. 角色映射配置(可选)

若需根据IAP传递的GCP组自动分配Rundeck角色,可在framework.properties中添加映射规则:

rundeck.security.roleMapping.admin=gcp-admin-group@example.com
rundeck.security.roleMapping.user=gcp-user-group@example.com

6. 验证配置

重启Rundeck服务后,通过IAP访问Rundeck URL,应自动完成登录,无需输入账号密码。可通过Rundeck右上角用户信息确认当前登录身份是否为IAP传递的用户。


内容的提问来源于stack exchange,提问作者Gary Turner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:07:23