pve_permissions

Ansible Роль: Разрешения Proxmox VE (Пользователи/ACL/Группы/Роли/Пулы)

Ansible Lint Ansible Release Ansible Galaxy Downloads

Роль Ansible, которая настраивает пользователей, роли, пулы и группы на узле Proxmox VE.

Эта роль была протестирована на Proxmox VE 7.2.

Требования

Отсутствуют.

Переменные роли

Доступные переменные перечислены ниже с их значениями по умолчанию (см. defaults/main.yml):

pve_permissions_roles: []

pve_permissions_users: []

pve_permissions_groups: []

pve_permissions_pools: []

Ключ pve_permissions_roles должен содержать список ролей для создания. Каждая роль должна иметь два определенных ключа: name (название роли) и privs (список привилегий, связанных с ролью). Полный список привилегий можно найти здесь в разделе Управление разрешениями > Привилегии. Пример настройки роли:

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_users позволяет определить список пользователей и ACL, связанных с пользователем на хосте Proxmox. Каждая запись должна содержать значения name и realm. Для новых пользователей (кроме стандартного root) также должен быть предоставлен password. Другие необязательные ключи для каждой записи: email, comment, enable (1 или 0), expire, groups, firstname и lastname. Подробности о значениях каждого ключа можно найти в документации PVE.

Каждый пользователь также должен содержать список разрешений ACL, которые должны быть предоставлены в ключе acls. Каждое ACL определяет path (путь) и role (роль). Вот пример конфигурации пользователя:

pve_permissions_users:
  - name: terraform
    realm: pve
    email: [email protected]
    firstname: terra
    lastname: form
    comment: Пользователь Terraform
    enable: "1"
    expire: "0"
    groups:
      - Group1
      - Group2
    password: "password"
    acls:
      - path: /
        role: TerraformProv

ПРИМЕТКА: Из-за ограничения инструмента pveum в настоящее время невозможно назначать новые группы существующему пользователю.

Ключ pve_permissions_groups должен содержать список групп для создания на экземпляре Proxmox. Каждая запись группы должна содержать ключ name, определяющий название группы, и может также содержать значение comment, описывающее назначение группы. Вот пример конфигурации групп:

pve_permissions_groups:
  - name: Group1
    comment: Моя группа

Ключ pve_permissions_pools должен содержать список пулов для создания на хосте Proxmox. Каждый пул должен иметь ключ name с желаемым названием пула и опционально ключ comment, описывающий назначение пула. Вот пример конфигурации пулов:

pve_permissions_pools:
  - name: terraform
    comment: Ресурсы, управляемые с помощью terraform
  - name: ansible
    comment: Ресурсы, управляемые с помощью ansible
  - name: manual
    comment: Ручные ресурсы

Зависимости

Отсутствуют.

Пример плейбука

- 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
    pve_permissions_users:
      - name: terraform
        realm: pve
        password: "password"
        acls:
          - path: /
            role: TerraformProv
  roles:
    - simoncaron.pve_permissions

Лицензия

MIT

Информация об авторе

Эта роль была создана в 2022 году Симоном Кароном.

О проекте

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

Установить
ansible-galaxy install simoncaron/ansible-role-pve_permissions
Лицензия
mit
Загрузки
4611
Владелец
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm