kibana权限管理

实际操作步骤

  • 创建工作区,设置工作区左侧导航的菜单是否显示 (只是设置隐藏,并不是这是权限访问的)

  • 创建角色,设置对指定索引的读写

  • 给角色指定kibana权限,选定第一步创建的工作区,设置角色对这些菜单栏是否有访问权限 (隐藏的没有访问权限,显示的有访问权限)

  • 添加用户,设置用户角色,选择第二步创建的角色,并且用户想要访问登录到kibana中,还需要给用户设置kibana_system角色才行 (不是kibana_admin角色)

  • 查看实际效果
    1.登录后直接显示的是指定的工作区

2.左侧菜单栏显示

权限简介

权限维度

可用于控制用户对集群 API 和索引的访问权限;通过针对 Kibana Spaces 的安全功能,还可允许在 Kibana 中实现多租户。

权限分离

  • RBAC / Role Based Access Control :Resource 面向指定的资源
  • index / aliases / documents / fields : Permissions 所具有的操作权限列表,如可读、可写等
  • Privileges 具体的权限,如可读权限
  • Role 最终被绑定到相关 User 才能生效,内置了 superuser、kibana_admin、kibana_user等一些常用角色,用于绑定到内置的用户

Space维度

Space是Elastic 6.5版本引入的新特性,便于企业分组管理。
比如:开发、测试、运维、产品可以是不同的视角
案例:开发人员,只允许使用enterprise search模块,其他模块禁用

  • 新建spaces

  • 重新登陆,切换space

  • 查看功能模块

角色维度

用户维度

操作实战

角色配置

  • 创建logs_index_rw 角色,对kibana_sample_data_logs这个index具备读和写权限
# 请求
POST /_security/role/logs_index_rw
{
  "indices": [
    {
      "names": ["kibana_sample_data_logs"],
      "privileges": ["read","write"]
    }
  ]
}
# 响应
{
  "role" : {
    "created" : true
  }
}
  • 创建data_index_r角色,对data*的index具备读权限
# 请求
POST /_security/role/user_data_r
{
  "indices": [
    {
      "names": ["data*"],
      "privileges": ["read"]
    }
  ]
}
# 响应
{
  "role" : {
    "created" : true
  }
}

用户配置

  • 创建用户tom,绑定角色logs_index_rw,user_data_r
# 请求
POST /_security/user/tom
{
  "password": "123456",
  "roles": [
    "logs_index_rw",
    "user_data_r"
  ],
  "full_name": "tom",
  "email": "tom@example.com"
}
# 响应
{
  "created" : true
}

修改密码

# 修改tom用户密码
POST /_security/user/tom/_password
{
  "password" : "123456"
}

  • 注意kibana访问注意需要配置kibana-role的权限,否则无法登录。

posted @ 2023-08-10 11:23  哈喽哈喽111111  阅读(302)  评论(0编辑  收藏  举报