Rundeck CE中配置用户权限ACL遇项目访问授权问题
解决Rundeck CE用户无项目访问权限的ACL配置问题
问题根源
- 权限项错误:你写的
run.kill不符合Rundeck的权限定义,作业执行权限是run,终止权限是kill,需分开声明。 - 项目资源权限缺失:未明确允许用户访问项目资源,导致Web UI无法加载项目列表。
- 匹配方式不合理:用单个用户名匹配不如用角色匹配,和你将用户加入
user组的配置逻辑不符。
修正后的ACL配置
description: User group permission ACL (all projects) context: project: '.*' for: resource: - equals: kind: project allow: read job: - allow: [read, run, kill] by: role: user --- description: User group application-level ACL context: application: 'rundeck' for: resource: - equals: kind: project allow: read project: - allow: [read] by: role: user
配置说明
- 项目上下文规则:允许
user组用户读取所有项目(通过kind: project指定资源类型),同时允许对作业执行读、运行、终止操作。 - 应用层规则:允许
user组用户读取系统级的项目列表(这是Web UI显示项目的必要权限),并读取项目基本信息。
后续操作步骤
- 将上述配置保存为
/etc/rundeck/acls/user-access.aclpolicy(文件名可自定义,需保证后缀为.aclpolicy)。 - 确认
realm.properties中的用户配置无误:user:password,user(第二个user为用户所属组名)。 - 重启Rundeck服务:
(若使用非systemd系统,可替换为sudo systemctl restart rundeckdsudo service rundeckd restart) - 用目标用户重新登录Web UI,即可正常访问所有项目并操作指定作业。
内容的提问来源于stack exchange,提问作者cnrdvdsmt
相关产品推荐
相关产品推荐

