如何设置Grafana以无需密码查看仪表板

84
尽管进行了这些设置,但Grafana仍需要使用密码才能查看仪表板。请问有人可以帮我设置正确吗?
[auth.anonymous]
# enable anonymous access
enabled = true

[auth.basic]
enabled = false

1
这个更改可以生效,但用户仍然可以浏览和查看所有的仪表板,我只想让他们通过链接查看,是否需要额外的设置?嵌入选项可以工作,但从3000端口他们仍然可以查看所有内容。 - Srinath Ganesh
请参见 https://grafana.com/docs/auth/overview/#anonymous-authentication。 - Stefan Birkner
7个回答

89

感谢 @Donald Mok 的回答;我只是想尽可能地让它更清晰。在 Grafana 界面上,您可以创建一个组织。然后,您可以为该组织创建一些仪表板。因此,有一个问题,您需要为匿名用户指定组织。而且它应该是真实的组织(适用于您的 Grafana)。匿名用户将只能看到来自该组织的仪表板。

#################################### Anonymous Auth ##########################
[auth.anonymous]
# enable anonymous access
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = ORGANIZATION

11
匿名用户是否可以查看来自多个组织的仪表板? - Rickkwa
3
这真正救了我:D - FranzHuber23
1
请注意,Grafana中的匿名用户今天仍然可以访问某些菜单,包括Explore。 - Melroy van den Berg
1
没有一个答案对我有用,我仍然被呈现出登录表单,或者如果disable_login_form=true,则显示“欢迎来到Grafana”消息,但无法绕过它。Grafana版本为7.3.0。我的目标是永远不要看到登录表单。 - Dmitry z
这仍然有效,并在此处记录: https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/grafana/#anonymous-authentication - davegallant
显示剩余2条评论

33

要为匿名用户设置登录,您需要在default.ini / grafana.ini文件(Grafana \ conf)中进行这些小的配置更改。

  1. 如果要隐藏登录页面,请执行以下配置:

    [auth]
    # Set to true to disable (hide) the login form, useful if you use OAuth
    #disable_login_form = false 
    disable_login_form = true
    

    disable_login_form更改为true

  2. 启用匿名访问:

  3. [auth.anonymous]
    # enable anonymous access 
    enabled = true
    
  4. 指定组织:

    # specify organization name that should be used for unauthenticated users
    org_name = YOUR_ORG_NAME_HERE
    
    重新启动Grafana,您应该能够看到Grafana仪表板。如果不能,请将您的组织角色从“查看者”更改为“编辑者”:
  5. # specify role for unauthenticated users
    org_role = Editor
    

这个不再起作用了。 - Matteo
@Matteo,已经过去将近4年了,我不确定这个。 - Mahadev Gouda

12

我曾经遇到过这个问题,但在我的情况下根本原因是一个微小的错误。 我检查了grafana.log文件并发现:

"2016/02/12 09:24:57 [middleware.go:62 initContextWithAnonymousUser()] [E] 匿名访问组织错误:'匿名 Org.': 组织未找到"

我更改了grafana.ini中的org_name,并重新启动Grafana后,一切都按照我的意图进行得很好。

我建议您检查一下grafana.log文件,看看配置出了什么问题。


6

首先,您的配置应该像这样:

[auth.anonymous]
# enable anonymous access 
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = ORGANIZATION

# specify role for unauthenticated users
org_role = Viewer

[auth]
# Set to true to disable (hide) the login form, useful if you use OAuth
disable_login_form = true

接下来你需要在Grafana网站的Server Admin页面上创建一个与您在此处指定的名称完全相同的组织:org_name = ORGANIZATION

然后,如果您创建了一个包含一些面板的仪表板,您可以使用<iframe>共享该仪表板或特定面板,您可以在这里找到更多信息。


1
这是我的问题。配置没问题,但 org_name 没有指向现有的组织。在仪表板中创建它(或重命名默认组织)即可解决。 - bfontaine

6
首先,在grafana.ini文件中调整以下值:
[auth.anonymous]
# enable anonymous access
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = YOUR_ORG_NAME_HERE

# specify role for unauthenticated users
org_role = SOME_USER_NAME_HERE # e.g. Anonymous

现在,重新启动 Grafana 后,请登录并确保除 admin 外还创建了另一个用户。如果没有,请创建一个。用户创建对话框中的值实际上对于完成任务来说并不重要。
最后,在全局组织下设置与您的 grafana.ini 值匹配的相同组织名称。同时,请确保您创建的用户具有您在 grafana.ini 中设置的角色(在我的示例中,角色将是 "Anonymous")。

0

这是我为我的Caddy代理所做的事情,它已经使用客户端证书进行了身份验证。请注意,这仍然会将您的数据源暴露给公众!请确保在grafana.ini中用您的电子邮件替换your@email.com和Caddy代理IP。

Caddyfile

grafana.****.***, gf.****.*** {
    tls your@email.com {
        clients /mnt/user/appdata/caddy/conf/ca.crt
    }

    proxy / http://10.0.1.39:3000 {
        transparent
        websocket
        insecure_skip_verify
        header_upstream X-WEBAUTH-USER "admin"
    }
}

gf-pub.****.*** {
    tls your@email.com

    proxy / http://10.0.1.39:3000 {
        transparent
        websocket
        insecure_skip_verify
        header_upstream X-WEBAUTH-USER "public"
    }
}

grafana.ini

[auth.proxy]
enabled = true
header_name = X-WEBAUTH-USER
header_property = username
enable_login_token = false
whitelist = 10.0.1.3 <-- Your Caddy IP

0
详细说明Jimilian的回答,针对一种特殊情况,即完全新鲜和空白的Grafana,您希望配置为在没有任何用户管理的情况下工作(例如单用户本地安装):在这种情况下,组织需要是“Main org.”(包括尾随的点)。这也是默认设置,因此在这种情况下,您可以省略配置文件中的“org_name”设置。
当然,在这种情况下,您的匿名用户需要额外的权限。这种情况下的完整配置可能如下所示:
[auth.anonymous]
enabled = true
org_role = Admin

[auth.basic]
enabled = false

[auth]
disable_login_form = true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接