simoncaron.pve_permissions
Rol de Ansible: Permisos de Proxmox VE (Usuarios/ACLs/Grupos/Roles/Piscinas)
Un rol de Ansible que configura Usuarios/Roles/Piscinas/Grupos en un nodo de Proxmox VE.
Este rol fue probado en Proxmox VE 7.2.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
pve_permissions_roles: []
pve_permissions_users: []
pve_permissions_groups: []
pve_permissions_pools: []
La clave pve_permissions_roles
debe contener una lista de roles a crear. Cada rol debe tener dos claves definidas, name
, que establece el nombre del rol, y privs
, que es una lista que debe contener los privilegios asignados al rol. Una lista completa de los privilegios se puede encontrar aquí bajo Gestión de Permisos > Privilegios. Ejemplo de configuración de rol:
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
La clave pve_permissions_users
permite definir una lista de usuarios y las ACL vinculadas a un usuario en un host Proxmox. Cada entrada debe contener un valor para name
y realm
. Para nuevos usuarios (que no sean el root predeterminado), también se debe proporcionar una password
. Otras claves opcionales para cada entrada son email
, comment
, enable
(1 o 0), expire
, groups
, firstname
y lastname
. Los detalles sobre el valor de cada clave se pueden encontrar en la documentación de PVE.
Cada usuario también debe contener una lista de permisos de ACL que deben ser otorgados en la clave acls
. Cada ACL define un path
y un role
. Aquí hay un ejemplo de configuración de un usuario:
pve_permissions_users:
- name: terraform
realm: pve
email: test@email.com
firstname: terra
lastname: form
comment: Usuario de Terraform
enable: "1"
expire: "0"
groups:
- Group1
- Group2
password: "password"
acls:
- path: /
role: TerraformProv
NOTA: Debido a una limitación de la herramienta pveum
, actualmente no es posible asignar nuevos grupos a un usuario existente.
La clave pve_permissions_groups
debe contener una lista de grupos a crear en la instancia de Proxmox. Cada entrada de grupo debe contener un valor de name
que define el nombre del grupo y también puede contener un valor de comment
que describa el propósito del grupo. Aquí hay un ejemplo de configuración de grupos:
pve_permissions_groups:
- name: Group1
comment: Mi Grupo
La clave pve_permissions_pools
debe contener una lista de piscinas a crear en el host de Proxmox. Cada piscina debe tener una clave name
configurada con el nombre deseado de la piscina y, opcionalmente, una clave comment
que describa el propósito de la piscina. Aquí hay un ejemplo de configuraciones de piscina:
pve_permissions_pools:
- name: terraform
comment: Recursos gestionados mediante terraform
- name: ansible
comment: Recursos gestionados mediante ansible
- name: manual
comment: Recursos creados manualmente
Dependencias
Ninguna.
Ejemplo de 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: recursos de terraform
pve_permissions_users:
- name: terraform
realm: pve
password: "password"
acls:
- path: /
role: TerraformProv
roles:
- simoncaron.pve_permissions
Licencia
MIT
Información del Autor
Este rol fue creado en 2022 por Simon Caron.
A role to configure Proxmox VE Users, Roles, ACLs and Pools
ansible-galaxy install simoncaron.pve_permissions