SupportBundles: Add config enablement (#61776)
* wip * implement role middleware drop * remove not implement feature * change grants based on config * Update pkg/services/supportbundles/supportbundlesimpl/models.go Co-authored-by: Ieva <ieva.vasiljeva@grafana.com> Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/api/routing"
|
||||
"github.com/grafana/grafana/pkg/middleware"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/models/roletype"
|
||||
ac "github.com/grafana/grafana/pkg/services/accesscontrol"
|
||||
"github.com/grafana/grafana/pkg/services/supportbundles"
|
||||
"github.com/grafana/grafana/pkg/web"
|
||||
@@ -20,16 +21,21 @@ const rootUrl = "/api/support-bundles"
|
||||
func (s *Service) registerAPIEndpoints(routeRegister routing.RouteRegister) {
|
||||
authorize := ac.Middleware(s.accessControl)
|
||||
|
||||
orgRoleMiddleware := middleware.ReqGrafanaAdmin
|
||||
if !s.serverAdminOnly {
|
||||
orgRoleMiddleware = middleware.RoleAuth(roletype.RoleAdmin)
|
||||
}
|
||||
|
||||
routeRegister.Group(rootUrl, func(subrouter routing.RouteRegister) {
|
||||
subrouter.Get("/", authorize(middleware.ReqGrafanaAdmin,
|
||||
subrouter.Get("/", authorize(orgRoleMiddleware,
|
||||
ac.EvalPermission(ActionRead)), routing.Wrap(s.handleList))
|
||||
subrouter.Post("/", authorize(middleware.ReqGrafanaAdmin,
|
||||
subrouter.Post("/", authorize(orgRoleMiddleware,
|
||||
ac.EvalPermission(ActionCreate)), routing.Wrap(s.handleCreate))
|
||||
subrouter.Get("/:uid", authorize(middleware.ReqGrafanaAdmin,
|
||||
subrouter.Get("/:uid", authorize(orgRoleMiddleware,
|
||||
ac.EvalPermission(ActionRead)), s.handleDownload)
|
||||
subrouter.Delete("/:uid", authorize(middleware.ReqGrafanaAdmin,
|
||||
subrouter.Delete("/:uid", authorize(orgRoleMiddleware,
|
||||
ac.EvalPermission(ActionDelete)), s.handleRemove)
|
||||
subrouter.Get("/collectors", authorize(middleware.ReqGrafanaAdmin,
|
||||
subrouter.Get("/collectors", authorize(orgRoleMiddleware,
|
||||
ac.EvalPermission(ActionCreate)), routing.Wrap(s.handleGetCollectors))
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user