100 Commits
Author SHA1 Message Date
Jo 8f7718df36 AuthZ: Allow setting experimental flags for openfga (#129186)
AuthZ: Configure OpenFGA check optimizations
2026-07-24 16:20:50 +02:00
8d4b3ab5a8 docs: correct Cursor Cloud setup notes in AGENTS.md (#128850)
* docs: correct Cursor Cloud setup notes (Node/Go/Yarn versions, PATH gotcha)

Co-authored-by: Jo <joguer@proton.me>

* docs: reference source files for versions instead of hardcoding them

Co-authored-by: Jo <joguer@proton.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-07-23 16:06:11 +02:00
Jo a33d7d0441 Docs: Expand RBAC basic role management examples (#127452)
Add complete, tested RBAC HTTP API examples for updating basic role
permissions in the manage-rbac-roles page, including removing Grafana
Assistant access from the Viewer role. Document the per-instance and
all-orgs caveats and the No Basic Role alternative. Improve the Terraform
provisioning examples with env-var auth and a realistic custom role, and
link the RBAC rollout strategy doc from both pages.
2026-06-29 17:28:47 +02:00
Jo fac9af1885 Navigation: Remove groupsync frontend nav item (#126798)
* Remove groupsync frontend components and clean up exports

* remove export

* add missing import
2026-06-19 10:59:30 +02:00
Jo 65ee98469e Removal: GroupAttributeSync routes (#126247)
* update spec

* yarn generate-apis
2026-06-11 13:27:42 +02:00
Jo 2a51f52e24 Remove deprecated support bundle documentation (#125964)
Remove deprecated support bundle documentation.

Support bundles are deprecated, so drop the user and contributor guides and the troubleshooting index link.
2026-06-08 13:48:30 +02:00
Jo e63e13cfa8 SupportBundles: Add deprecation warning (#124575)
* SupportBundles: Add deprecation warning

* update locale
2026-05-13 10:58:16 +02:00
Jo a3ac501880 chore: update teams and team group sync codeowners to iam-identity (#122649) 2026-04-15 10:40:33 +02:00
Jo c23637cfa8 Users: Use SHA-256 for Gravatar email identifier (#122319)
Use SHA-256 for Gravatar email hashes per current Gravatar docs
2026-04-13 16:12:51 +02:00
Jo 4b1a53c567 Auth: Update go-jose v4.1.4 (#121830)
* update jose across all apps

* workspace update
2026-04-03 10:18:50 +00:00
Jo 8329b345a6 Access Control: Remove deprecated dashboard annotation scope (#118120)
* Docs: align RBAC annotation scopes with toggle removal

Update RBAC role and scope documentation to remove deprecated dashboard annotation scope and fixed role references after annotationPermissionUpdate cleanup in #117213.

* Docs: apply Prettier formatting for fixed role definitions

Normalize markdown table spacing in the RBAC fixed basic role definitions page so docs formatting checks pass consistently.

* remove annotations:type:* entries
2026-02-18 10:08:27 +01:00
Jo 18f7d8d524 Access control: filter redundant managed dashboard/folder permissions (#117570)
* exclude non action set permissions from managed roles

* fix feature tg key

* fix wrong flag check
2026-02-09 10:47:55 +01:00
Jo 76b4724d15 Auth: Remove ssoSettingsLDAP feature toggle (#117216)
* remove ldap sso ft

* add test cases for lbac disabled

* remove legacy ldap pages

* fix tests

* fix: add ldap provider to TestService_List expected results
2026-02-03 10:24:57 +01:00
Jo 31f062cb49 RBAC: Remove annotationPermissionUpdate feature toggle (#117213)
* Remove fully rolled out ft annotationPermissionUpdate

* fix annot test and lint

* fix frontend tests

* fix integration test

* fix flaky test
2026-01-31 02:23:48 +00:00
Jo 04621b2c09 Optimize GroupScopesByActionContext for speed and memory (#116764)
* reduce memory usage of GroupScopesByActionContext

* optimize GroupScopesByActionContext for both speed and memory

Use hybrid approach: index caching for speed + single backing array for
memory efficiency. Uses uint16 indices (2 bytes) to minimize overhead
while supporting up to 65535 unique actions.

Benchmark results vs main:
- ~15% faster execution
- ~29% less memory at scale (large workloads)
- 82% fewer allocations (18 vs 102)

Benchmark results vs previous memory-only optimization:
- ~2x faster execution
- Constant allocation count regardless of action count
- Slightly more memory due to indices array, but much better speed

* gofmt
2026-01-23 17:59:28 +01:00
JoandAnna Urbiztondo a01777eafa docs: improve RBAC and role creation documentation (#116188)
* docs: improve RBAC and role creation documentation

- Clarify that file-based RBAC provisioning is for self-managed instances only
- Distinguish between Grafana Admin (Server Admin) and Org Admin
- Remove incorrect UI instructions for custom role creation
- Add Terraform example for creating custom roles and assignments

* Apply suggestions from code review

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>

---------

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2026-01-13 15:11:15 +00:00
Jo 347075bffe docs: update anonymous access docs (#116011)
* docs: update anonymous access docs

* reset title

* reset title
2026-01-08 16:57:34 +01:00
Jo 318a0ebb36 IAM: Authorize writes to zanzana on token permissions (#115645)
* validate writes to zanzana, not reads

* lint ignore
2025-12-31 09:15:00 +00:00
Jo 176b0f8b48 IAM: Refactor user org hooks to use MutateRequest API (#113392)
* update with mutation hooks

* add missing delete mutation
2025-11-07 14:36:53 +01:00
Jo 769787ea40 IAM: Improve team binding hooks error handling and validation (#113393)
small team hook fixes
2025-11-04 11:54:38 +01:00
Jo eeddc8cd18 Zanzana: Add team binding hooks (#113274)
add team binding hooks
2025-11-03 15:39:20 +01:00
Jo 99e4583cd1 Zanzana: Add user org role hooks (#113276)
* add user org role hooks

* update with feedback
2025-11-03 15:39:12 +01:00
Jo a339a2dad3 AuthZ: Instantiate needed clients for IAM hooks (#113268)
build API with zanzana hooks support
2025-10-31 15:37:43 +01:00
Jo d216d75fbb Access: Add CoreRole/Role Delete/Update hooks for OpenFGA (#112839)
* Add delete and update hooks for roles/core roles

no need to capture non reference types

small cleanup on vars

* fix ticket priming in hooks

* fix ticket priming in hooks

* Revert "fix ticket priming in hooks"

This reverts commit f8e953ca09.

* use old testing blocks

* protect runtime obj in go func

* update test for correctness

* separate files for test correctness. fix leaking goroutines in go tests

* go workspace fixes

* attribute owner

* clean up go mod
2025-10-27 17:20:59 +00:00
Jo 8b12bbcc55 AccessControl: Include hidden roles in service account role display (#112924)
* AccessControl: Include hidden roles in service account role fetches

Add includeHidden=true parameter to role API calls to ensure service accounts
with hidden roles assigned properly display those roles in the UI.

Previously, service accounts with only hidden roles would appear to have no
roles assigned in the UI, even though the API showed they had roles when
queried with includeHidden=true.

This change affects both:
- Bulk role fetching for the service accounts list
- Individual user role fetching used by the role picker

* format
2025-10-24 14:04:13 +02:00
JoandCopilot 71d10a3fa3 FolderPermissions: Return 404 error when folder does not exist instead of 500 (#112919)
* AccessControl: Improve folder permissions error handling

- Add proper error type handling for folder permission checks
- Convert dashboards.ErrFolderNotFound to folder.ErrFolderNotFound
- Preserve errutil.Error types when returned
- Wrap unhandled errors with new ErrFolderUnhandledError for better error tracking

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update pkg/services/accesscontrol/ossaccesscontrol/folder.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-24 09:50:38 +00:00
Jo 2e1704b56f Access: Add AfterCreate hooks for Roles/Core Roles (#112666)
As part of migrating Grafana's authorization system to Zanzana (OpenFGA), we need to ensure that role permissions defined in the IAM API are automatically synced to the authorization backend. Without this sync, roles created through the API would not be enforced by Zanzana, creating an inconsistency between defined permissions and actual authorization decisions.

This is a critical piece of the dual-write pattern during the migration to Zanzana, ensuring that:

    Role permissions are immediately available for authorization checks
    The legacy RBAC system and new Zanzana system remain in sync
    Users experience consistent permission enforcement regardless of which backend is queried

safe to revert
2025-10-23 09:47:39 +02:00
Jo bc9c42f5c2 AuthZ: ignore duplicates on write and missing on delete in OpenFGA (#112451)
Authz: ignore duplicates on write and missing on delete in zanzana
2025-10-16 15:42:44 +01:00
Jo f2eab5c3ea AccessControl: Increase limit of LBAC for Datasources rules (#111560)
increase json_data in mysql from TEXT to MEDIUMTEXT (16MB)
2025-09-26 12:12:26 +01:00
Jo 321c3f8ec1 Authorization: update OpenFGA (#111094)
update openfga to v1.10
2025-09-16 13:23:46 +02:00
Jo ba65aa6529 AccessControl: Remove deprecated scope split migration (#111071)
remove scope migrator
2025-09-15 11:47:08 +02:00
Jo edcd113054 Authz: Remove legacy API Key permissions (#110860)
* remove API key roles

* remove API key gen

* remove frontend and doc mentions

* restore legacy keygen

* restore codeowners

* prettier

* update swagger

* remove permissions including apikeys

* add migrator for removing deprecated permissions

* add tracing

* update openapi3

* simplify migrator for now

* accesscontrol/migrator: remove batching for deprecated permissions deletion
2025-09-12 13:59:37 +02:00
JoandMatheus Macabu f3896624f5 Access: Remove plugin app access in plugin basic role seeder (#108526)
* draft: remove plugin app access in plugin basic role seeder

* fix log

* remove mods to gosum

* fix missing plugin check

* debug log, not warn

* Secrets: Better error message for not matching resource owner (#109113)

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-08-06 09:25:06 +01:00
Jo 1e1fd3db38 OAuth: Add access token as third source for user info extraction (#107636)
* Add access token as third source for user info extraction

- Add extractFromAccessToken method to extract user info from JWT access tokens
- Mutualize code by creating parseUserInfoFromJSON helper method
- Rename methods for clarity: extractFromToken -> extractFromIDToken, retrieveRawIDToken -> retrieveRawJWTPayload
- Update test suite to include comprehensive access token retrieval scenarios
- Support three sources in priority order: ID token, API response, access token
- Maintain backward compatibility while adding new functionality

* Update Generic OAuth documentation to reflect access token support

- Add access token as a third source for user information extraction
- Update configuration sections to mention access tokens alongside ID tokens and UserInfo endpoint
- Document the priority order: ID token → UserInfo endpoint → access token
- Update configuration option descriptions to reflect new functionality
- Maintain consistency with implementation changes

* Refactor access token test cases to use parameter instead of hardcoded logic

- Add AccessToken field to test case struct for explicit access token specification
- Remove hardcoded string matching logic that determined access token based on test name
- Update all access token test cases to include the AccessToken field with appropriate JWT values
- Improve test maintainability and clarity by making access tokens explicit parameters
- Remove unused strings import that was only needed for the hardcoded logic

* fix doc lint

* reduce cyclomatic complexity
2025-07-08 15:38:11 +02:00
Jo 86543e0f91 Access: Disable role none option if advanced access control is not enabled (#107378)
* disable role none option if advanced access control is not enabled

* filter out None instead

* fix lint
2025-06-30 16:35:17 +02:00
Jo 7940da4803 Fix organization deletion error messages (#107380)
* Fix organization deletion error messages

- Improve error message clarity when attempting to delete active organization
- Fix incorrect 'Failed to update organization' message to 'Failed to delete organization'
- Update comment to be more precise about the check being performed

Fixes #92792

* Improve error handling in organization deletion service

- Add contextual error message when dashboard deletion fails during org deletion
- Include organization ID in error message for better debugging
- Import fmt package for error formatting

This helps administrators understand which specific organization failed
during the deletion process when dashboard cleanup encounters issues.

* Fix typo in unified resource access error message

Change 'Namespace missmatch' to 'Namespace mismatch' for correct spelling.
2025-06-30 13:58:37 +02:00
JoandVictor Cinaglia 06278615fb Fix: Increase login_attempt.ip_address column length for IPv6 support (#107035)
* fix: increase login_attempt.ip_address column length for IPv6 support

- Expand ip_address column from VARCHAR(30) to VARCHAR(50) to accommodate IPv6 addresses
- Add database migration with support for PostgreSQL, MySQL, and SQLite
- Add comprehensive integration tests for various IPv6 address formats
- Resolves 500 errors when login fails over IPv6, now returns proper 401 errors

Fixes #106362

* test: add missing test skip to TestIntegrationIPv6AddressSupport

Skip integration test when running with -short flag to separate unit and integration tests

* Update pkg/services/sqlstore/migrations/login_attempt_mig.go

Co-authored-by: Victor Cinaglia <victor@grafana.com>

* fix missing bracket

* fix: resolve PostgreSQL timestamp overflow in IPv6 test

- Use controlled time mock instead of time.Now() to avoid timestamp conversion issues
- Follow existing test patterns with xormStore and mock time functions
- Add proper Since parameter to GetIPLoginAttemptCount query
- Fixes PostgreSQL error: 'pq: value "-62135596800" is out of range for type integer'

* fix: resolve PostgreSQL UTF-8 encoding error in IPv6 test

Replace string(rune(i)) with fmt.Sprintf to avoid null bytes (0x00)
when i=0, which caused 'invalid byte sequence for encoding UTF8' error

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2025-06-24 16:11:45 +02:00
Jo afcb551562 TeamMember: Treat null permission as member (#104195) 2025-04-21 06:41:30 -05:00
Jo d7fe097630 Docs: Add documentation on the cloud access policy permissions (#102550)
* add admonition

* add to menu

* add missing entry

* make it prettier

* fix ref
2025-03-21 10:07:52 +01:00
Jo 7970f0c79f Docs: Fix broken dependency documentation (#101631) 2025-03-20 16:31:29 +01:00
Jo 7411472f52 Docs: Make role definitions more precise (#102391)
* fix missing clarification

* remove OnCall admonitions
2025-03-20 16:12:29 +01:00
Jo 40d3b02648 Auth: Separate anonymous settings to its own struct (#97791)
separate anonymous settings to its own struct
2024-12-13 10:46:27 +01:00
Jo 4452d0932a Users: Fix potential panics on UID translation (#95794)
fix potential panics on UID translation
2024-11-04 18:50:26 +01:00
Jo ddf766567b RemoteCache: Refactor remote cache settings (#95672)
* refactor remote cache settings

* fix cache error getting treating as application error

* fix cache error getting treating as application error
2024-11-04 17:35:31 +01:00
JoandIeva 9f43724b57 AccessControl: Use UIDs for Resource permissions frontend (#95552)
* frontend can use uids to set resource permissions

* lint

* add uids to folder acl

* Update public/app/core/components/Select/UserPicker.tsx

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* simplify conditions

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-31 16:17:13 +01:00
Jo d77fc50198 Users: Add numerical indentifiers to detail pages (#95620)
* add numerical indentifiers to frontend while they're still valid

* lowercase identifier
2024-10-31 14:05:18 +00:00
Jo 90d2f4659e Users: Allow specifying user UIDs in params (#95424)
* add user ID API translation

* add uid to user frontend

* use users' UIDs in admin pages

* fix ldapSync page

* use global user search for user by UID

* remove active org filtering

* remove orgID params
2024-10-30 14:14:42 +01:00
Jo 2b867d9850 AccessControl: Resource permission translator (#95423)
* Standardize Resource Translator in options

* Add resource UID translator for resource permissions

* fix comments

* fix comments
2024-10-29 10:21:39 +01:00
Jo ed1ad34f9b ServiceAccounts: Allow use of UIDs for Service Account routes (#95401) 2024-10-28 10:49:48 +01:00
Jo 9eea0e99fc Chore: Use UIDs as identifiers for teams frontend (#94345)
* Team frontend now uses UIDs as identifiers. Safe to revert
2024-10-08 09:48:35 +02:00
Joandgamab 945dd052b1 Fix: Ensure SA migrations doesn't hit migrated SAs if rerun (#94347)
* ensure mig doesn't hit migrated SAs if rerun

* Fix small issue with the test

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-10-08 09:45:14 +02:00
Jo acd13e05ef Teams: Support team UIDs in APIs (#94011)
* support team UIDs in APIs

* unify middleware logic and add team tests

* add UID test to resource permissions

* remove unused middleware
2024-10-07 10:18:24 +02:00
Jo 544b5f905c Anonymous: Fix anonymous cache ignoring device limit evaluation (#94218)
* ensure cache contains the evaluation result for device limit

* add device limit errors and warnings

* fix lint
2024-10-04 15:20:55 +02:00
JoandJack Baldry 8ddc0344d0 Docs: Add warning on UUIDs not being available before 10.2.0 (#91372)
* add warning on UUIDs not being available before 10.2.0

* Update docs/sources/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/index.md

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-08 09:19:27 +02:00
Jo 93a979d46d Auth: Fix grafana-auth-app menu not being displayed (#90882)
Auth: Fix grafana-auth-app menu not being displayed if user only has access to cloud access policies
2024-07-24 15:10:19 +02:00
Jo d972bdca08 Docs: Add fixed role UUIDs to docs for terraform provisioning (#89457)
* add role UUID to docs

* add table description and terraform hyperlink
2024-06-21 08:20:02 +00:00
Jo bffe086cea Update IAM for more fine grained mentions (#89333)
Update IAM for more fine grained mentions
2024-06-19 15:24:39 +02:00
5340a6e548 Auth: Extended JWT client for OBO and Service Authentication (#83814)
* reenable ext-jwt-client

* fixup settings struct

* add user and service auth

* lint up

* add user auth to grafana ext

* fixes

* Populate token permissions

Co-authored-by: jguer <joao.guerreiro@grafana.com>

* fix tests

* fix lint

* small prealloc

* small prealloc

* use special namespace for access policies

* fix access policy auth

* fix tests

* fix uncalled settings expander

* add feature toggle

* small feedback fixes

* rename entitlements to permissions

* add authlibn

* allow viewing the signed in user info for non user namespace

* fix invalid namespacedID

* use authlib as verifier for tokens

* Update pkg/services/authn/clients/ext_jwt.go

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

* Update pkg/services/authn/clients/ext_jwt_test.go

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

* fix parameter names

* change asserts to normal package

* add rule for assert

* fix ownerships

* Local diff

* test and lint

* Fix test

* Fix ac test

* Fix pluginproxy test

* Revert testdata changes

* Force revert on test data

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-04-02 17:45:15 +02:00
Jo da40158fed Auth: Improve org role sync debugging (#85146)
add login to the context of the logger
2024-03-26 17:22:10 +01:00
Jo 7649d93d17 AuthProxy: Fix missing session for ldap auth proxy users (#85090)
fix missing session for ldap auth proxy users
2024-03-26 09:24:24 +01:00
108202f96c UsageStats: Separate context and threads for usage stats (#83963)
* separate context and threads for usage stats

* use constants

* ignore original context

* fix runMetricsFunc

* fix collector registration

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

* change background ctx

* fix test randomness

* Add traces to support bundle collector

* Remove unecessay span

* Add trace to usagestats api

* Close spans

* Mv trace to bundle

* Change span name

* use parent context

* fix runtime declare of stats

* Fix pointer dereference problem on usage stat func

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: jguer <joao.guerreiro@grafana.com>

* fix broken support bundle tests by tracer

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabriel.mabille@grafana.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-11 15:18:42 +01:00
Jo 0aebb9ee39 Misc: Remove unused params and impossible logic (#83756)
* remove unused params and impossible logic

* remove unused param
2024-03-01 12:08:00 +01:00
Jo 36a19bfa83 AuthProxy: Allow disabling Auth Proxy cache (#83755)
* extract auth proxy settings

* simplify auth proxy methods

* add doc mentions
2024-03-01 11:31:06 +01:00
Jo 2182cc47ac LDAP: Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync (#83715)
* fix LDAP users authenticated via auth proxy not being able to use ldap sync

* simplify id resolution at the cost of no fallthrough

* remove unused services

* remove unused cache key
2024-03-01 10:14:32 +01:00
Jo cc3b088b6c Teams: Fix missing context in team service (#83327)
fix missing context in team service
2024-02-27 11:10:54 +01:00
Jo b2601d71d5 IAM: Remove fully rolled out feature toggles (#83308)
* remove anon stat ft

* remove split scope flag

* remove feature toggle from frontend
2024-02-23 17:53:37 +02:00
Jo 901e1b1865 TeamSync: Fix auth proxy docs on teamsync (#82457)
fix auth proxy docs on teamsync
2024-02-16 09:40:28 +01:00
Jo c5d1b295ec Plugins: Allow plugin page access granting via permissions (#82508)
* AccessControl: Check permissions on AppRootPage

* add frontend tests for app root permission checks

* add accesscontrol oncall ft to tests
2024-02-16 09:36:52 +01:00
Jo 6f62d970e3 JWT Authentication: Add support for specifying groups in auth.jwt for teamsync (#82175)
* merge JSON search logic

* document public methods

* improve test coverage

* use separate JWT setting struct

* correct use of cfg.JWTAuth

* add group tests

* fix DynMap typing

* add settings to default ini

* add groups option to devenv path

* fix test

* lint

* revert jwt-proxy change

* remove redundant check

* fix parallel test
2024-02-09 16:35:58 +01:00
Jo fb86ed79fc Stats: Remove ACL references (#82112)
remove acl references
2024-02-08 17:19:24 +01:00
Jo 6ac0bc5ecf Seeder: Add missing methods to Registrations (#81961)
* add slice copy method

* fix slice copy
2024-02-08 09:54:17 +01:00
Jo cf616d5074 Remove X-Grafana-Device-Id from outbound requests (#81957) 2024-02-06 14:06:19 +01:00
Jo 7852ea012d Access: Remove split scopes feature toggle (#81874)
* remove split scopes FT

* Revert "remove split scopes FT"

This reverts commit 349fb081d3.

* make toggle deprecated instead

* fix gen
2024-02-05 17:00:19 +01:00
Jo f3f36e37fa AuthInfo: No mandatory auth_id in Auth Info service (#81335)
* fix auth info update not having mandatory auth_id

* remove uneeded newline
2024-01-26 11:54:00 +01:00
Jo 9f5a8bf926 AuthInfo: Revert #81013. Fix cache invalidation (#81050)
* Revert "Auth: Revert "Auth: Cache Auth Info" (#81013)"

This reverts commit ce84f7c540.

* fix cache invalidation during user takeover

* fix incomplete test
2024-01-23 15:26:38 +01:00
Jo c767481dee Auth: Cache Auth Info (#80620)
* leverage cache for auth info

* fix tests and integration

* fix panic

* fix panic
2024-01-18 15:22:19 +01:00
Jo e77dbb63e3 AccessControl: Add group to role picker and standardize display (#79570)
* add group to role picker and standardize display

* change stuttery roles
2024-01-18 15:20:28 +01:00
Jo 02136e5a2f Auth: Fix authentik devenv update (#80285)
fix authentik update
2024-01-10 15:50:08 +02:00
JoandIvan Ortega Alba c60a1dddc2 Analytics: Fix metanalytics sending 'undefined' to backend (#80127)
* fix metanalytics sending 'undefined'

* revert panelId defined

* Update public/app/features/query/state/queryAnalytics.ts

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* finish fix

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-01-08 17:06:06 +01:00
Jo c3d8c6e0ea JWT: Fallthrough to fetch keyset in case of cache error (#80081)
fallthrough to fetch keyset in case of cache error. Fixes #67582
2024-01-08 16:02:31 +01:00
JoandChristopher Moyer ca40e333df Docs: fix id token hint information (#79890)
* fix id token hint information

* Update docs/sources/setup-grafana/configure-security/configure-authentication/keycloak/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-01-05 11:22:55 +01:00
Jo 5ae3249c36 Auth: Hide forgot password if grafana auth is disabled (#79895)
* hide forgot password if grafana auth is disabled

* fix test
2024-01-04 10:46:55 +01:00
Jo 814d62406e User: Verify external user status for accessing certain user routes (#79909)
stricter user profile route checking
2023-12-29 14:23:05 +01:00
Jo 3c4bc24dec ServerLock: Fix missing return ID for postgres (#79878)
fix missing return ID for postgres
2023-12-28 11:15:18 +01:00
Jo 3bcde852ac AccessControl: Add safety valve truncation for long user defined scopes (#79854)
* fix migrator bootloop by invalidating permissions

* add test for scope truncation

* lint

* fix max size scope
2023-12-27 17:31:26 +01:00
Jo a595353d57 ServerLock: Rework serverlock to use raw SQL and not depend on id (#79859)
* rework SQL to use raw sql and more resistant to DBs that do not return ID

* rework SQL to return ID in all DBs. Avoid using ID as operator
2023-12-27 14:59:43 +01:00
Jo ffbf1b1413 Anon: Small fixes to anon service structure (#79566)
* add ListDevices to service

* improve fake

* fix missing cfg field

* cannot be unexported
2023-12-15 15:15:04 +01:00
Jo d50ce18357 Access: GA split scope (#79555)
* GA split scope

* fix tests
2023-12-15 10:52:55 +01:00
Jo 7a006c32bb Auth: Update okta docs (#79381)
* update okta docs

* fix missing corrections

* fix missing corrections
2023-12-13 10:31:46 +01:00
JoandEric Leijonmarck 3647ba7360 Anonymous: Add configurable device limit (#79265)
* Anonymous: Add device limiter

* break auth if limit reached

* fix typo

* refactored const to make it clearer with expiration

* anon device limit for config

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2023-12-12 12:57:25 +02:00
Jo ce79bbba87 Anon: Enable anon stats by default (#79312)
* enable anon stats by default

* update flag
2023-12-11 15:17:50 +01:00
Jo 5efa85e634 Plugins: Use org role to separate unauthed from anon (#79082)
use org role to separate unauthed from anon
2023-12-05 16:40:19 +01:00
Jo 7d559bc69a AuthProxy: Do not allow sessions to be assigned with other methods (#78602)
do not allow login token with other methods
2023-11-24 11:00:53 +01:00
Jo 5dd5ed9b30 SignedInUser: Only register echo backend if user is signed in (#78545)
fix SignedIn checks
2023-11-23 10:11:53 +01:00
Jo 40c8e2fc75 Live: Move empty orgRole safety valve (#78531)
move empty orgRole safety valve
2023-11-22 15:51:11 +01:00
Jo 0de66a8099 Authz: Remove use of SignedInUser copy for permission evaluation (#78448)
* remove use of SignedInUserCopies

* add extra safety to not cross assign permissions

unwind circular dependency

dashboardacl->dashboardaccess

fix missing import

* correctly set teams for permissions

* fix missing inits

* nit: check err

* exit early for api keys
2023-11-22 14:20:22 +01:00
Jo 259ecb1793 AuthZ: Improve team ID fetching for signedInUser (#78378)
* improve team ID fetching for signedInUser

* remove inner join

* rename func

* nit: remove extra params

* nit: spacing and wrapping
2023-11-20 16:23:13 +01:00
JoandIeva 580477bf8e NGAlerting: Use identity.Requester interface instead of SignedInUser (#76360)
* unfurl SignedInUserAttrs services

* replace signedInUser with Requester

replace signedInUser with requester

* fix tests

* linting

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-11-14 14:47:34 +00:00
Jo 48ef88aed7 Access: Fetch fresh permissions for target GlobalOrgID in AuthorizeInOrgMiddleware (#76569)
fetch fresh permissions for global in AuthorizeInOrgMiddleware

Update pkg/services/accesscontrol/authorize_in_org_test.go

do not load viewer permissions in global ID
2023-10-13 21:01:47 +03:00
Jo 466f8a1f5a Teams: Move team API to own service (#76347)
* move team API to its own service

* remove uneeded import

* reshare pref api logic
2023-10-12 10:10:54 +02:00