簡體   English   中英

如何設置ACL策略以允許用戶僅在Rundeck上運行作業?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM