mirror of https://github.com/grafana/grafana
RBAC: Allow app plugins access restriction (#51524)
* RBAC: Allow app plugins restriction Co-authored-by: Kalle Persson <kalle.persson@grafana.com> * Fix tests * Imports * WIP * Adding RBAC to AppPluginsRoutes * Switching middleware order * Restrict access to resources * Nit * Cosmetic changes * Fix fallback * Moving declaration to HttpServer Co-Authored-By: marefr <marcus.efraimsson@gmail.com> Co-authored-by: Kalle Persson <kalle.persson@grafana.com> Co-authored-by: marefr <marcus.efraimsson@gmail.com>pull/51886/head
parent
0c33b9f211
commit
5975c4bc6d
@ -0,0 +1,30 @@ |
|||||||
|
package plugins |
||||||
|
|
||||||
|
import ( |
||||||
|
"github.com/grafana/grafana/pkg/models" |
||||||
|
ac "github.com/grafana/grafana/pkg/services/accesscontrol" |
||||||
|
) |
||||||
|
|
||||||
|
const ( |
||||||
|
ActionAppAccess = "plugins.app:access" |
||||||
|
) |
||||||
|
|
||||||
|
var ( |
||||||
|
ScopeProvider = ac.NewScopeProvider("plugins") |
||||||
|
) |
||||||
|
|
||||||
|
func DeclareRBACRoles(acService ac.AccessControl) error { |
||||||
|
AppPluginsReader := ac.RoleRegistration{ |
||||||
|
Role: ac.RoleDTO{ |
||||||
|
Name: ac.FixedRolePrefix + "plugins.app:reader", |
||||||
|
DisplayName: "Application Plugins Access", |
||||||
|
Description: "Access application plugins (still enforcing the organization role)", |
||||||
|
Group: "Plugins", |
||||||
|
Permissions: []ac.Permission{ |
||||||
|
{Action: ActionAppAccess, Scope: ScopeProvider.GetResourceAllScope()}, |
||||||
|
}, |
||||||
|
}, |
||||||
|
Grants: []string{string(models.ROLE_VIEWER)}, |
||||||
|
} |
||||||
|
return acService.DeclareFixedRoles(AppPluginsReader) |
||||||
|
} |
||||||
Loading…
Reference in new issue