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

Rundeck社区版部署ECS Fargate时用户丢失及替代管理方案咨询

Rundeck社区版用户管理替代方案(解决容器更新用户丢失问题)
  • 挂载持久化存储保留realm.properties
    这是最直接的现有方案优化:在ECS任务定义里,把/home/rundeck/server/config目录挂载到EFS、EBS或者NAS这类持久化存储上。容器更新时,存储卷里的realm.properties不会被重置,用户信息就能保留。不需要改认证逻辑,只需要调整容器挂载配置。

  • JDBC数据库存储用户信息
    把用户、角色、权限存在外部数据库(比如MySQL、PostgreSQL),数据库用持久化实例(比如RDS),容器更新完全不影响数据。需要修改shiro.ini配置替换默认的PropertiesRealm:

    1. 在shiro.ini的[main]段添加JDBCRealm配置,示例:
      [main]
      # 配置数据源
      dataSource = com.mysql.cj.jdbc.MysqlDataSource
      dataSource.url = jdbc:mysql://your-rds-host:3306/rundeck_auth?useSSL=false&serverTimezone=UTC
      dataSource.user = rundeck_db_user
      dataSource.password = your-db-pass
      
      # 配置JDBCRealm
      jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
      jdbcRealm.dataSource = $dataSource
      # 认证查询:根据用户名查加密后的密码
      jdbcRealm.authenticationQuery = SELECT password FROM users WHERE username = ?
      # 角色查询:根据用户名查所属角色
      jdbcRealm.userRolesQuery = SELECT role_name FROM user_roles WHERE username = ?
      # 权限查询:根据用户名查权限
      jdbcRealm.permissionsQuery = SELECT permission FROM user_permissions WHERE username = ?
      
      # 配置密码加密匹配器(比如MD5,和你存储密码的加密方式一致)
      credentialsMatcher = org.apache.shiro.authc.credential.HashedCredentialsMatcher
      credentialsMatcher.hashAlgorithmName = MD5
      credentialsMatcher.hashIterations = 2
      jdbcRealm.credentialsMatcher = $credentialsMatcher
      
      # 替换默认Realm
      securityManager.realms = $jdbcRealm
      
    2. 在数据库中创建对应的表:
      • users表:username(主键)、password(加密后的密码)
      • user_roles表:username、role_name
      • user_permissions表:username、permission
  • 使用嵌入式H2数据库(仅测试环境)
    Rundeck默认用嵌入式H2存储一些数据,也可以配置它来存用户信息。但要把H2的存储文件挂载到持久化卷,不然容器更新还是会丢。配置方式类似JDBC,只是数据源换成H2的JDBC URL,比如jdbc:h2:/home/rundeck/server/data/rundeck_auth;DB_CLOSE_ON_EXIT=FALSE,然后挂载/home/rundeck/server/data目录到持久化存储。不过H2不适合生产环境,只建议测试用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:10:29