RBAC: Allow omitting default permissions when a new resource is created (#90720)
* Cfg: Move rbac settings to own struct * Cfg: Add setting to control if resource should generate managed permissions when created * Dashboards: Check if we should generate default permissions when dashboard is created * Folders: Check if we should generate default permissions when folder is created * Datasource: Check if we should generate default permissions when datasource is created * ServiceAccount: Check if we should generate default permissions when service account is created * Cfg: Add option to specify resources for wich we should default seed * ManagedPermissions: Move providers to their own files * Dashboards: Default seed all possible managed permissions if configured * Folders: Default seed all possible managed permissions if configured * Cfg: Remove service account from list * RBAC: Move utility function * remove managed permission settings from the config file examples, change the setting names * remove ini file changes from the PR * fix setting reading * fix linting errors * fix tests * fix wildcard role seeding --------- Co-authored-by: Karl Persson <kalle.persson@grafana.com> Co-authored-by: jguer <me@jguer.space>
This commit is contained in:
co-authored by
Karl Persson
jguer
parent
82236976ae
commit
9bb2cf4968
@@ -233,7 +233,7 @@ func UseGlobalOrg(c *contextmodel.ReqContext) (int64, error) {
|
||||
// UseGlobalOrSingleOrg returns the global organization or the current organization in a single organization setup
|
||||
func UseGlobalOrSingleOrg(cfg *setting.Cfg) OrgIDGetter {
|
||||
return func(c *contextmodel.ReqContext) (int64, error) {
|
||||
if cfg.RBACSingleOrganization {
|
||||
if cfg.RBAC.SingleOrganization {
|
||||
return c.GetOrgID(), nil
|
||||
}
|
||||
return GlobalOrgID, nil
|
||||
@@ -271,7 +271,7 @@ func UseGlobalOrgFromRequestData(cfg *setting.Cfg) OrgIDGetter {
|
||||
|
||||
// We only check permissions in the global organization if we are not running a SingleOrganization setup
|
||||
// That allows Organization Admins to modify global roles and make global assignments.
|
||||
if query.Global && !cfg.RBACSingleOrganization {
|
||||
if query.Global && !cfg.RBAC.SingleOrganization {
|
||||
return GlobalOrgID, nil
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ func UseGlobalOrgFromRequestParams(cfg *setting.Cfg) OrgIDGetter {
|
||||
return func(c *contextmodel.ReqContext) (int64, error) {
|
||||
// We only check permissions in the global organization if we are not running a SingleOrganization setup
|
||||
// That allows Organization Admins to modify global roles and make global assignments, and is intended for use in hosted Grafana.
|
||||
if c.QueryBool("global") && !cfg.RBACSingleOrganization {
|
||||
if c.QueryBool("global") && !cfg.RBAC.SingleOrganization {
|
||||
return GlobalOrgID, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user