2018-08-13 07:28:41 -05:00
+++
title = "Overview"
description = "Overview for auth"
type = "docs"
[menu.docs]
name = "Overview"
identifier = "overview-auth"
parent = "authentication"
weight = 1
+++
2018-09-06 05:11:56 -05:00
# User Authentication Overview
2018-08-13 07:28:41 -05:00
2020-05-15 16:33:37 -05:00
Grafana provides many ways to authenticate users. Some authentication integrations also enable syncing user permissions and org memberships.
2018-08-31 00:15:07 -05:00
2020-05-13 04:23:01 -05:00
Here is a table showing all supported authentication providers and the features available for them. [Team sync ]({{< relref "../enterprise/team-sync.md" >}} ) and [active sync ]({{< relref "../enterprise/enhanced_ldap.md#active-ldap-synchronization" >}} ) are only available in Grafana Enterprise.
Provider | Support | Role mapping | Team sync< br > *(Enterprise only)* | Active sync< br > *(Enterprise only)*
-------- | :-----: | :----------: | :-------: | :---------:
[Auth Proxy ]({{< relref "auth-proxy.md" >}} ) | v2.1+ | - | v6.3+ | -
[Azure AD OAuth ]({{< relref "azuread.md" >}} ) | v6.7+ | v6.7+ | v6.7+ | -
[Generic OAuth ]({{< relref "generic-oauth.md" >}} ) | v4.0+ | v6.5+ | - | -
[GitHub OAuth ]({{< relref "github.md" >}} ) | v2.0+ | - | v6.3+ | -
[GitLab OAuth ]({{< relref "gitlab.md" >}} ) | v5.3+ | - | v6.4+ | -
[Google OAuth ]({{< relref "google.md" >}} ) | v2.0+ | - | - | -
[LDAP ]({{< relref "ldap.md" >}} ) | v2.1+ | v2.1+ | v5.3+ | v6.3+
[Okta OAuth ]({{< relref "okta.md" >}} ) | v7.0+ | v7.0+ | v7.0+ | -
[SAML ]({{< relref "../enterprise/saml.md" >}} ) (Enterprise only) | v6.3+ | v7.0+ | v7.0+ | -
2018-08-31 00:15:07 -05:00
2018-09-06 05:11:56 -05:00
## Grafana Auth
2018-08-13 07:28:41 -05:00
2018-09-20 08:16:43 -05:00
Grafana of course has a built in user authentication system with password authentication enabled by default. You can
2018-09-06 05:11:56 -05:00
disable authentication by enabling anonymous access. You can also hide login form and only allow login through an auth
provider (listed above). There is also options for allowing self sign up.
2018-08-13 07:28:41 -05:00
2019-02-05 14:10:56 -06:00
### Login and short-lived tokens
2019-02-13 12:52:27 -06:00
> The following applies when using Grafana's built in user authentication, LDAP (without Auth proxy) or OAuth integration.
2019-02-05 14:10:56 -06:00
Grafana are using short-lived tokens as a mechanism for verifying authenticated users.
These short-lived tokens are rotated each `token_rotation_interval_minutes` for an active authenticated user.
An active authenticated user that gets it token rotated will extend the `login_maximum_inactive_lifetime_days` time from "now" that Grafana will remember the user.
This means that a user can close its browser and come back before `now + login_maximum_inactive_lifetime_days` and still being authenticated.
This is true as long as the time since user login is less than `login_maximum_lifetime_days` .
2019-07-05 01:20:21 -05:00
#### Remote logout
You can logout from other devices by removing login sessions from the bottom of your profile page. If you are
a Grafana admin user you can also do the same for any user from the Server Admin / Edit User view.
## Settings
2019-02-05 14:10:56 -06:00
Example:
```bash
[auth]
# Login cookie name
login_cookie_name = grafana_session
# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
login_maximum_inactive_lifetime_days = 7
2019-02-06 02:43:45 -06:00
# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
2019-02-05 14:10:56 -06:00
login_maximum_lifetime_days = 30
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
token_rotation_interval_minutes = 10
2019-06-26 01:47:03 -05:00
2020-05-18 15:56:23 -05:00
# The maximum lifetime (seconds) an API key can be used. If it is set all the API keys should have limited lifetime that is lower than this value.
2019-06-26 01:47:03 -05:00
api_key_max_seconds_to_live = -1
2019-02-05 14:10:56 -06:00
```
2018-09-20 08:16:43 -05:00
### Anonymous authentication
2018-09-06 05:11:56 -05:00
You can make Grafana accessible without any login required by enabling anonymous access in the configuration file.
Example:
```bash
[auth.anonymous]
enabled = true
# Organization name that should be used for unauthenticated users
org_name = Main Org.
# Role for unauthenticated users, other valid values are `Editor` and `Admin`
org_role = Viewer
```
If you change your organization name in the Grafana UI this setting needs to be updated to match the new name.
### Basic authentication
Basic auth is enabled by default and works with the built in Grafana user password authentication system and LDAP
2018-10-06 10:09:41 -05:00
authentication integration.
2018-09-06 05:11:56 -05:00
To disable basic auth:
```bash
[auth.basic]
enabled = false
```
### Disable login form
You can hide the Grafana login form using the below configuration settings.
```bash
[auth]
2018-05-28 09:15:31 -05:00
disable_login_form = true
```
### Automatic OAuth login
2018-11-22 08:59:15 -06:00
Set to true to attempt login with OAuth automatically, skipping the login screen.
This setting is ignored if multiple OAuth providers are configured.
2018-05-28 09:15:31 -05:00
Defaults to `false` .
```bash
[auth]
oauth_auto_login = true
2018-09-06 05:11:56 -05:00
```
### Hide sign-out menu
2020-02-13 12:34:01 -06:00
Set the option detailed below to true to hide sign-out menu link. Useful if you use an auth proxy.
2018-09-06 05:11:56 -05:00
```bash
[auth]
disable_signout_menu = true
```
2018-11-22 08:59:15 -06:00
### URL redirect after signing out
2020-05-18 15:56:23 -05:00
URL to redirect the user to after signing out from Grafana. This can for example be used to enable signout from OAuth provider.
2018-11-22 08:59:15 -06:00
```bash
[auth]
signout_redirect_url =
```