You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Docker Compose启用Elasticsearch和Kibana用户角色?配置面板缺失求助

解决Kibana 6.2.4找不到安全配置面板并创建仪表盘只读用户

我来帮你搞定这个问题,针对Elasticsearch 6.2.4铂金版和Kibana 6.2.4的场景,咱们一步步排查解决:

一、先搞定「安全配置面板不显示」的问题

Elasticsearch铂金版的安全模块在6.x版本里有严格的配置要求,没满足的话Kibana就不会显示安全管理入口,你可以按下面的步骤检查:

  • 确认Elasticsearch安全模块已启用并配置SSL
    打开你的Elasticsearch节点配置文件(elasticsearch.yml),确保有以下配置:

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    

    划重点:6.x版本里启用安全模块必须同时开传输层SSL,不然安全功能根本跑不起来。

  • 检查Kibana的安全配置是否正确
    打开Kibana的配置文件(kibana.yml),添加或修改这些参数:

    xpack.security.enabled: true
    elasticsearch.username: "kibana"
    elasticsearch.password: "你的kibana账号密码"
    

    这里的kibana是Elasticsearch专门给Kibana用的系统账号,如果你之前配置安全时没自动创建,得手动在ES里先建好这个账号(用超级管理员账号通过API或后续出现的安全面板创建)。

  • 重启服务生效
    修改完配置后,用Docker Compose重启两个服务:

    docker-compose restart elasticsearch
    docker-compose restart kibana
    

    重启后重新登录Kibana,去Management页面看看,应该就能看到Security(安全)选项卡了。

二、创建仅能读仪表盘的用户

安全面板正常显示后,按下面的步骤创建只读用户:

  1. 进入用户管理页面
    登录Kibana后,点左侧导航栏的Management,然后选Security下的Users选项。

  2. 新建用户
    点页面右上角的Create user,填好基础信息:

    • Username:比如叫dashboard_reader
    • Password:设置一个安全的密码
    • 全名、邮箱这些可选填
  3. 配置只读角色
    切换到Roles标签页,咱们需要给用户配一个自定义的只读角色(比内置角色更精准):

    • 先点Create role新建角色(比如命名dashboard_read_only):
      • 在Indices板块,添加Kibana相关索引(默认是.kibana*),权限选read和view_index_metadata
      • 在Kibana Privileges板块,选默认空间Default,然后把权限设为read(只读)
      • 保存这个角色
    • 回到新用户的配置页,把刚创建的dashboard_read_only角色分配给用户就行(如果需要基础的Kibana访问权限,也可以叠加内置的kibana_user角色,但注意这个内置角色有少量编辑权限,优先用自定义角色更稳妥)
  4. 验证权限
    用新创建的dashboard_reader账号登录Kibana,试试编辑仪表盘、新建可视化内容,确认只能查看不能修改就OK了。

应急方案:如果还是看不到安全面板

要是按上面配置后还是没显示安全面板,直接用Elasticsearch的API来创建角色和用户也行:

1. 创建只读角色

用超级管理员账号发PUT请求:

curl -u elastic:你的超级管理员密码 -XPUT "http://localhost:9200/_xpack/security/role/dashboard_read_only" -H 'Content-Type: application/json' -d'
{
  "indices": [
    {
      "names": [".kibana*"],
      "privileges": ["read", "view_index_metadata"]
    }
  ],
  "kibana": [
    {
      "base": [],
      "feature": {
        "dashboard": ["read"],
        "visualize": ["read"]
      },
      "spaces": ["default"]
    }
  ]
}
'

2. 创建用户并分配角色

同样用超级管理员账号发PUT请求:

curl -u elastic:你的超级管理员密码 -XPUT "http://localhost:9200/_xpack/security/user/dashboard_reader" -H 'Content-Type: application/json' -d'
{
  "password": "你的用户密码",
  "roles": ["dashboard_read_only"],
  "full_name": "Dashboard Read Only User"
}
'

创建完后用这个账号登录Kibana,权限应该就生效了。

内容的提问来源于stack exchange,提问作者Guid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 07:02:44