|
|
@ -24,6 +24,8 @@ const ( |
|
|
|
ActionOrgsQuotasWrite = "orgs.quotas:write" |
|
|
|
ActionOrgsQuotasWrite = "orgs.quotas:write" |
|
|
|
ActionOrgsDelete = "orgs:delete" |
|
|
|
ActionOrgsDelete = "orgs:delete" |
|
|
|
ActionOrgsCreate = "orgs:create" |
|
|
|
ActionOrgsCreate = "orgs:create" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ActionTeamsCreate = "teams:create" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// API related scopes
|
|
|
|
// API related scopes
|
|
|
@ -185,9 +187,29 @@ func (hs *HTTPServer) declareFixedRoles() error { |
|
|
|
Grants: []string{string(accesscontrol.RoleGrafanaAdmin)}, |
|
|
|
Grants: []string{string(accesscontrol.RoleGrafanaAdmin)}, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
teamWriterGrants := []string{string(models.ROLE_ADMIN)} |
|
|
|
|
|
|
|
if hs.Cfg.EditorsCanAdmin { |
|
|
|
|
|
|
|
teamWriterGrants = append(teamWriterGrants, string(models.ROLE_EDITOR)) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
teamsWriterRole := accesscontrol.RoleRegistration{ |
|
|
|
|
|
|
|
Role: accesscontrol.RoleDTO{ |
|
|
|
|
|
|
|
Name: "fixed:teams:writer", |
|
|
|
|
|
|
|
DisplayName: "Team writer", |
|
|
|
|
|
|
|
Description: "Create teams.", |
|
|
|
|
|
|
|
Group: "Teams", |
|
|
|
|
|
|
|
Version: 1, |
|
|
|
|
|
|
|
Permissions: []accesscontrol.Permission{ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Action: ActionTeamsCreate, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
Grants: teamWriterGrants, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return hs.AccessControl.DeclareFixedRoles( |
|
|
|
return hs.AccessControl.DeclareFixedRoles( |
|
|
|
provisioningWriterRole, datasourcesReaderRole, datasourcesWriterRole, datasourcesIdReaderRole, |
|
|
|
provisioningWriterRole, datasourcesReaderRole, datasourcesWriterRole, datasourcesIdReaderRole, |
|
|
|
datasourcesCompatibilityReaderRole, orgReaderRole, orgWriterRole, orgMaintainerRole, |
|
|
|
datasourcesCompatibilityReaderRole, orgReaderRole, orgWriterRole, orgMaintainerRole, teamsWriterRole, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|