pve_permissions
Ansible Роль: Разрешения Proxmox VE (Пользователи/ACL/Группы/Роли/Пулы)
Роль 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