如何设置ACL策略以允许用户仅在Rundeck上运行作业?

如何设置ACL策略以允许用户仅在Rundeck上运行作业?,rundeck,Rundeck,有谁能帮助我将Rundeck中的用户配置为 1) 仅运行作业 2) 拒绝修改/删除现有作业 3) 拒绝创造新的就业机会 我想我需要在aclpolicy.yaml文件中设置此配置,但我找不到关于如何设置的详细说明 提前谢谢你是的。。很乐意帮忙 我想你已经有了一个项目和一份工作。比如说项目测试和作业测试作业。我假设您已经在WEB.xml文件上创建了一个角色/组作为testrole,并将.aclpolicy作为test.aclpolicy。上述人员在Rundeck上有详细的文档,但是他们确实没有关于各

有谁能帮助我将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的回答稍作修改):


的确如此。但是acl总是用于缩小访问级别。如果需要用户角色来处理所有作业,最好使用单独的用户名复制管理员用户acl策略。
---
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