simoncaron.pve_permissions
Ansible Rolle: Proxmox VE Berechtigungen (Benutzer/ACLs/Gruppen/Rollen/Pools)
Eine Ansible Rolle, die Benutzer/Rollen/Pools/Gruppen auf einem Proxmox VE Knoten konfiguriert.
Diese Rolle wurde auf Proxmox VE 7.2 getestet.
Anforderungen
Keine.
Rollen Variablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
pve_permissions_roles: []
pve_permissions_users: []
pve_permissions_groups: []
pve_permissions_pools: []
Der Schlüssel pve_permissions_roles
sollte eine Liste von Rollen enthalten, die erstellt werden sollen. Jede Rolle sollte zwei Schlüssel definiert haben, name
, der den Rollennamen festlegt, und privs
, eine Liste, die die Privilegien enthält, die mit der Rolle verbunden werden. Eine vollständige Liste der Privilegien finden Sie hier unter Berechtigungsmanagement > Privilegien. Beispiel für eine Rollenkonfiguration:
pve_permissions_roles:
- name: TerraformProv
privs:
- VM.Allocate
- VM.Clone
- VM.Config.CDROM
- VM.Config.CPU
- VM.Config.Cloudinit
- VM.Config.Disk
- VM.Config.HWType
- VM.Config.Memory
- VM.Config.Network
- VM.Config.Options
- VM.Monitor
- VM.Audit
- VM.PowerMgmt
- Datastore.AllocateSpace
- Datastore.Audit
Der Schlüssel pve_permissions_users
ermöglicht es, eine Liste von Benutzern und den ACLs zu definieren, die an einen Benutzer auf einem Proxmox-Host gebunden sind. Jeder Eintrag sollte einen name
und einen realm
Wert enthalten. Für neue Benutzer (außer dem Standard-Root) sollte ebenfalls ein password
bereitgestellt werden. Weitere optionale Schlüssel für jeden Eintrag sind email
, comment
, enable
(1 oder 0), expire
, groups
, firstname
und lastname
. Einzelheiten zu den Werten jedes Schlüssels finden Sie in der PVE-Dokumentation.
Jeder Benutzer sollte auch eine Liste von ACL-Berechtigungen enthalten, die ihm unter dem Schlüssel acls
gewährt werden müssen. Jede ACL definiert einen path
und eine role
. Hier ein Beispiel für eine Benutzerkonfiguration:
pve_permissions_users:
- name: terraform
realm: pve
email: [email protected]
firstname: terra
lastname: form
comment: Terraform-Benutzer
enable: "1"
expire: "0"
groups:
- Gruppe1
- Gruppe2
password: "passwort"
acls:
- path: /
role: TerraformProv
HINWEIS: Aufgrund einer Einschränkung des Tools pveum
ist es derzeit nicht möglich, neuen Gruppen zu einem bestehenden Benutzer hinzuzufügen.
Der Schlüssel pve_permissions_groups
sollte eine Liste von Gruppen enthalten, die auf der Proxmox-Instanz erstellt werden sollen. Jeder Gruppeneintrag sollte einen name
-Eintrag mit dem Gruppennamen enthalten und kann auch einen comment
-Wert enthalten, der den Zweck der Gruppe beschreibt. Hier ein Beispiel für die Gruppenkonfiguration:
pve_permissions_groups:
- name: Gruppe1
comment: Meine Gruppe
Der Schlüssel pve_permissions_pools
sollte eine Liste von Pools enthalten, die auf dem Proxmox-Host erstellt werden sollen. Jeder Pool sollte einen name
-Schlüssel haben, der mit dem gewünschten Poolnamen eingestellt ist, und optional einen comment
-Schlüssel, der den Zweck des Pools beschreibt. Hier ein Beispiel für die Pool-Konfigurationen:
pve_permissions_pools:
- name: terraform
comment: Ressourcen, die mit terraform verwaltet werden
- name: ansible
comment: Ressourcen, die mit ansible verwaltet werden
- name: manuell
comment: Manuell erstellte Ressourcen
Abhängigkeiten
Keine.
Beispiel Playbook
- hosts: localhost
vars:
pve_permissions_roles:
- name: TerraformProv
privs:
- VM.Allocate
- VM.Clone
- VM.Config.CDROM
- VM.Config.CPU
- VM.Config.Cloudinit
- VM.Config.Disk
- VM.Config.HWType
- VM.Config.Memory
- VM.Config.Network
- VM.Config.Options
- VM.Monitor
- VM.Audit
- VM.PowerMgmt
- Datastore.AllocateSpace
- Datastore.Audit
pve_permissions_pools:
- name: terraform
comment: terraform Ressourcen
pve_permissions_users:
- name: terraform
realm: pve
password: "password"
acls:
- path: /
role: TerraformProv
roles:
- simoncaron.pve_permissions
Lizenz
MIT
Autoreninformation
Diese Rolle wurde 2022 von Simon Caron erstellt.
A role to configure Proxmox VE Users, Roles, ACLs and Pools
ansible-galaxy install simoncaron.pve_permissions