[pve-devel] [PATCH-SERIES manager] backup permission improvements
Fiona Ebner
f.ebner at proxmox.com
Wed Nov 16 15:04:29 CET 2022
Currently, suffenciently privileged users may edit a backup job, but
cannot run the very same job manually (via the vzdump API call). The
first patch addresses this by removing the root-only restriction from
retention and performance settings. Retention will require
Datastore.Allocate on the target storage, because it's essentially
removal of certain backups, while performance settings will require
Sys.Modify on / which is the permission required to edit backup jobs.
The next three patches are for deletion of parameters when updating a
backup job. Allowing to only delete a setting (previously, update
would fail if no parameter was set) and adding a check for the delete
options.
Patch 5/6 restricts backup editing by requiring that the user has
appropriate permissions on the job's storage (and eventual newly set
storage) as well as on the default 'local' storage when removing the
storage. Jobs with a dumpdir can only be edited by root. This is a
breaking API change, but requiring permission on the storage should
be sensible and allows for more flexible permission configurations.
The last patch introduces a helper to have the "what's the storage"
logic in one place.
Fiona Ebner (6):
api: vzdump: soften parameter permission checks
api: backup: update: turn delete into a hash
api: backup: update: allow only deleting
api: backup: update: check permissions of delete params too
api: backup: require Datastore.Allocate on storage
api: backup/vzdump: add get_storage_param helper
PVE/API2/Backup.pm | 62 ++++++++++++++++++++++++++++++++++++++--------
PVE/API2/VZDump.pm | 32 ++++++++++++++++--------
PVE/VZDump.pm | 11 ++++++--
3 files changed, 82 insertions(+), 23 deletions(-)
--
2.30.2
More information about the pve-devel
mailing list