;设置;配置安全;配置身份验证

配置身份验证

Grafana提供了许多验证用户身份的方法。一些身份验证集成还支持同步用户权限和组织成员。

下表显示了所有受支持的身份验证提供程序以及它们可用的特性。团队同步而且动态同步只在Grafana企业版可用。

提供者 支持 角色映射 团队同步
(企业)
动态同步
(企业)
身份验证代理 v2.1 + - v6.3 + -
Azure AD OAuth v6.7 + v6.7 + v6.7 + -
通用的OAuth v4.0 + v6.5 + - -
GitHub OAuth v2.0 + - v6.3 + -
GitLab OAuth v5.3 + - v6.4 + -
谷歌OAuth v2.0 + - - -
JWT v8.0 + - - -
LDAP v2.1 + v2.1 + v5.3 + v6.3 +
Okta OAuth v7.0 + v7.0 + v7.0 + -
SAML(企业) v6.3 + v7.0 + v7.0 + -

Grafana身份验证

当然,Grafana有一个内置的用户身份验证系统,默认情况下启用密码身份验证。可以通过启用匿名访问来禁用身份验证。您还可以隐藏登录表单,只允许通过认证提供程序(上面列出的)登录。也有允许自我注册的选项。

登录和短命令牌

当使用Grafana内置的用户身份验证、LDAP(没有Auth代理)或OAuth集成时,以下情况适用。

Grafana使用短期令牌作为验证已验证用户的机制。这些短命的标记每个都被旋转token_rotation_interval_minutes用于已认证的活动用户。

使令牌旋转的活动身份验证用户将扩展login_maximum_inactive_lifetime_duration从“现在”开始,Grafana将记住用户。这意味着用户可以关闭浏览器并返回现在+ login_maximum_inactive_lifetime_duration而且还在被验证。这是真的,只要用户登录的时间小于login_maximum_lifetime_duration

远程注销

您可以从配置文件页面底部删除登录会话,从而从其他设备注销。如果你是一个Grafana管理用户,你也可以在服务器管理/编辑用户视图中为任何用户做同样的事情。

设置

例子:

[auth] #登录cookie名称login_cookie_name = grafana_session #通过认证的用户在下次访问时被要求登录之前可以处于非活动状态的最大生命周期(持续时间)默认为7天(7d)。该设置应以持续时间表示,例如5m(分钟)、6h(小时)、10d(天)、2w(周)、1M(月)。生命周期在每次成功的令牌旋转(token_rotation_interval_minutes)时重置。login_maximum_inactive_lifetime_duration = #从被要求登录之前的登录时间开始,通过身份验证的用户可以登录的最大生存时间(持续时间)。默认为30天(30d)。该设置应以持续时间表示,例如5m(分钟)、6h(小时)、10d(天)、2w(周)、1M(月)。login_maximum_lifetime_duration = #当处于活动状态时,对于已验证的用户,应该多久轮换一次身份验证令牌。默认为10分钟一次。token_rotation_interval_minutes = 10 #一个API密钥可以使用的最大生命周期(秒)。 If it is set all the API keys should have limited lifetime that is lower than this value. api_key_max_seconds_to_live = -1

匿名身份验证

通过在配置文件中启用匿名访问,您可以在不需要任何登录的情况下访问Grafana。

例子:

(身份验证。anonymous] enabled = true #未认证用户使用的组织名称org_name =主组织。#未认证用户的角色,其他有效值为' Editor '和' Admin ' org_role = Viewer

如果您在Grafana UI中更改了组织名称,则需要更新此设置以匹配新名称。

基本身份验证

默认情况下启用基本身份验证,并与内置的Grafana用户密码身份验证系统和LDAP身份验证集成一起工作。

禁用基本认证。

(身份验证。enabled = false

禁用登录表单

您可以使用下面的配置设置隐藏Grafana登录表单。

[auth] disable_login_form = true

自动OAuth登录

设置为true则尝试自动使用OAuth登录,跳过登录屏幕。如果配置了多个OAuth提供程序,则忽略此设置。默认为

[auth] oauth_auto_login = true

避免自动OAuth登录

若要使用用户名和密码登录并避免自动OAuth登录,请添加disableAutoLogin参数到您的登录URL。例如:grafana.example.com/login ? disableAutoLogingrafana.example.com/login ? disableAutoLogin = true

隐藏签出菜单

将下面详细的选项设置为true以隐藏签出菜单链接。如果您使用认证代理或JWT身份验证,则非常有用。

[auth] disable_signout_menu = true

退出后URL重定向

用户从Grafana退出后重定向到的URL。例如,这可以用于启用OAuth提供程序的签出。

[auth] signout_redirect_url =

受保护的角色

注意:可以在Grafana企业而且Grafana云高级

默认情况下,配置授权提供程序后,Grafana将采用现有用户到新的身份验证方案中。例如,如果您已经创建了一个具有基本身份验证的用户jsmith@example.com,然后在其中设置SAML身份验证jsmith@example.com是帐户,如果用户执行SAML登录,则用户的身份验证类型将更改为SAML。

属性可以为某些角色禁用此用户采用protected_roles属性:

(身份验证。protected_roles = server_admins org_admins

的价值protected_roles应该是要保护的角色列表,用空格分隔。有效角色包括观众编辑器org_adminsserver_admins,所有(其他角色的超集)。