Commit Graph
38 Commits
Author SHA1 Message Date
Karl Persson cdc08105c2 Access control: Set default permissions for data sources when using access control (#45482)
* Rename interfaces and use then with wire injection

* Set default permissions when creating new data source
2022-02-17 14:03:45 +01:00
Karl Persson d2b9da9dde Access control: Support uids for resource permissions (#45226)
* add middleware to solve uid -> id for requests
2022-02-10 17:47:48 +01:00
Karl Persson 01d961c824 update mock (#45010) 2022-02-07 18:44:56 +01:00
Karl Persson 922b9465ec Access Control: Add function to set several permissions on a resource in one transaction (#44768) 2022-02-07 17:04:32 +01:00
Karl PerssonandAlex Khomenko 3cf31451ec Access control: Reduce number of API calls for role picker (#44905)
* Restucture state for TeamRolePicker and UserRolePicker

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-04 14:54:42 +01:00
Karl Persson e93e1bdd2b Access control: Enable data source view for partial permissions (#44695)
* Return correct value

* Remove scope all requirement

* Only add dashboard sub nav if user is admin
2022-02-01 15:00:05 +01:00
Karl Persson 5ca9d2895b Add viewer grant to fixed:datasources:reader if viewers_can_edit is set to true (#44657) 2022-01-31 16:33:41 +01:00
Karl Persson 16e62965f5 handle case when scope is wildcard (#44654) 2022-01-31 14:44:20 +01:00
Karl Persson e844b263c7 Access control: Load permissions from memory and database (#42080)
* Load permission from both in memory and from database
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2022-01-28 16:11:18 +01:00
Karl Persson bf63ccbe00 Access control: Rewrite access control SQL filter (#44488)
* Rewrite access control sql filter
2022-01-27 13:06:08 +01:00
Karl Persson de2c5783fa Access Control: Pass db session to hooks (#44428)
* Move hook calls to database and pass session
2022-01-25 17:12:00 +01:00
Karl Persson acb791bdd6 Disable select when permissions is not managed or if user does not have (#44144)
* Disable select when permissions is not managed
2022-01-18 12:45:14 +01:00
Karl Persson f75e4d1a4f Access Control: Allow signed in users access to GET data sources endpoints (#43338)
* remove scopes from endpoints and add datasources:read without scope to
the compatibility role
2022-01-17 10:16:12 +01:00
Karl Persson f999910dc6 Access control: Add access control sql filter to org user queries (#43961)
* Add access control SQL filter to org user queries
2022-01-13 14:40:32 +01:00
Karl PerssonandDominik Prokop e2de1c1ec4 Service Accounts: Fix issue in UserTable and ServiceAccountsTable (#43865)
* fix issue where ServiceAccountsTable rendere delete modal
for every item in list

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-01-11 18:51:24 +01:00
Karl Persson 8271bc73f9 Update docs for ds permissions access control permisisons (#43346) 2022-01-11 14:52:33 +01:00
Karl PerssonandEmil Tullstedt d350ed0f35 Access Control: SQL filter (#43560)
* Add the accesscontrol sql filter utility

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 14:26:57 +01:00
Karl Persson 0003bf7cc2 AzureAD OAuth: Add support for fetching user groups (#43470)
* Add functionallity to extractGroups to handle groups-overage claims
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2022-01-10 11:50:10 +01:00
Karl Persson 2425828a0b quote reserved keyword (#43652) 2022-01-04 13:35:52 +01:00
Karl Persson ee690a7bb0 Add org_id in join (#43648) 2022-01-04 11:13:45 +01:00
Karl Persson 0ace9695a6 Access control: Add optional hooks (#43372)
* Add optional OnSet hooks
2021-12-23 10:10:06 +01:00
Karl Persson 2409d8dc1f check the value of the feature toggle (#43433) 2021-12-22 10:05:53 +01:00
Karl Persson b3d5a607d4 Access Control: Add option to filter only managed permissions (#43371)
* Add option to filter only managed permissions
2021-12-21 14:22:54 +01:00
c3ca2d214d Access control: Refactor managed permission system to create api and frontend components (#42540)
* Refactor resource permissions
* Add frondend components for resource permissions

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2021-12-20 09:52:24 +01:00
Karl PerssonandEmil Tullstedt 9558c09a7c Access Control: Store permissions on SignedInUser (#43040)
* add permission structure to signedinuser

* add middleware to load user permissions into signedinuser struct

* apply LoadPermissionsMiddleware to http server

* check for permissions in signedinuser struct

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-12-14 16:05:59 +01:00
d623285fcc Access Control: Rename fixed roles (#41288)
* Rename fixed roles
* Update descriptions
* Update docs for fixed roles and permissions

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-11-17 15:40:39 +01:00
Karl PerssonandEmil Tullstedt 3c659f1ea0 Access Control: Move part of access control database (#40483)
* Add accesscontrol migrations

* Add ResourceStore interface and related structs

* Add team/user/builtin-role

* Add accesscontrol database with functions to handle managed roles and
permissions

* Add ResourceManager

* Add GetUserPermissions

* Update pkg/services/accesscontrol/accesscontrol.go

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-11-11 14:02:53 +01:00
740444680c Access Control: Add fgac to datasource query endpoints (#40294)
* Protect datasource tsdb and proxy endpoints with access control

* Add datasource query permissions to fixed admin role

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2021-10-21 15:41:40 +02:00
Karl Persson 1b2a1a9621 update permissions scopes and description for role scopes (#40206) 2021-10-08 10:08:42 -04:00
Karl Persson efbb4c890f Access Control: Add scope type prefix (#40076)
* prefix runtime scopes with key type
2021-10-07 11:54:43 +02:00
7ebf4027a7 Access Control: refactor permission evaluator to be more flexible (#35996)
* add a more flexible way to create permissions

* update interface for accesscontrol to use new eval interface

* use new eval interface

* update middleware to use new eval interface

* remove evaluator function and move metrics to service

* add tests for accesscontrol middleware

* Remove failed function from interface and update inejct to create a new
evaluator

* Change name

* Support Several sopes for a permission


* use evaluator and update fakeAccessControl

* Implement String that will return string representation of permissions
for an evaluator

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-08-24 11:36:28 +02:00
Karl PerssonandUrsula Kallio 864c526d9a Access Control: Update docs with the correct scope name (#38444)
* Update docs with the correct scope name

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-08-23 16:39:40 +02:00
Karl PerssonandEmil Tullstedt 4127db3d3a Remove Licensing as dependency of UsageStats (#37259)
* Remove Licensing as dependency

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-07-27 17:19:03 +02:00
Karl PerssonandIvana Huckova 2fd7031102 Access Control: Add fine-grained access control to explore (#35883)
* add fixed role for datasource read operations

* Add action for datasource explore

* add authorize middleware to explore index route

* add fgac support for explore navlink

* update hasAccessToExplore to check if accesscontrol is enable and evalute action if it is

* add getExploreRoles to evalute roles based onaccesscontrol, viewersCanEdit and default

* create function to evaluate permissions or using fallback if accesscontrol is disabled

* change hasAccess to prop and derive the value in mapStateToProps

* add test case to ensure buttons is not rendered when user does not have access

* Only hide return with changes button

* remove internal links if user does not have access to explorer

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2021-07-02 14:43:12 +02:00
Karl Persson 395b942134 Access Control: Add fine-grained access control to GET stats and settings handlers (#35622)
* add accesscontrol action for stats read

* use accesscontrol middleware for stats route

* add fixed role with permissions to read sever stats

* add accesscontrol action for settings read

* use accesscontrol middleware for settings route

* add fixed role with permissions to read settings

* add accesscontrol tests for AdminGetSettings and AdminGetStats

* add ability to scope settings

* add tests for AdminGetSettings
2021-06-14 17:36:48 +02:00
Karl PerssonandUrsula Kallio 36c997a625 Access Control: Add fine-grained access control to ldap handlers (#35525)
* Add new accesscontrol action for ldap config reload

* Update ldapAdminEditRole with new ldap config reload permission

* wrap /ldap/reload with accesscontrol authorize middleware

* document new action and update fixed:ldap:admin:edit with said action

* add fake accesscontrol implementation for tests

* Add accesscontrol tests for ldap handlers

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-06-11 15:58:18 +02:00
Karl PerssonandUrsula Kallio 92adf2e4ff Access control: Update docs with new settings permission (#35413)
* Update docs with new action and scopes for settings

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-06-10 13:20:28 +02:00
Karl Persson 73b8afe724 Document global role and assignment for provisioning (#34739) 2021-06-01 15:52:46 +02:00