[pmg-devel] [PATCH v2 pmg-api] api: apt: use actual pmg-style permission for endpoint schema

Oguz Bektas o.bektas at proxmox.com
Thu Sep 2 10:47:12 CEST 2021


it wrongly uses the permission model from PVE, which caused the
endpoints to be root-only as a side effect, since PMG API doesn't
recognize the PVE-specific permissions.

fix those to allow PMG users with administrator role to add/delete
repositories, and auditor role to view the repositories.

reported in a forum thread [0]

[0]:
https://forum.proxmox.com/threads/no-apt-repo-information-for-non-root-on-the-web-gui.95217/

Reviewed-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
---
v1->v2:
* update commit message and explain the root cause

 src/PMG/API2/APT.pm | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/PMG/API2/APT.pm b/src/PMG/API2/APT.pm
index 5e132c4..18bb992 100644
--- a/src/PMG/API2/APT.pm
+++ b/src/PMG/API2/APT.pm
@@ -477,9 +477,7 @@ __PACKAGE__->register_method({
     method => 'GET',
     proxyto => 'node',
     description => "Get APT repository information.",
-    permissions => {
-	check => ['perm', '/nodes/{node}', [ 'Sys.Audit' ]],
-    },
+    permissions => { check => [ 'admin', 'audit' ] },
     parameters => {
 	additionalProperties => 0,
 	properties => {
@@ -678,9 +676,7 @@ __PACKAGE__->register_method({
     path => 'repositories',
     method => 'PUT',
     description => "Add a standard repository to the configuration",
-    permissions => {
-	check => ['perm', '/nodes/{node}', [ 'Sys.Modify' ]],
-    },
+    permissions => { check => [ 'admin' ] },
     protected => 1,
     proxyto => 'node',
     parameters => {
@@ -713,9 +709,7 @@ __PACKAGE__->register_method({
     path => 'repositories',
     method => 'POST',
     description => "Change the properties of a repository. Currently only allows enabling/disabling.",
-    permissions => {
-	check => ['perm', '/nodes/{node}', [ 'Sys.Modify' ]],
-    },
+    permissions => { check => [ 'admin' ] },
     protected => 1,
     proxyto => 'node',
     parameters => {
-- 
2.30.2





More information about the pmg-devel mailing list