任何人都可以帮助我如何将 Rundeck 中的用户配置为
1) 只运行一个作业
2) 拒绝修改/删除现有作业
3) 拒绝创建新作业
我想我需要在 aclpolicy.yaml 文件中设置此配置,但我找不到有关如何执行此操作的详细说明。
提前致谢
任何人都可以帮助我如何将 Rundeck 中的用户配置为
1) 只运行一个作业
2) 拒绝修改/删除现有作业
3) 拒绝创建新作业
我想我需要在 aclpolicy.yaml 文件中设置此配置,但我找不到有关如何执行此操作的详细说明。
提前致谢
是的..乐于助人。
我假设你已经有一个项目和一份工作。说项目测试和工作测试工作。我假设您已经在 WEB.xml 文件上创建了一个角色/组作为 testrole,并且您有一个 .aclpolicy 作为 test.aclpolicy。上面的东西有关于 Rundeck 的详细文档,但是他们确实没有关于各种 rd-acl 用例的更好的文档。
在您的情况下,如果您希望您的用户“testuser”只运行/读取/终止作业执行,请使用以下 test.aclpolicy。
---
for:
job:
- allow:
- runAs
- killAs
- kill
- read
- run
equals:
name: testjob
node:
- allow:
- read
- run
adhoc:
- deny:
- read
- run
resource:
- allow: read
equals:
kind: event
description: generated
context:
project: Test
by:
group: testrole
---
for:
project:
- allow: read
equals:
name: Test
description: generated
context:
application: rundeck
by:
group: testrole
如果您想为同一用户在同一项目中的多个作业赋予相同的权限,只需将“equals”替换为“match”并在 name 参数下,输入您的作业分隔管道“|” 像“testjob1|testjob2”..
如果您需要一个有权执行所有项目中的所有作业的用户,您可以配置下一个策略(来自 Leo 答案的小修改):
---
description: 'Allow group runjob to run all jobs'
for:
job:
- allow:
- runAs
- killAs
- kill
- run
- read
match:
name: '.*'
node:
- allow:
- read
- run
adhoc:
- deny:
- read
- run
resource:
- allow: read
equals:
kind: event
context:
project: '.*'
by:
group: runjob
---
description: 'Allow '
for:
project:
- allow: read
match:
name: '.*'
context:
application: rundeck
by:
group: runjob