[英]How can be set an ACL policy to allow a user to only run a job on 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答案的小修改):
---
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.