mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 06:32:28 +08:00
Access control: Add a scope to Data Sources GET endpoint (#38933)
This commit is contained in:
@ -266,7 +266,7 @@ func (hs *HTTPServer) registerRoutes() {
|
||||
|
||||
// Data sources
|
||||
apiRoute.Group("/datasources", func(datasourceRoute routing.RouteRegister) {
|
||||
datasourceRoute.Get("/", authorize(reqOrgAdmin, ac.EvalPermission(ActionDatasourcesRead)), routing.Wrap(hs.GetDataSources))
|
||||
datasourceRoute.Get("/", authorize(reqOrgAdmin, ac.EvalPermission(ActionDatasourcesRead, ScopeDatasourcesAll)), routing.Wrap(hs.GetDataSources))
|
||||
datasourceRoute.Post("/", authorize(reqOrgAdmin, ac.EvalPermission(ActionDatasourcesCreate)), quota("data_source"), bind(models.AddDataSourceCommand{}), routing.Wrap(AddDataSource))
|
||||
datasourceRoute.Put("/:id", authorize(reqOrgAdmin, ac.EvalPermission(ActionDatasourcesWrite, ScopeDatasourceID)), bind(models.UpdateDataSourceCommand{}), routing.Wrap(hs.UpdateDataSource))
|
||||
datasourceRoute.Delete("/:id", authorize(reqOrgAdmin, ac.EvalPermission(ActionDatasourcesDelete, ScopeDatasourceID)), routing.Wrap(hs.DeleteDataSourceById))
|
||||
|
@ -234,7 +234,7 @@ func TestAPI_Datasources_AccessControl(t *testing.T) {
|
||||
desc: "DatasourcesGet should return 200 for user with correct permissions",
|
||||
url: "/api/datasources/",
|
||||
method: http.MethodGet,
|
||||
permissions: []*accesscontrol.Permission{{Action: ActionDatasourcesRead}},
|
||||
permissions: []*accesscontrol.Permission{{Action: ActionDatasourcesRead, Scope: ScopeDatasourcesAll}},
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -42,8 +42,6 @@ type Mock struct {
|
||||
RegisterFixedRolesFunc func() error
|
||||
}
|
||||
|
||||
type MockOptions func(*Mock)
|
||||
|
||||
// Ensure the mock stays in line with the interface
|
||||
var _ fullAccessControl = New()
|
||||
|
||||
|
Reference in New Issue
Block a user