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