simoncaron.pve_permissions
Ansible Rola: Uprawnienia Proxmox VE (Użytkownicy/ACL/Grupy/Roli/Pule)
Rola Ansible, która konfiguruje Użytkowników/Role/Pule/Grupy na węźle Proxmox VE.
Ta rola była testowana na Proxmox VE 7.2.
Wymagania
Brak.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml
):
pve_permissions_roles: []
pve_permissions_users: []
pve_permissions_groups: []
pve_permissions_pools: []
Klucz pve_permissions_roles
powinien zawierać listę ról do utworzenia. Każda rola powinna mieć zdefiniowane dwa klucze: name
, który ustawia nazwę roli, i privs
, który jest listą zawierającą uprawnienia powiązane z rolą. Pełna lista uprawnień znajduje się tutaj w sekcji Zarządzanie uprawnieniami > Uprawnienia. Przykład konfiguracji roli:
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
Klucz pve_permissions_users
umożliwia zdefiniowanie listy użytkowników oraz ACL powiązanych z użytkownikiem na hoście Proxmox. Każdy wpis powinien zawierać wartości name
i realm
. Dla nowych użytkowników (oprócz domyślnego root) powinno być również podane hasło. Inne opcjonalne klucze dla każdego wpisu to email
, comment
, enable
(1 lub 0), expire
, groups
, firstname
i lastname
. Szczegóły dotyczące wartości każdego klucza można znaleźć w dokumentacji PVE.
Każdy użytkownik powinien również zawierać listę uprawnień ACL, które muszą być mu przyznane w kluczu acls
. Każdy ACL definiuje path
i role
. Oto przykład konfiguracji użytkownika:
pve_permissions_users:
- name: terraform
realm: pve
email: [email protected]
firstname: terra
lastname: form
comment: Użytkownik Terraform
enable: "1"
expire: "0"
groups:
- Group1
- Group2
password: "password"
acls:
- path: /
role: TerraformProv
UWAGA: Z powodu ograniczenia narzędzia pveum
obecnie nie jest możliwe przypisanie nowych grup do istniejącego użytkownika.
Klucz pve_permissions_groups
powinien zawierać listę grup do utworzenia na instancji Proxmox. Każdy wpis grupy powinien zawierać name
określający nazwę grupy oraz opcjonalnie wartość comment
, która będzie opisywać cel grupy. Oto przykład konfiguracji grup:
pve_permissions_groups:
- name: Group1
comment: Moja Grupa
Klucz pve_permissions_pools
powinien zawierać listę pul do utworzenia na hoście Proxmox. Każda pula powinna mieć klucz name
ustawiony na żądaną nazwę puli oraz opcjonalnie klucz comment
opisujący cel puli. Oto przykład konfiguracji pul:
pve_permissions_pools:
- name: terraform
comment: Zasoby zarządzane za pomocą terraform
- name: ansible
comment: Zasoby zarządzane za pomocą ansible
- name: manual
comment: Zasoby utworzone ręcznie
Zależności
Brak.
Przykład Playbooka
- 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: zasoby terraform
pve_permissions_users:
- name: terraform
realm: pve
password: "password"
acls:
- path: /
role: TerraformProv
roles:
- simoncaron.pve_permissions
Licencja
MIT
Informacje o Autorze
Ta rola została stworzona w 2022 roku przez Simona Carona.
A role to configure Proxmox VE Users, Roles, ACLs and Pools
ansible-galaxy install simoncaron.pve_permissions