[pve-devel] [PATCH-SERIES access-control/qemu-server/manager/docs] replace ambiguously named VM.Monitor privilege

Fiona Ebner f.ebner at proxmox.com
Thu Jul 17 15:36:48 CEST 2025


The privilege VM.Monitor has a very ambiguous name and is dropped.
Most of the API endpoints using it are for the QEMU guest agent
commands, the only other place is access to the QEMU HMP monitor.

1. Introduce dedicated, more fine-grained privileges for the guest
agent commands:

There is a basic VM.GuestAgent.Audit privilege for read-only,
informational commands.

There are dedicated privileges VM.GuestAgent.File{Read,Write} for the
file-{read,write} commands. There is a separate
VM.GuestAgent.FileSystemMgmt privilege for filesystem freeze, thaw and
trim.

The VM.GuestAgent.Unrestricted privilege is to allow all guest agent
operations, in particular also execution of arbitrary commands with
guest-exec.

2. For access to the QEMU HMP monitor, only the 'info' and 'help'
commands were usable without an additional Sys.Modify privilege. Since
the information accessible via 'info' is very low-level and often
related to the QEMU process on the system, requiring Sys.Audit seems
natural.

These are breaking changes. A check in pve8to9 is provided.


qemu-server patch "api: monitor: improve permission handling" and
manager patch "pve8to9: remove outdated checks for user roles" can
be applied independently from the rest of the series.


New qemu-server depends on new access-control, new access-control
breaks old qemu-server.


access-control:

Fiona Ebner (2):
  add VM.GuestAgent privileges
  privileges: drop VM.Monitor

 src/PVE/AccessControl.pm | 7 +++++--
 src/test/perm-test1.pl   | 8 ++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)


qemu-server:

Fiona Ebner (3):
  api: agent: use more specific guest agent privileges
  api: monitor: improve permission handling
  api: monitor: require Sys.Audit or Sys.Modify privilege

 src/PVE/API2/Qemu.pm          |  34 ++++--
 src/PVE/API2/Qemu/Agent.pm    |  66 +++++++++--
 src/PVE/API2/Qemu/HMPPerms.pm | 207 ++++++++++++++++++++++++++++++++++
 src/PVE/API2/Qemu/Makefile    |   2 +-
 4 files changed, 289 insertions(+), 20 deletions(-)
 create mode 100644 src/PVE/API2/Qemu/HMPPerms.pm


manager:

Fiona Ebner (2):
  pve8to9: remove outdated checks for user roles
  pve8to9: check for to-be-dropped VM.Monitor privilege in custom roles

 PVE/CLI/pve8to9.pm | 40 ++++++++++++++++------------------------
 1 file changed, 16 insertions(+), 24 deletions(-)


docs:

Fiona Ebner (2):
  user management: privileges: document new VM guest agent privileges
  user management: privileges: remove reference to dropped VM.Monitor
    privilege

 pveum.adoc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)


Summary over all repositories:
  8 files changed, 322 insertions(+), 49 deletions(-)

-- 
Generated by git-murpp 0.5.0




More information about the pve-devel mailing list