[SOLVED] Allow user to create VMs, but only see and manage those created by itself

Noah0302

Member
Jul 21, 2022
64
15
13
Hello guys,

I've been trying to find a better solution for my problem:
-Allow a user (test) to create VMs and manage those fully, but prevent user (test) from doing anything else, not even seeing if there are other VMs on the Host

I did this by moving all VMs to a pool, which user (test) is blocked from accessing, however this is a bit annoying, since every newly created VM has to be moved to this pool, in order for user (test) to not see it.

Is there a better way of doing this?

Thank you for reading!
 
Last edited:
Why not give the user permission only on a specific pool?
 
  • Like
Reactions: Noah0302
Ok so I think I figured it out, was confused before:
  1. Create a User (test)
  2. Create a Pool (test)
  3. Give the user (test@pve) the Administrator role on the Pool (/pool/test) and Storage (/storage) he should be able to use
  4. If the user wants to create a VM or CT, he just has to select his pool (test) when creating it, otherwise there will be a permission error
Screenshots below:
 

Attachments

  • 1-CreateUser.png
    1-CreateUser.png
    58.9 KB · Views: 540
  • 2-CreatePool.png
    2-CreatePool.png
    60.7 KB · Views: 538
  • 3-GivePermissions.png
    3-GivePermissions.png
    64.1 KB · Views: 573
  • 4-CreateVMs.png
    4-CreateVMs.png
    44.6 KB · Views: 511
  • 5-Result.png
    5-Result.png
    93.5 KB · Views: 495
Last edited:
Why not give the user permission only on a specific pool?
Thank you, I thought I had to add NoAccess of "/" to the user "test", so this way to only way I found for the user to be able to create VMs.
I posted a reply above, with the steps I used.
 
Last edited:
Great! Please mark the thread as solved (edit it, there's a dropdown near the title) so others with the same problem can find it more easily.
 
Thank you, I thought I had to add NoAccess of "/" to the user "test", so this way to only way I found for the user to be able to create VMs.
I posted a reply above, with the steps I used.
Thanks for your help, but I wanted to mention, that the storage is shared, so student can attach to his own VM other classmate's vm-storage.
 
Ok so I think I figured it out, was confused before:
  1. Create a User (test)
  2. Create a Pool (test)
  3. Give the user (test@pve) the Administrator role on the Pool (/pool/test) and Storage (/storage) he should be able to use
  4. If the user wants to create a VM or CT, he just has to select his pool (test) when creating it, otherwise there will be a permission error
Screenshots below:

i am having the same issue and when i did the same and if i change to folder view -> storage -> volume -> vm disks that user is able to remove other VMs disk which is not under his pool!

i wonder if there is any better solution to this
 
This is great, I'm just curious how can I put the pool onto a seperate VLAN? I've checked pool, group, permission and roles but nothing that would force user1 to create and maanger their own VMs on the assigned VLAN
 
The concept of ownership is fundamental to any modern permission scheme. Implementing "owning user" and "owning group" permissions in Proxmox would significantly simplify and streamline the management of virtual machines (VMs), especially at the enterprise level.


The Problem​

Most enterprise cloud platforms, including Proxmox in its default configuration, lack a clear "my cloud VM" paradigm. While Proxmox does support a role-based access control (RBAC) system, it is often too coarse-grained and cumbersome to use in large organizations. Typically, a VM is either fully exposed to all users within a pool or project, or restricted to administrators only. Assigning individual permissions per VM is possible but quickly becomes unmanageable and error-prone as the number of users and VMs grows.


This means that:

  • Ordinary users often lack even minimal necessary controls, such as powering their VMs on or off, reverting to snapshots, or managing ISO images.
  • Administrators and operators are overloaded with routine tasks (like creating, powering on/off, and granting permissions for VMs) that could and should be handled by users themselves.
  • Alternatively, Proxmox operators are forced to waste valuable time processing tickets such as "create a VM for me," "assign access rights," or "change VM settings." This is inefficient, demotivating for staff, and leads to administrative bottlenecks.

Moreover, there is no direct equivalent of standard Linux file permissions (owner, group, others), which for decades have proven to be a simple and powerful way to delegate resource access and responsibility.


Why It Matters​

Having fine-grained, ownership-based permissions allows organizations to:
  • Empower end users to securely manage their own VMs without the need to involve admins for every small change.
  • Improve operational efficiency by significantly reducing the administrative overhead on IT staff and operators.
  • Promote accountability and transparency: With a clear owner or owning group for every VM, resource usage can be easily traced, and responsibilities clearly defined.
  • Save resources and optimize costs: Users can be granted rights to power off or delete their own VMs when not in use, reducing unnecessary electricity consumption and freeing up infrastructure.
  • Streamline user onboarding and VM lifecycle management: Ownership-based access makes it easier to automate resource assignment and revocation as users join or leave teams.

Real-World Use Cases from our company.​


1. Regular Users​

Employees need VMs for day-to-day tasks—such as a Linux VM for development, a Windows VM for office apps, or GPU-based VMs for resource-intensive workloads (AutoCAD, 3ds Max, LLMs). With ownership permissions, each user can safely control only their assigned VMs.

2. QA Engineers​

Quality Assurance teams often require their own isolated VMs to create, snapshot, and revert testing environments. Ownership ensures they can manage these VMs independently, speeding up testing cycles and reducing the admin workload.

3. Developers​

Developers need personal VMs for experimentation and debugging, often with the ability to snapshot, rollback, and reconfigure as needed—similar to QA, but for development tasks.

4. DevOps Engineers​

DevOps specialists must spin up test environments to validate infrastructure as code (e.g., Ansible, Terraform). Ownership lets them manage their test VMs without risking accidental changes to others’ resources.

In summary:
Introducing "owning group" and "owner" permissions in Proxmox—modeled after proven Linux security concepts—would dramatically improve the daily experience for both end users and administrators. It would make VM management more secure, efficient, and scalable, allowing organizations to better control costs, delegate responsibility, and accelerate digital transformation.