Commit Graph
100 Commits
Author SHA1 Message Date
Eric Leijonmarck c13fd62b16 Team LBAC: Add permission check for Update datasource (#77709)
* add permission check for updating the LBAC Rules

* permission scoped for id in the updating datasource

* fixed test to cover for permissions

* fix proper check for permissions and empty teamHTTPHeader requests

* check for jsondata

* check nil for jsondata inside the getEncodedString
2023-11-08 14:37:32 +00:00
Eric LeijonmarckandAlexander Zobnin 57335cb173 Team LBAC: Add validation/regex of teamheaders (#76905)
* add validation of team header values w. regex

* apply valid headers

* refactor testcases to account for badly formatted json

* refactoring to move validation code close to the validation itself

* removed tes

* Update pkg/api/datasources_test.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update pkg/api/datasources.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* review comments

* review during pairing

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-10-27 12:37:37 +01:00
Eric Leijonmarck 813a7625a5 RBAC: Default to None role on SA creation if accesscontrol enabled (#77035)
* Check accesscontrol enabled on service account creation

* fix test

* linting
2023-10-24 13:52:55 +01:00
Eric Leijonmarck 8914849733 Revert "RBAC: Allow the basic role None as option of the org role #76335 (#77033)
Revert "RBAC: Allow the basic role None as option of the org role selector (#76335)"

This reverts commit 43928d38af.
2023-10-24 13:02:17 +01:00
Eric Leijonmarck 17fe1d3fc7 Team LBAC: Refactor to use only the teamHeader json part (#76756)
* refactor: to check for feature toggle and for checking for jsonData field

* fix tests

* whitelisting of X-Prom-Label-Policy Header
2023-10-18 16:09:22 +01:00
Eric Leijonmarck 9ef390a81b Auth: Update disabledMessage to make better use of info box (#76687)
* refactor: make better use of info box for basic roles

* linting fix
2023-10-18 15:14:07 +01:00
Eric LeijonmarckandGabriel MABILLE a6d8cd87a7 Devenv: Add undev command to the ./setup scrip of devenv (#76684)
* Add undev command to the ./setup scrip of devenv

* Update devenv/setup.sh

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

* include undev as usage

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-10-18 14:05:59 +01:00
Eric LeijonmarckandIsabel 91c18e93b9 Docs: Update docs for whatsnew for no basic role (#76681)
* update docs for whatsnew for no basic role

* Update docs/sources/whatsnew/whats-new-next/index.md

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* linting

* added feature release date

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-10-17 16:48:29 +03:00
be5ba68132 Team LBAC: Add teamHeaders for datasource proxy requests (#76339)
* Add teamHeaders for datasource proxy requests

* adds validation for the teamHeaders

* added tests for applying teamHeaders

* remove previous implementation

* validation for header values being set to authproxy

* removed unnecessary checks

* newline

* Add middleware for injecting headers on the data source backend

* renamed feature toggle

* Get user teams from context

* Fix feature toggle name

* added test for validation of the auth headers and fixed evaluation to cover headers

* renaming of teamHeaders to teamHTTPHeaders

* use of header set for non-existing header and add for existing headers

* moves types into datasources

* fixed unchecked errors

* Refactor

* Add tests for data model

* Update pkg/api/datasources.go

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

* Update pkg/api/datasources.go

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

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Victor Cinaglia <victor@grafana.com>
2023-10-17 11:23:54 +01:00
Eric LeijonmarckandVardan Torosyan 7794697660 Doc: Add docs for direct mapping of None role for SAML (#76551)
* add: direct mapping of None role for SAML

* Fix docs formatting

* fix spelling

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-10-13 16:01:55 +01:00
Eric LeijonmarckandIeva f10b4bc1da Auth: None basic role update docs (#75955)
* docs: update basic role

* update docs

* Update docs/sources/administration/user-management/manage-org-users/index.md

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

* Update docs/sources/administration/roles-and-permissions/access-control/plan-rbac-rollout-strategy/index.md

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-10-12 14:52:07 +03:00
Eric Leijonmarck 38cdce526a Auth: Enable None role for 10.2 (#76343)
* remove the feature toggle for noBasicRole

* linting

* remove unused
2023-10-12 13:00:26 +02:00
Eric Leijonmarck 6274e5b45e Service accounts: Apply None role by default for creating SA (#75949)
* none role by default

* tests
2023-10-04 13:37:27 +01:00
Eric LeijonmarckandChris Moyer f895798fdb Docs: Added the feature parity table to our iam strategy docs (#72979)
* added the feature parity table to our iam strategy

* wip

* updated the table with current features

* added better formatting for explanations

* change emoji to words

* sample of new table approach

* changing the name from unsupported to N/A

* add describtion of N/A and remove warning

---------

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-09-29 11:33:12 +01:00
Eric LeijonmarckandKarl Persson b00f3216c1 Auth: Refactor for revoking user tokens within last hours (#74616)
* fix: revoked tokens within last hours

adds check for unlimited sessions out of index
adds a function for specifing the hours to look back when revoking users tokens, otherwise we "assume" the clean up takes care of them adds a index for the `user_auth_token` - `revoked_at` for faster queries when using `revoked_at`

* fix: sqllite datetime conversion with unixtimestamps

* fix: postgres dialect

* fix: mysql dialect

* fix: mysql dialect missing closing )

* refactor: delete revoked tokens directly

* fix: tests for sqlite

* AuthToken: Simplify DeleteUserRevokedTokens and add test

* fix: linting newline

* Reset get time after test

* fix: test order by revoked

* fix: order by different db

* ascending

* test with seen at

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-09-13 10:24:37 +01:00
Eric Leijonmarck 394976bb6e Service accounts: Fix mouse leave event by hide scrollbar in firefox and chrome (#74266)
fix: hide scrollbar in firefox and chrome for menu, due to mouse leave event
2023-09-08 07:40:18 +01:00
Eric Leijonmarck 61e96f8412 Auth: Move apikey service from userSignedIn to identity.Requester interface (#74323)
change from userSignedIn to identity.Requester interface
2023-09-07 16:54:38 +01:00
Eric Leijonmarck 87e8b654a2 Auth: Fix set basicrole to the previous role in UI on error from backend (#74395)
fix: onchange effect to set basicrole when error from backend
2023-09-05 18:44:57 +01:00
Eric Leijonmarck 47a756d524 Auth: Move to requester interface (#74276)
add identity interface for auth
2023-09-04 09:32:20 +01:00
Eric Leijonmarck 6b9f51c209 Refactor: Move LDAP auth config frontend registration to OSS (#73941)
* Refactor: move ldap auth registration to OSS

* Update public/app/features/auth-config/types.ts

* fix: permission settingswrite

* fix: types for typescript find()

* fix: linting

* fix: removed types that are implicit

* added text for no available authentication providers

* refactor: make use of ldapenabled instead for minimal changes
2023-08-29 14:49:00 +01:00
Eric LeijonmarckandChristopher Moyer 95760cb021 Auth: OAuth sets skip_org_role_sync = true for auth.google by default (#72819)
* sets skip_org_role_sync to true for google

* add google skiporgrolesync and sets to true always

* add field

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

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

* add AKS to words

* script back to mina

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-08-04 16:17:35 +02:00
Eric Leijonmarck 5d99fdeb46 SAML: Add onclick action to providercard if the provider is configured (#72734)
* adds missign onclick for provider card

* simplified version
2023-08-03 17:40:11 +02:00
Eric Leijonmarck 27f57fe112 Auth: Add missing skipOrgRoleSync property to SocialBase for GenericOAuth (#72752)
* add missing cfg for skiporgrolesync

* add google skiporgrolesync

* removed google skip

* update docs to reflect google

* remove docs update for google
2023-08-03 14:56:11 +02:00
Eric Leijonmarck d28bb03ebc SAML: UI update of providercards (#71838)
* UI update of providercards

* fixed the naming of the providercard and margin to top

* fix: add settings to the AuthConfigPage for the provider card to get the displayname

* removes the ldap name check

* refactor to account for the configured/enabled sitation and removed the LDAP name check

* added type to authstatus instead

* remove the settings from initiation of the component

* added name to the type

* removed the configAuth

* do not export all types

* add back types
2023-08-01 16:15:48 +01:00
Eric Leijonmarck b4c4b512d7 SAML: Move type definitions to auth config to change ownership to authnz team (#72463)
* refactor: move file for ownership

* deleted the file
2023-08-01 09:45:41 +01:00
Eric Leijonmarck 649cd08a19 SAML: Remove mention of config found in inifile (#71837)
* remove config found in inifile

* remove the text from the provider card

* remove description that contained the notion of inifile
2023-07-27 15:34:27 +01:00
Eric Leijonmarck 06e35f3f72 SAML: Add node-forge to yarn for cert validation (#70959)
added node-forge to yarn
2023-07-14 16:04:35 +01:00
Eric Leijonmarck 59be79b5f4 SAML UI: metric for provider card clicked (#70894)
provider card clicked
2023-06-29 15:42:52 +01:00
Eric Leijonmarck e313db386a Auth: adds missing default in [auth.azuread] skip_org_role_sync config (#70690)
adds default false skip org role sync
2023-06-26 17:54:32 +03:00
Eric Leijonmarck 5dceb5dff3 Service accounts: API key migration refactoring to parse as json object of the results (#69771)
refactoring to parse as json object of the results
2023-06-08 12:12:26 +02:00
Eric Leijonmarck 081f59feba Service accounts: UI migration results (#68789)
* ui migration WIP

* merge

* migration tests for api

* revert chagnes to align with main

* revert chagnes to align with main

* revert chagnes to align with main

* remove unused code and comments

* revert gen files

* retry logic inplace

* fix a any

* fixed types

* migraiton results now show only result if no failures

* review comments

* wording to make it more actionable

* add migraiton summary text onyl for failed apikeys

* fixed wording and added a close button to the modal

* made the button close the modal

* moved state into component

* fix based on review, naming and removed unused code

* service account migration state optional

* making migration result undefined

* showing total and migrated numbers for a successful migration

* fix payload const to take the payload
2023-06-08 10:09:30 +02:00
Eric Leijonmarck 498f8ea4ea Auth: Skip org role sync moved in docs (#69676)
skip org role sync moved in docs
2023-06-07 10:02:05 +02:00
Eric Leijonmarck 94283f5039 RBAC: Remove legacy AC editor and admin role on new dashboard route (#68762)
remove legacy AC editor and admin role on new dashboard route
2023-05-22 10:27:00 +01:00
Eric Leijonmarck 6a2bcba078 Revert: Allow editors to access GET /datasources (#68632)
Revert "Allow editors to access GET /datasources"

This reverts commit 5a830c43c0.
2023-05-17 18:24:18 +01:00
Eric Leijonmarck 1a79c8a601 Settings: Add ability to override skip_org_role_sync with Env variables (#68364)
Switch to using the SectionsWithOverride for settings for skip org role sync
2023-05-12 13:45:31 +01:00
Eric Leijonmarck 09d7d25c9f SAML UI: Adds documentation link to the Authentication UI (#68062)
* adds documentation link to the saml ui

* add correct link

* add link to docuemntation

* add documentation etxt

* documentation update wordings
2023-05-12 12:10:19 +01:00
Eric Leijonmarck 9b10664560 SAML UI: configuration file tooltip info (#67861)
* adds icon and text to the card if enabled in inifile

* make use of verbose settings

* add state to enabledInIniFile

* rename to configFound and removal of default values
2023-05-11 14:08:37 +01:00
Eric Leijonmarck c3a0b75357 RBAC: refactoring alertingQuery to remove OrgRole check (#67808)
* WIP

* tests passing
2023-05-11 09:04:22 +01:00
Eric LeijonmarckandVardan Torosyan 7a916962f2 Docs: Update API keys docs to mark that api keys will be service account tokens (#67975)
* update docs to mark that api keys will be service account tokens

* Update docs/sources/administration/api-keys/index.md

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2023-05-08 15:09:38 +01:00
Eric Leijonmarck a3b10b2c8d RBAC: remove rbac disabled from preferences tests (#67712)
remove rbac disabled from preferences tests
2023-05-03 12:02:48 +01:00
Eric Leijonmarck 234ed2a684 RBAC: remove RBAC enabled for Alerting (#67274)
* WIP

* fix from review
2023-04-27 11:23:17 +01:00
Eric Leijonmarck b93f26f29d RBAC: Update TestIntegrationFolderService remove RBAC setting (#67052)
* remove the RBAC configuration setting

* add back tests
2023-04-25 11:10:00 +01:00
Eric Leijonmarck b6953763f4 RBAC: Update dashboardIntegrationFolder tests to use RBAC (#66845)
* wip

* tests fixed

* clean up tests

* updated tests since evaluation only happens on scenario setup

* delete debugging files
2023-04-21 15:08:52 +01:00
Eric Leijonmarck 6b8c77c70c Usagestats: Add interface for stats for user.Service and add Usagestats for case_insensitive_login (#66742)
* add interface for stats

* add user service to registry
2023-04-18 14:34:40 +01:00
Eric Leijonmarck 15c9ced944 Revert "APIkeys: Add metrics for apikey endpoints (#66732)" (#66754)
This reverts commit c505d26430.
2023-04-18 13:05:52 +01:00
Eric Leijonmarck c505d26430 APIkeys: Add metrics for apikey endpoints (#66732)
add metrics for apikey endpoints
2023-04-18 11:12:19 +01:00
Eric LeijonmarckandIeva 2e2f44c2d3 Docs: update docs migration path for api keys w. examples (#66463)
* docs update migration path w. examples

* update with current example for api

* updated linsk for the documentation

* trigger commit

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* added cloud stack section

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-04-14 14:01:41 +01:00
Eric Leijonmarck 2eed889ab7 Service accounts: Refactor to make roleOptions act as Users for service accounts (#66107)
add fetchAC for licenseenabled
2023-04-12 11:07:06 +01:00
Eric Leijonmarck 2031997994 API keys: Add deprecation to api keys (#65948)
* add: deprecation to api keys write path

* boolean w. meessage

* add read and delete endpoints

* better description of deprecation

* updated with puncutations
2023-04-11 15:58:35 +01:00
Eric Leijonmarck e9d356010d Service accounts: Fix service account role picker on reload of profile page (#65911)
* working but unsure if best strategy

* removal of roleoptions to pass into the profile component

* remove the dispatch of ac

* added comment

* added one more comment tro trigger pipeline
2023-04-04 16:27:40 +01:00
Eric Leijonmarck c8252f9987 Team sync: Fix apply query string instead of param (#65433)
* fix: apply query string instead of param

* Update public/app/features/teams/state/actions.ts
2023-03-28 14:40:51 +01:00
Eric LeijonmarckandChristopher Moyer 211ae2855b Docs: add featuretoggle introduction for onlyExternalOrgRoleSync in org roles management (#65264)
* docs: add featuretoggle introduction

* update to point to the setting instead

* Update docs/sources/administration/user-management/manage-org-users/index.md

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

* update text

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-23 18:27:57 +02:00
Eric Leijonmarck 3cd952b8ba Auth: Fix orgrole picker disabled if isSynced user (#64033)
* fix: disable orgrolepicker if externaluser is synced

* add disable to role picker

* just took me 2 hours to center the icon

* wip

* fix: check externallySyncedUser for API call

* remove check from store

* add: tests

* refactor authproxy and made tests run

* add: feature toggle

* set feature toggle for tests

* add: IsProviderEnabled

* refactor: featuretoggle name

* IsProviderEnabled tests

* add specific tests for isProviderEnabled

* fix: org_user tests

* add: owner to featuretoggle

* add missing authlabels

* remove fmt

* feature toggle

* change config

* add test for a different authmodule

* test refactor

* gen feature toggle again

* fix basic auth user able to change the org role

* test for basic auth role

* make err.base to error

* lowered lvl of log and input mesg
2023-03-22 17:41:59 +00:00
0673c1a4ea API keys: Add migration path for API and terraform to Docs (#64436)
* docs: update migration path for API and terraform

* updates topic

* update

* update permissions

* updates before you begin prereqs

* update permissions section

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* change based on revie

* Update docs/sources/administration/api-keys/index.md

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

* Update docs/sources/administration/api-keys/index.md

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

* Apply suggestions from code review

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

* formatting

---------

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-03-22 13:09:53 +00:00
Eric Leijonmarck 17537b033d API keys: Add last_used_at and docs changes for migration (#64293)
* feat: last_used_at for apikeys

* add: docs and copy changes

* refactor: use br correctly

* remove docs

* removed more docs
2023-03-09 14:16:42 +00:00
Eric Leijonmarck 15fb7e99d9 Login: Fix sanitize input for signin url (#64203)
fix: sanitize input for signin
2023-03-06 09:54:30 +00:00
Eric LeijonmarckandAlexander Zobnin ad4b053231 API keys: Remove state hideAPIkeys and refactor interface to IsDisabled (#64018)
* remove state and refactor interface to IsDisabled

* update docs and span

* Update pkg/services/apikey/apikey.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-03-03 16:12:34 +00:00
Eric Leijonmarck 76bc288d67 Service accounts: Remove revertapikeys endpoint (#64020)
* remove revertapikeys endpoints

* remove unused method
2023-03-03 09:03:06 +00:00
9d6ab92e39 Service accounts: Remove Add API keys buttons and remove one state of migrating for API keys tab (#63411)
* add: hide apikeys tab on start

* make use of store method

* added hiding of apikeys tab for new org creation

* missing err check

* removed unused files

* implemennted fake to make tests run

* move check for globalHideApikeys from org to admin

* refactor to remove the fake

* removed unused method calls for interface

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* remove the checkglobal method

* removed duplicate global set const

* add count of apikeys for performance

* remove apikeys adding in UI

* added back deleted file

* added comment on component

* changed wording and copy for hiding and migrating service accounts

* refactor: remove migrationstatus in front/backend

This removes the migrationstatus state from the UI in favor of only
looking at the number of API keys to determine what to show to the user.
This simplifies the logic and makes less calls to the backend with each
page load. This was called both on the API keys page and the Service
accounts page.

- removes the state of migrationstatus from the UI
- removes the backend call
- removes the backend endpoint for migrationstatus

* Update pkg/services/apikey/apikeyimpl/xorm_store.go

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

* changes the contet to also be primary

* change id of version for footer component

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-03-01 15:34:53 +00:00
Eric Leijonmarck c1c0daa13d Service accounts: Fix err message suppressed (#63406)
fix: err message suppresed fix
2023-02-18 11:17:02 +00:00
Eric LeijonmarckandChristopher Moyer 06aec31b55 Auth: Docs add what needs to happen to change oauth_skip_org_role_update_sync (#63203)
* docs: add what needs to happen to change

* refactor docs

* Update docs/sources/setup-grafana/configure-grafana/_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-02-13 22:02:36 -05:00
e42eaeb175 Auth: Docs revamp of skip org role section (#63081)
* docs: revamp of skip org role section

* fix: removed todo

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Revamp docs with LION

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* modifiable

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2023-02-09 15:00:21 +00:00
Eric LeijonmarckandIeva 91b5337600 Auth: Refactoring of frontend skipOrgRoleSync logic to backend (#62921)
* WIP

* refactor: add function in login for externSynced

* refactor: make function to make ExternalSyncedInfo

- adds tests
- refactors strings into consts

* remove: console.log

* remove: unnessecary comment

* added exhaustive tests

* refactor: labelname

* removed unused code

* missspelling

* refactor: based on review comments

* add: comment to functions about authinfo behavior

* Update pkg/services/login/authinfo.go

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

* Update pkg/services/login/authinfo.go

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

* fix: tests

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-02-08 20:11:46 +00:00
Eric LeijonmarckandGabriel MABILLE 7019287f88 Auth: Add deprecation notice for oauth_skip_org_role_update_sync (#62712)
* add: deprecaation notice for overall setting

* add: deprecation notice for configuration files

* chore: update docs with deprecation notice

* refactor: change to note the new setting instead

* Update pkg/setting/setting.go

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

* refactor: based on review comments

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-02-07 15:28:40 +00:00
Eric Leijonmarck 161ff6d310 Auth: Add test for oauth okta skip org role sync (#62547)
* add tests to oauth okta

* refactor: tests to make them work with the new structure

* add: three tests for okta oauth provider
2023-02-06 17:17:03 +00:00
Eric LeijonmarckandAlexander Zobnin ed18a249b8 Refactor: move displayname logic from backend to frontend (#62845)
* remove fallback from backend

* add: displayname logic to frontend

* Update public/app/core/components/RolePicker/utils.ts

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* add: fetchTeamRoles and return earlier

* refactor: change to const

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-02-03 10:39:44 +00:00
Eric Leijonmarck 8ff19bd901 Auth: Add Generic oauth skip org role sync setting (#62418)
* add: generic oauth skip org role sync

* add: docs

* add: backend login skip sync

* fix: docs typo

* add: tests

* remove public key

* fix markdown for generic oauth

* add: generic oauth to the configuration

* refactor: change debug to warn
2023-02-01 16:27:53 +00:00
a232e7ceca Auth: Add skip_org_role_sync for Okta (#62106)
* WIP

* Update pkg/services/login/authinfo.go

* fix: merge

* change order to internal last

* adds: docs

* add: configuration for defaults and sample

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

---------

Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-30 10:54:14 +00:00
Eric Leijonmarck 5531e22f46 Auth: Add disable of team sync for JWT Authentication (#62191)
* fix: disable team sync for JWT Authentication

* add: comment to test

* change test to conform to new expected behavior

* fix: spelling

* formatting
2023-01-27 16:05:25 +01:00
Eric Leijonmarck 27f0c9c70f Auth: Doc change url for getting JWT (#62319)
docs: change url for getting JWT
2023-01-27 14:26:35 +01:00
Eric Leijonmarck c5cb5be3cc Auth: Fix catch both both ErrInvalidAPIKey for context with APIKey (#62193)
* fix: capture both ErrInvalidAPIKey

* rename of variable
2023-01-26 14:42:50 +01:00
6bd11e0ebf Auth: Add skip_org_role_sync setting for github (#61673)
* add: skip_org_role_sync setting for github

* fix: frontend

* rearranged tests

* refactor: assignGrafanaAdmin skip also

* Add: tests for allowGrafanaAdmin

- both for the case when both settings are set and the setting for only
  allowGrafanaAdmin

* Apply suggestions from code review

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update pkg/login/social/github_oauth.go

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

* added vairable inside scope

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

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-01-25 15:16:08 +01:00
Eric LeijonmarckandKarl Persson 143ee0c49f Auth: Add skip_org_role_sync to GitLab OAuth (#62055)
* Auth: Add skip_org_role_sync to GitLab OAuth

- add: tests
- docs added

* Update pkg/login/social/gitlab_oauth.go

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

* fix: for import

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-01-25 13:39:54 +01:00
Eric LeijonmarckandChristopher Moyer 0d42edddbf Auth: Add skip_org_role_sync setting to OAuth integration Google (#61572)
* WIP

* Add: skip_org_role_sync for Google OAuth

- add setting for frontend
- add read of config
- add config to sample and default

* add: docs

* spelling

* Update pkg/login/social/social.go

* Apply suggestions from code review

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* removed unnessecary line

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-01-19 09:54:22 +01:00
Eric Leijonmarck bedd2304d1 Auth: Fix disable/remove duplicate user entries metrics for performance reasons (#61675)
* fix: remove metrics from duplicate user entries

* fix: disable metrics collection for authinfo

* fix: initifine goroutine loop that happened

* removed: metrics
2023-01-18 16:01:47 +01:00
Eric Leijonmarck 07bbc0716c Auth: Fix correct error for updateapikey in context handler (#61544)
* fix: correct error for updateapikey

* refactor: send the correct err forward

* update: based on review
2023-01-16 15:16:06 +01:00
Eric LeijonmarckandChristopher Moyer c5e74ee607 Auth: Add skip_org_role_sync for AzureAD OAuth (#60322)
* [WIP] Auth: add backend skipOrgRoleSync to AzureAD OAuth

- add: skipOrgRoleSync
- rename: skipOrgRoleSync to skipOrgRoleSyncBase (to make it clear that
  it is the base version of SocialBase)
- add: tests for skipOrgRoleSync in AzureAD

TODO:
- [ ] frontend changes

* add: docs

* refactor: remove role from basicinfo

* add: settings for grafanacom

* add: settigns for frontend

* add: logic for azureAD user skip org role

* add: docs for skip_org_role_sync

* refactor: docs a bit

* add: tests for userinfo

* refactor: to only extract if skiporgrolesync false

* refactor: based on review comments

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_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-01-16 13:16:01 +01:00
91322bebb5 Auth: Add skip_org_role_sync setting for GrafanaCom (#60553)
* add frontend settings and setting for grafanacom

* removed println

* add skip-org-role-sync on login

* add deprecation notice for this field

* remove println

* remove newline

* change and renamed variables

* fix for reconfiguring the settings for grafanacom

* add documentationf or grafanacom setup

* WIP tests

* added tests

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* updated steps

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

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

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

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

* doc: updated the docs to reflect what happens to grafana.com users

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

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

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

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

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

* add blankline

* rephrase of doc improvements for explaing of the settings

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* add frontend setting for grafanacom.

* WIP tests

* refactor docs

* frontend to adhere to skipping org role sync for GrafanaCom users

* update docs to reflect desired behavior

* tests: added test for skip and nonskip

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

* Update docs/sources/setup-grafana/configure-grafana/_index.md

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

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-01-12 16:44:08 +01:00
Eric Leijonmarck 371d7850a5 Auth: Service account store refactor (#58961)
* refactor: renaming of files from database to store

* refactor: make service account store private

- moves store interface to manager package
- adds an interface to the ProvideAPI constructor
- refactors tests to use the store when necessary
- adds mocks for the new interface implementations in the tests package

* wip

* refactor: make fakestore in service

* wip

* wip

* wip

* working tests

* trailing whitespaces

* Update pkg/services/serviceaccounts/api/api.go

* Update pkg/services/serviceaccounts/tests/common.go

* Update pkg/services/serviceaccounts/tests/common.go

* refactor: doc string for retriever

* fix import unused

* remove: serviceaccount from featuretoggle

* added: back legacy serviceaccounts feature toggle

* added: docs

* refactor: make query for the SearchQuery

* add: validation of service input fields

* add validation
2022-12-13 14:56:10 +01:00
Eric Leijonmarck 8a0e0584ba Auth: Add caseinsensitive check for ingestion command (#59129)
add: check for caseinsensitive configuration and have that on during ingestion
2022-11-29 09:56:51 +00:00
Eric Leijonmarck 2a6ed76e54 [Docs] Edit terraform example and doc for file generation (#58822)
* docs: update terraform example and doc for file generation

* docs: updated the documnettaion to include the help command with fields included

* Update pkg/cmd/grafana-cli/commands/commands.go

* docs: add help command
2022-11-17 05:24:07 -05:00
Eric LeijonmarckandIeva 76947b10e2 Auth: conflicting users validation improvements (#58136)
* WIP

* add: better validation of conflict file

* add: better description of validation and ingest command

* add: check for at least one user to delete

* add: example in terraform to setup for conflicts

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

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

* Add: print of conflict block for error

- adds conflict block to error output for validation of the file to
  easier diagnose in the file

* fix: formatting of errors

* fix: info strings improvements

* add: default 0 to blocks to check for users

* fixed: tests

* test integration

* fix strings fmt

* set store in resolver

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2022-11-07 18:12:17 +00:00
Eric Leijonmarck 72d0c6b428 Auth: add IsServiceAccount to IsRealUser (#58015)
* add: IsServiceAccount to SignedInUser and IsRealUser

* fix: linting error

* refactor: add function IsServiceAccountUser()

By adding the function IsServiceAccountUser() we use it to identify for
ServiceAccounts in the HasUniqueID() since caching is built up on having
a uniqueID, see comment: https://github.com/grafana/grafana/pull/58015#discussion_r1011361880
2022-11-04 12:39:54 +00:00
Eric Leijonmarck fc1b647474 Auth: Add fixed repeat migration w. checks for subset of permissions (#58054)
* add: added a repeat migration w. fixed checks for permissions

* add: migration to migrations

* refactor: fix migration instead of making a new one

* fix: removed the old id

* fix: keep old name but change id

* add: migration for patched previous migration

* add: migration from missing file
2022-11-03 08:57:20 +00:00
Eric Leijonmarck c43e97cf37 Docs: Add prerequisites to enable auth.jwt for url login (#57806)
* docs: add prerequisites

* Update docs/sources/setup-grafana/configure-security/configure-authentication/jwt/index.md
2022-11-01 17:21:07 -04:00
Eric Leijonmarck 924d6a82a3 add: postgresql as a database for resolving conflicts (#57466) 2022-10-24 10:59:26 +01:00
Eric Leijonmarck fa45742abc Quota(fix): remove service accounts from quota count (#56700) 2022-10-18 12:26:38 +01:00
Eric Leijonmarck 53f0928321 Docs: Add variable expansion recommendation (#56368)
* docs: add variable expansion recommendation

* docs: updated the ldap docs in configure grafana
2022-10-07 17:04:37 +01:00
Eric Leijonmarck 4200d7b246 Auth: fix check for conflict login in validation (#56154)
* fix: check for conflict login

* review comment fix
2022-10-03 06:24:26 -04:00
Eric Leijonmarck f7de253cdd fix: remove permission grouping (#56157) 2022-10-03 10:59:24 +02:00
1e8f8dff4b Auth: Adds validation and ingestion of conflict file (#53014)
* add users-manager command

* add users-manager command

* rename files

* refactor: imports and renaming

* Command: add conflict merge user command

- MergeUser will
	- replace all user_ids from conflicting users to the chosen userId
	- delete users whose user_ids are not the chosen user
- SameIdentification will
	- update chosen user with chosen email,login details
	- delete users whose user_ids are not the chosen user

* refactor: clean up

* refactor: create structure for read, validate, ingest

* feat: ls and generate-file for conflicting users

* remove usagestats

* added back pkg/services/login/authinfoservice/database/stats.go

* Revert "added back pkg/services/login/authinfoservice/database/stats.go"

This reverts commit 2ba6e3c4d6.

* Revert "remove usagestats"

This reverts commit 1e3fa97810.

* cherry pick

* Revert "cherry pick"

This reverts commit 461626c306.

* validation of picked merge user

* fix test

* make lint

* make test run

* tests for ingest working

* clean up and refactored to align with downstream refactoring

* formatting

* refactor: name list instead of ls

* fix: static lint error use trimprefix

* WIP: permissions for validation

* fix: remove unused functions in sqlstore

* fix: remove unused function

* handling of multiple users and resolve discarded users

* fix tests

* fix: bug that did not exclude the blocks

* ioutil is blacklisted

* WIP: validation

* tests for merging a user working

* add latest changes to output print

* refactor: removed conflictEmail and conflictLogin that was not used

* refactor: code clean up, showChanges working

* test and linting fixes

* test and linting fixes

* refactor: removed logging of config and added more info for vlidation command

* refactor: fix order of code

* fix time now

* refactor: no longer need for check casesensitive login/email

* removed unnessecary loop

* refactor: move functions around

* test: working

* docs: add docuemntationf for file

* Add failing test for generating the conflict login block

* Fix regex

* Fix some stuff/tests

Co-authored-by: eleijonmarck <eric.leijonmarck@gmail.com>

* add: docs for conflict file

* add: conflict_email, conflict_login fields

* add: conflict_email, conflict_login fields

* WIP

* fix: tests working as intended

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>

* review comments

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* Update pkg/cmd/grafana-cli/commands/conflict_user_command.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

* missspelling

* trailing new line

* update to use userimpl store

* remove newline

* remove newline

* refactor: initializing of resolver for conflicts

* fix: test sqlStore

* refactor: removed lines

* refactor: remove TODOs

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2022-09-29 14:26:24 +02:00
Eric LeijonmarckandMarcus Efraimsson 9cdd1cde7f fix: order of database (#55232)
* fix: order of database

* fix: sort of results

* Update pkg/api/dtos/models_test.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Update pkg/api/dtos/models_test.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* only one assert

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-16 05:24:24 -04:00
Eric LeijonmarckandMarcus Efraimsson 1d298b3e53 fix: min metric to hourly metric (#55228)
* fix: min metric to hourly metric

* Update pkg/services/login/model.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-15 14:17:34 +02:00
Eric Leijonmarck dc8eb0b777 Print package error message for deprecated io/ioutil (#53665)
* Add: package error message for io/util

* added a ioutil for testing ci

* Revert "added a ioutil for testing ci"

This reverts commit 8c324ccf8a.

* removed spaces
2022-08-12 09:57:42 -04:00
Eric Leijonmarck cac3833b8e Auth: Add cli command users-manager for conflict resolution (#52344)
* add users-manager command

* add users-manager command

* rename files

* refactor: imports and renaming

* Command: add conflict merge user command

- MergeUser will
	- replace all user_ids from conflicting users to the chosen userId
	- delete users whose user_ids are not the chosen user
- SameIdentification will
	- update chosen user with chosen email,login details
	- delete users whose user_ids are not the chosen user

* refactor: clean up

* refactor: create structure for read, validate, ingest

* feat: ls and generate-file for conflicting users

* remove usagestats

* added back pkg/services/login/authinfoservice/database/stats.go

* Revert "added back pkg/services/login/authinfoservice/database/stats.go"

This reverts commit 2ba6e3c4d6.

* Revert "remove usagestats"

This reverts commit 1e3fa97810.

* cherry pick

* Revert "cherry pick"

This reverts commit 461626c306.

* fix test

* make lint

* make test run

* clean up and refactored to align with downstream refactoring

* formatting

* refactor: name list instead of ls

* fix: static lint error use trimprefix

* fix: remove unused functions in sqlstore

* fix: remove unused function

* handling of multiple users and resolve discarded users

* fix tests

* fix: bug that did not exclude the blocks

* ioutil is blacklisted

* should not run tests for mysql

* fix tests
2022-08-12 14:47:31 +01:00
Eric Leijonmarck f6985835aa Chore: update latest.json to 9.0.6 (#53095) 2022-08-02 04:45:52 -04:00
Eric Leijonmarck fb24ff3081 Auth: Add prometheus metrics for case insensitive ids (#52162)
* rename file

* add promstats for authinfostore every 4h

* add mixed cased users

* cherry pick and cleanup

* fix: query login,email instead of count()

* FIX: mysql missing alias to subquery

* fix: query working on mysql, sqllite3, and pg
2022-07-21 18:11:35 +01:00
Eric Leijonmarck 58a4122624 Fix: Comment out flaky tests for TestReadProm (#52243)
* comment out flaky test

* commented out unused functions

* using t.skip()

* disable linting
2022-07-14 17:42:13 +01:00
Eric LeijonmarckandIevaVasiljeva 0f919671e7 Service accounts: Add service account to teams (#51536)
* Revert "Serviceaccounts: #48995

Do not display service accounts assigned to team (#48995)"

This reverts commit cbf71fbd7f.

* fix: test to not include more actions than necessary

* adding service accounts to teams - backend and frontend changes

* also support SA addition through the old team membership endpoints

* fix tests

* tests

* serviceaccounts permission tests

* serviceaccounts permission service tests run

* added back test that was removed by accident

* lint

* refactor: add testoptionsTeams

* fix a bug

* service account picker change

* explicitly set SA managed permissions to false for dash and folders

* lint

* allow team creator to list service accounts

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2022-07-06 05:34:36 -04:00
Eric Leijonmarck c5089f1595 Service accounts: add usagestats for teams (#51585)
* remove enabled service account count

* add service account count in teams

* removed unnessecary comment
2022-06-30 11:05:49 +02:00