2016-04-06 9 views
1

Kann jemand mir helfen, wie ein Job ausgeführt
2) verweigert Änderung/Löschung bestehenden Job
3) verweigern konfigurieren, dass nur einen Benutzer in Rundeck zu
1) Schaffung neuer Arbeitsplätze
Wie kann eine ACL-Richtlinie festgelegt werden, damit ein Benutzer nur einen Job auf dem Rundeck ausführen kann?

Ich nehme an Ich muss diese Konfiguration in der aclpolicy.yaml-Datei festlegen, aber ich kann detaillierte Anweisungen zu dem Ausführen von es nicht finden.

Vielen Dank im Voraus

Antwort

1

Ja .. Glücklich zu helfen.

Ich nehme an, Sie haben bereits ein Projekt und einen Job dort. Sagen Sie Projekt Test und Job testjob. Ich nehme an, Sie haben eine Rolle/Gruppe in der WEB.xml-Datei als testrole erstellt und Sie haben eine .aclpolicy als test.aclpolicy. Die oben genannten Materialien haben eine ausführliche Dokumentation zu Rundeck, es stimmt jedoch, dass sie keine bessere Dokumentation zu verschiedenen Anwendungsfällen von rd-acl haben.

In Ihrem Fall, wenn Sie möchten, dass Ihr Benutzer "testuser" eine Jobausführung nur ausführt/liest/killt, verwenden Sie die folgende 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 

Im Fall, wenn Sie gleiches Recht auf mehrere Aufträge in einem gleichen Projekt für den gleichen Benutzer, einfach ersetzen „gleich“ mit „Übereinstimmung“ und unter dem Namen Parameter, geben Sie Ihre Jobs Trennen ein Rohres „geben wollten | " wie „testjob1 | testjob2“ ..

1

Wenn Sie einen Benutzer mit der Berechtigung müssen alle Aufträge in allen Projekten ausführen können Sie die nächste Politik (kleine Änderung von Leo Antwort) konfigurieren:

--- 
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 
+0

das wahr ist. Aber acl ist immer dazu gedacht, die Zugriffsebenen zu verengen. Wenn Sie eine Rolle mit Benutzern benötigen, um an allen Jobs zu arbeiten, kopieren Sie besser die Admin-Benutzer-ACL-Richtlinie mit einem separaten Benutzernamen. –

Verwandte Themen