simoncaron.pve_permissions

Ansible Rola: Uprawnienia Proxmox VE (Użytkownicy/ACL/Grupy/Roli/Pule)

Ansible Lint Ansible Release Ansible Galaxy Downloads

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.

O projekcie

A role to configure Proxmox VE Users, Roles, ACLs and Pools

Zainstaluj
ansible-galaxy install simoncaron.pve_permissions
Licencja
mit
Pobrania
4.6k
Właściciel
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm