simoncaron.pve_permissions

Ansible角色:Proxmox VE权限(用户/ ACL /组/角色/池)

Ansible Lint Ansible Release Ansible Galaxy Downloads

这是一个配置Proxmox VE节点上用户/角色/池/组的Ansible角色。

这个角色在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键允许定义用户列表及其在Proxmox主机上的ACL。每个条目应包含namerealm值。对于新用户(不包括默认的root),还应提供password。每个条目的其他可选键包括emailcommentenable(1或0)、expiregroupsfirstnamelastname。有关每个键值的详细信息,请参阅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

作者信息

该角色由Simon Caron于2022年创建。

关于项目

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

安装
ansible-galaxy install simoncaron.pve_permissions
许可证
mit
下载
4.6k
拥有者
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm