simoncaron.pve_permissions

Ansible Rolle: Proxmox VE Berechtigungen (Benutzer/ACLs/Gruppen/Rollen/Pools)

Ansible Lint Ansible Release Ansible Galaxy Downloads

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.

Über das Projekt

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

Installieren
ansible-galaxy install simoncaron.pve_permissions
GitHub Repository
Lizenz
mit
Downloads
4.6k
Besitzer
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm