Skip to content

Commit e5cf3cc

Browse files
committed
DEV-46158 - Change datasources API permissions to Admin Only
Since grafana 8.5 the permission system changed (RBAC was enabled) and the datasources read APIs were changed to be from admin only to be available to other users. We want to maintain the access to datasources for admin only in these APIs. We will expose another API with only relevant datasource data we want available.
1 parent 0dbcc0a commit e5cf3cc

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

pkg/api/api.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -381,17 +381,17 @@ func (hs *HTTPServer) registerRoutes() {
381381
idScope := datasources.ScopeProvider.GetResourceScope(ac.Parameter(":id"))
382382
uidScope := datasources.ScopeProvider.GetResourceScopeUID(ac.Parameter(":uid"))
383383
nameScope := datasources.ScopeProvider.GetResourceScopeName(ac.Parameter(":name"))
384-
datasourceRoute.Get("/", authorize(ac.EvalPermission(datasources.ActionRead)), routing.Wrap(hs.GetDataSources))
384+
datasourceRoute.Get("/", reqOrgAdmin, routing.Wrap(hs.GetDataSources))
385385
datasourceRoute.Post("/", authorize(ac.EvalPermission(datasources.ActionCreate)), quota(string(datasources.QuotaTargetSrv)), routing.Wrap(hs.AddDataSource))
386386
datasourceRoute.Put("/:id", authorize(ac.EvalPermission(datasources.ActionWrite, idScope)), routing.Wrap(hs.UpdateDataSourceByID))
387387
datasourceRoute.Put("/uid/:uid", authorize(ac.EvalPermission(datasources.ActionWrite, uidScope)), routing.Wrap(hs.UpdateDataSourceByUID))
388388
datasourceRoute.Delete("/:id", authorize(ac.EvalPermission(datasources.ActionDelete, idScope)), routing.Wrap(hs.DeleteDataSourceById))
389389
datasourceRoute.Delete("/uid/:uid", authorize(ac.EvalPermission(datasources.ActionDelete, uidScope)), routing.Wrap(hs.DeleteDataSourceByUID))
390390
datasourceRoute.Delete("/name/:name", authorize(ac.EvalPermission(datasources.ActionDelete, nameScope)), routing.Wrap(hs.DeleteDataSourceByName))
391-
datasourceRoute.Get("/:id", authorize(ac.EvalPermission(datasources.ActionRead, idScope)), routing.Wrap(hs.GetDataSourceById))
392-
datasourceRoute.Get("/uid/:uid", authorize(ac.EvalPermission(datasources.ActionRead, uidScope)), routing.Wrap(hs.GetDataSourceByUID))
393-
datasourceRoute.Get("/name/:name", authorize(ac.EvalPermission(datasources.ActionRead, nameScope)), routing.Wrap(hs.GetDataSourceByName))
394-
datasourceRoute.Get("/id/:name", authorize(ac.EvalPermission(datasources.ActionIDRead, nameScope)), routing.Wrap(hs.GetDataSourceIdByName))
391+
datasourceRoute.Get("/:id", reqOrgAdmin, routing.Wrap(hs.GetDataSourceById))
392+
datasourceRoute.Get("/uid/:uid", reqOrgAdmin, routing.Wrap(hs.GetDataSourceByUID))
393+
datasourceRoute.Get("/name/:name", reqOrgAdmin, routing.Wrap(hs.GetDataSourceByName))
394+
datasourceRoute.Get("/id/:name", reqOrgAdmin, routing.Wrap(hs.GetDataSourceIdByName))
395395
})
396396

397397
pluginIDScope := pluginaccesscontrol.ScopeProvider.GetResourceScope(ac.Parameter(":pluginId"))

0 commit comments

Comments
 (0)