Misi and Karl Persson
5285e9503b
Auth: SSO settings foundations ( #77724 )
...
* inital changes, db migration
* changes
* Implement basic GetAll, Delete
* Add first batch of tests
* Add more tests
* Add service tests for GetForProvider, List
* Update http_server.go + wire.go
* Lint + update fixed role
* Update CODEOWNERS
* Change API init
* Change roles, rename
* Review with @kalleep
* Revert a mistakenly changed part
* Updates based on @dmihai 's feedback
---------
Co-authored-by: Karl Persson <kalle.persson@grafana.com >
2023-11-08 10:50:01 +01:00
Misi
75768cea19
Chore: Replace crewjam/saml with the latest grafana/saml lib ( #77153 )
...
Replace crewjam/saml with the latest grafana/saml
2023-10-26 09:44:15 +02:00
Misi
1e81ffccac
Auth: Handle when access token has already been refreshed in OAuth token sync ( #77118 )
...
* Use singleflight to prevent logging error if the token has already been refreshed
* Change order of error checks
* align tests, change error name
* Change sf key
* Update based on the review
* refactor
2023-10-25 18:15:41 +02:00
Misi and Isabel
3dbda43d44
Docs: Update whats-new-next with RBAC permission validation ( #76470 )
...
* Update whats-new-next with RBAC permission validation
* run prettier
* Fixed version syntax
* Update docs/sources/whatsnew/whats-new-next/index.md
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com >
* update docs
* update
* fix merge
---------
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com >
2023-10-13 17:27:16 +02:00
Misi
b6dff85127
Chore: Update grafana/saml to the latest ( #76363 )
...
* Update go.mod
* add missing squad to dependency
2023-10-12 10:20:00 +02:00
Misi
bd2191c158
Auth: OAuth token sync improvements ( #75943 )
...
* Add metric, improve token refresh
* changes
* handle ctx cancelled
* Fix import order
2023-10-05 11:19:43 +02:00
Misi and Christopher Moyer
e1aad9c9bf
Docs: Update RBAC documentation ( #75869 )
...
* Align docs to current permissions in code
* Update permissions list
* Add example responses, fix link
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
* Update based on reviews
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
2023-10-04 17:53:26 +02:00
Misi and Christopher Moyer
4551de148c
Docs: Add SameSite troubleshooting to SAML docs ( #75590 )
...
* Add SameSite troubleshooting to SAML docs
* Update docs/sources/setup-grafana/configure-security/configure-authentication/saml/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
2023-09-28 16:37:41 +02:00
Misi
2f22946f06
RBAC: Enable permission validation by default ( #73804 )
2023-08-25 14:07:40 +02:00
Misi
d7166f5f96
RBAC: Remove unused scope from alert.instances:read fixed role ( #73268 )
...
Fix alert.instances:read scope for fixed role
2023-08-16 09:55:49 +02:00
Misi
ba723c911a
Auth: Don't rotate session cookie from frontend for JWT Auth ( #72744 )
...
Skip client token rotation for JWT auth
2023-08-03 09:18:44 +02:00
Misi
bba11d04cb
Auth: Add key_id config param to auth.jwt ( #72711 )
...
* Specify keyID for public key provided in PEM format for JWT Auth
* Update docs
* Update sample.ini
2023-08-03 09:13:23 +02:00
Misi
dcf26564db
OAuth: Introduce user_refresh_token setting and make it default for the selected providers ( #71533 )
...
* First changes
* WIP docs
* Align current tests
* Add test for UseRefreshToken
* Update docs
* Fix
* Remove unnecessary AuthCodeURL from generic_oauth
* Change GitHub to disable use_refresh_token by default
2023-07-14 14:03:01 +02:00
Misi and Gabriel MABILLE
5efc3386d3
AuthZ: Extend /api/search to work with self-contained permissions ( #70749 )
...
* Search sql filter draft, unfinished
* Search works for empty roles
* Add current AuthModule to SignedInUser
* clean up, changes to the search
* Use constant prefixes
* Change AuthModule to AuthenticatedBy
* Add tests for using the permissions from the SignedInUser
* Refactor and simplify code
* Fix sql generation for pg and mysql
* Fixes, clean up
* Add test for empty permission list
* Fix
* Fix any vs all in case of edit permission
* Update pkg/services/authn/authn.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* Update pkg/services/sqlstore/permissions/dashboard_test.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* Fixes, changes based on the review
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
2023-07-12 12:31:36 +02:00
Misi and Eve Meelan
54f1c8a40d
Docs: Add note for setting root_url in case of NGINX TLS termination ( #71287 )
...
* Add note for setting root_url in case of TLS termination
* Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com >
---------
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com >
2023-07-11 17:29:26 +02:00
Misi and Gabriel MABILLE
607670a9fa
Auth: Use SHA-1 for generating an ID for External Service Role ( #71079 )
...
* Use sha1 (160 bit hash)
* Update pkg/services/accesscontrol/database/externalservices.go
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* Satisfy linter, clean up
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
2023-07-10 09:47:33 +02:00
Misi
789ee2121e
Auth: Fixed CVE-2023-3128 ( #70571 )
...
Fixed CVE-2023-3128
2023-06-23 11:43:47 +02:00
Misi
0e3fbbf636
Auth: Add missing context parameter ( #70565 )
...
Add missing parameter
2023-06-23 11:04:54 +03:00
Misi
28bb960e42
AuthN: Make clientTokenRotation work when Grafana is accessible on a sub url ( #69385 )
...
Fix clientTokenRotation for auth-proxy
2023-06-01 17:06:00 +02:00
Misi
6702f07a87
AuthN: Use EqualFold for skipping introspection endpoint ( #69126 )
...
Add equality check for introspect ep in basic.go
2023-05-26 10:22:59 +02:00
Misi
74fd874365
AuthN: Fix render auth when clientTokenRotation is enabled ( #68709 )
...
Add isRenderRequest check to scheduleTokenRotationJob
2023-05-25 14:04:56 +02:00
Misi
df4db412cb
Auth: Fix visibility of the Invite button on /admin/users page ( #68991 )
...
* Fix for invite button visibility
* Align test
2023-05-25 13:58:41 +02:00
Misi and Gabriel MABILLE
43be4f095a
Auth: Add alpha version of the Extended JWT client ( #67999 )
...
* initial commit
* Add tests, add configuration options
* Extend signingkeys.Service with GetServerPublicKey method
* Add, cleanup tests
* Add tests for entitlements claim
* Fix linting errors
* Suggestion to use a struct to extend the claims
(cherry picked from commit 8078b99f1d57c9426a15693d850c1ca5f0432cbe)
* Add requested changes
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
* Add test for orgID check
* Cleanup
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com >
2023-05-11 15:12:53 +02:00
Misi
23d8f7c2fe
RBAC: Fix SearchUsersPermissions when the filter is empty ( #68176 )
...
Fix SearchUsersPermission action filter
2023-05-10 11:24:37 +02:00
Misi
e17737ba87
Chore: Update SAML lib ( #824 )
...
Update saml lib
2023-04-27 14:40:44 +03:00
Misi and Alexander Zobnin
b3aaf544a6
Auth: Add authentication config frontend routes to api.go ( #66931 )
...
* Add auth config frontend routes to api.go
* Remove SAML related endpoints
* Fix routes
* Enable authconfig for Enterprise, Cloud Pro and Advanced
* Fix
* Update public/app/routes/routes.tsx
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com >
---------
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com >
2023-04-25 13:13:55 +02:00
Misi
8548218776
Devenv: Add prometheus_oauth2_proxy_azure devenv ( #66825 )
...
Add prometheus_oauth2_proxy_azure devenv
2023-04-19 17:28:14 +02:00
Misi
4cac95d1c2
Auth: Remove the session cookie only if it's invalid or revoked ( #65984 )
...
Remove the cookie if it's invalid or revoked
2023-04-13 09:23:39 +02:00
Misi
2c21090931
AccessControl: Allow editors to access GET /api/datasources ( #66343 )
...
Allow editors to access GET /datasources
2023-04-12 14:53:05 +02:00
Misi
6543259a7d
Auth: Add SyncPermissions post auth hook ( #64205 )
...
* Add SyncPermissionsFromDB post auth hook
* Delete FromDB prefix
* Align tests
* Fixes
* Change SyncPermissionsHook prio
2023-03-08 13:35:54 +01:00
Misi
7c1d9769ca
Auth: Rotate token patch ( #62676 )
...
* Use singleflight.Group
* Align tests
* Cleanup
2023-02-02 14:36:16 +01:00
Misi
b8b08ea292
Auth: Add sub claim check to JWT Auth pre-checks ( #61417 )
...
* Auth: Add sub claim check to JWT Auth pre-checks
* Add #nosec annotation to the test tokens
2023-01-16 10:50:34 +01:00
Misi
b3a44649ce
RolePicker: Align groupHeader to the list items horizontally ( #61060 )
...
RolePicker: align groupHeader to the list items horizontally
2023-01-10 10:43:02 +01:00
Misi
6d8bf5ac01
LDAP: Disable user in case it has been removed from LDAP directory ( #60231 )
...
* Fix login flow
* Align test
* Fix comments
* Improve test
2022-12-14 03:41:51 -05:00
Misi
7bb5200cc2
Devenv: OpenLDAP-Mac improvements ( #60229 )
...
* Use groupOfUniqueNames and uniqueMember
* Update README.md
2022-12-13 18:20:37 +01:00
Misi and Karl Persson
9c98314e9f
OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth ( #58782 )
...
* Add ApprovalForce to AuthCodeOptions
* Extract access token validity check to a function
* Refactor
* Oauth: set options internally instead of exposing new function
* Align tests
* Remove unused function
Co-authored-by: Karl Persson <kalle.persson@grafana.com >
2022-11-18 10:12:17 +01:00
4915d21c25
OAuth: Feature toggle for access token expiration check and docs ( #58179 )
...
* Add feature toggle for access token expiration check
* Add docs for configuring refresh tokens
* Update docs
* Update docs based on review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
* Improve documentation
* Change access_type default to Offline
* Update docs/sources/setup-grafana/configure-security/configure-authentication/gitlab/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
* Update docs/sources/setup-grafana/configure-security/configure-authentication/google/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
* Update pkg/services/featuremgmt/registry.go
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com >
* Regenerate toggles
* Update Generic OAuth docs
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com >
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com >
2022-11-14 16:47:46 +01:00
Misi and jguer
9c954d06ab
Auth: Refresh OAuth access_token automatically using the refresh_token ( #56076 )
...
* Verify OAuth token expiration for oauth users in the ctx handler middleware
* Use refresh token to get a new access token
* Refactor oauth_token.go
* Add tests for the middleware changes
* Align other tests
* Add tests, wip
* Add more tests
* Add InvalidateOAuthTokens method
* Fix ExpiryDate update to default
* Invalidate OAuth tokens during logout
* Improve logout
* Add more comments
* Cleanup
* Fix import order
* Add error to HasOAuthEntry return values
* add dev debug logs
* Fix tests
Co-authored-by: jguer <joao.guerreiro@grafana.com >
2022-10-18 18:17:28 +02:00
Misi
1de0f4453e
Chore: Make NewCookieOptions exported in cookies.go ( #56476 )
2022-10-06 20:00:54 +02:00
Misi
8405a99fef
Chore: Add changed enterprise devenv path to .gitignore ( #55408 )
2022-09-19 12:15:28 -04:00
Misi
c5be9605a2
Chore: Use TimeNow instead of time.Now in user sql store to make it testable ( #54983 )
2022-09-09 18:43:14 +02:00
Mihály Gyöngyösi
53c095aae7
RBAC: Disable RBACPermissionValidation by default ( #54626 )
...
* update conf/provisioning/access-control/sample.yaml
2022-09-02 17:18:01 +02:00
Mihály Gyöngyösi
60839d9c30
RBAC: Config setting to disable permission validation ( #54447 )
...
* Add scope_validation_enabled config setting to rbac section
* Rename config setting
2022-08-31 16:58:45 +02:00
Mihály Gyöngyösi
990f673202
Docs: Fix typo in custom-role-actions-scopes.md ( #54294 )
...
* Fix typo in custom-role-actions-scopes.md
* Address lint issue
2022-08-29 11:59:17 +02:00
Mihály Gyöngyösi and Alex Khomenko
aace0b1e7f
Admin: Create/Edit Team/ServiceAccount UI changes ( #53889 )
...
* RolePicker: Handle inherited with
* Small ammendment to Create Service Account layout
* RolePicker: introduce maxWidth prop
* Clean up
* Change VerticalGroup spacing to large on Team Settings page
* Introduce constant for submenu width
* Update public/app/core/components/RolePicker/RolePicker.tsx
Simplify style parameter
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com >
* Add description to the improved calculation
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com >
2022-08-25 13:30:11 +02:00
Mihály Gyöngyösi
a915977002
Teams: Add TeamRolePicker to the Create and Edit Team pages ( #53775 )
...
* Add TeamRolePicker to CreateTeam and TeamSettings pages
* Align tests to the changes
* Change TeamRolePicker
* Add useRoleOptions hook
* Clean up
* Requested changes by reviewers
* Fixes
* Fixes
2022-08-18 13:21:06 +02:00
Mihály Gyöngyösi
1c0ab501aa
UsersTable: Display Disabled flag in Organizations' Users table ( #53656 )
...
* Add disabled column to Org's Users table
* fix typo
* Change column order
* Add test for testing whether GetOrgUsers populates the DTO correctly
* Remove type assertion
2022-08-15 10:58:58 +02:00
Mihály Gyöngyösi and jguer
57a46767cd
AccessControl: Move GetCacheKey to SignedInUser ( #53591 )
...
* Add HasUniqueId and IsApiKeyUser to SignedInUser
* Improve GetCacheKey by explicit checks and error branch
* Align SignedInUser to merged changes
* change comparison method
Co-authored-by: jguer <joao.guerreiro@grafana.com >
2022-08-12 09:47:47 +02:00
Mihály Gyöngyösi
3ac4415d6d
Devenv: Universal jwt_proxy environment ( #53377 )
...
* change hostname to env.grafana.local to not collide with any custom host.docker.internal settings
* add WSL2 documentation
* update general documentation
* cleanup
2022-08-09 17:02:36 +02:00
Mihály Gyöngyösi
dc775c7577
RolePicker: Fix RolePicker menu positioning ( #53201 )
...
Fixes #52800
2022-08-03 14:35:51 +02:00