Elastic安全机制

在很多的情况下,出于安全的原因,我们需要对不同的Kibana用户分配不同的用户权限,这样使得他们之间不能互相访问彼此的资源,同

时他们也应该对不同的索引拥有不同的权限,比如读,写,管理等等。Elastic Security通过基于角色的功能提供授权存取控制(RBAC-

Role Based Access Control)。

一个用户可拥有不同的role,并且每一个role都含有不同操作权限。使用RBAC,您可以控制访问通过定义:

  • users:创建具有不同的属性的账号(username, full name,邮件,及相应的roles)
  • roles:分配一组命名权限,Elasticsearch里含有有多个内置角色
  • resources:限制访问的实体,比如document或一个索引
  • privileges:代表一个或多个动作的命名组可以在资源上执行
  • permissions:应用于一个特权的一组一个或多个特权或更多资源

什么是Space(空间)?

通过Space可以组织仪表板和其他将对象保存到有意义的类别中。在默认的情况下这个功能是启动的。可以在elasticsearch.yml文件中进

行配置:

xpack.spaces.enabled: false

上面的配置将使得这个功能被取消。

在一个空间内创建的对象只能从该空间进行访问。启用安全性后,您可以控制哪个用户拥有访问哪些空间。来自特定空间的已保存对象将

被标记为在该空间的对象。

在默认的情况下,Kibana在启动时帮我们创建一个名字叫做Default的空间。当我们从一个没有空间的版本升级后,那么所有

的visualization将会被存于Default的空间里。当我们创建一个Space时,它只需要一个名字,它被用来生产URL识别符,我们还可以加入

一些描述符。

准备工作

  1. 安装好elasticsearch和kibana

  2. 开启x-pack,并设置好默认用户的密码等

  3. 登录kibana界面

  4. 创建space

    4.1 点击左上角的Space空间,默认是Defalut,点击“Manage Sapce”。进入到Space界面后,点击右上角的“Create a space”.输入名称,然后点击“Create space”.

    如下图所示:

4.2 同样操作创建另一个space,如下图所示:

4.3 最终显示界面信息:

  1. 创建角色Role

    5.1 点击“Management”,再点击“Security”下面的“Roles”,点击右上角的“Create role”,操作步骤如下图所示:

5.2 创建另一个角色test2,操作步骤同上,效果如下:

  1. 创建用户。点击“Management”,再点击“Security”下面的“Users”,点击右上角的“Create user”,按步骤创建就行了,选择上一步创建的角色,最终效果如下:

  1. 点击右上角的space,切换到Test1这个space

然后点击“Dev Tools”工具,在这个Test1 space下创建一个索引test1:

```
PUT /test1/_doc/1
{
"name":"test1"
}
``` **注意:我这边是先创建的role管理的索引,后创建的索引,注意索引名称** 然后回到“Management”下的“Kibana”的“Index Patterns”,创建一个索引模式,输入的时候会提示有test1和test2,但是我们只选择test1,最终效果如下:

然后再点击右上角的space,切换到Test2这个space,按照上述步骤,创建一个索引test2:

```
PUT /test2/_doc/1
{
"name":"test2"
}
``` 然后回到“Management”下的“Kibana”的“Index Patterns”,创建一个索引模式,输入的时候会提示有test1和test2,但是我们只选择test2,最终效果如下:

  1. 然后点击左边导航第一个“Discover”,会发现,在test1这个space下只能看到test1*, 在test2这个space下只能看到test2*,在default这个默认的space下看不到任何索引。

总结:深刻理解这句话:在一个空间内创建的对象只能从该空间进行访问

若是已有索引模式,则可以先删除索引模式,然后创建space,创建角色,创建用户等,切换到创建的space,再创建索引模式。也就是说需要在这个space下进行操作才行。

使用kibana给不同的用户创建不同的space的更多相关文章

  1. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  2. oracle用户创建及权限设置及表空间

    建立表空间: create tablespace portx_data datafile 'D:\oracle_data\portx.dbf' size 50m autoextend on next ...

  3. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  4. oracle用户创建及权限设置

    权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...

  5. vsftpd虚拟用户创建实例(转载)

    vsftpd虚拟用户创建实例 发布:theboy   来源:net     [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下.  vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...

  6. linux用户创建删除以及文件权限查看修改

    一. 1.查看用户 命令如下:whoami 2.创建用户 创建用户命令:sudo adduser hello 超级用户是 root 删除用户名命令:sudo deluser hello --remov ...

  7. SAP CRM 为用户创建业务合作伙伴并分配到组织单位

    想要在SAP CRM的前台完成一些操作,需要登录的用户在系统中存在对应的业务合作伙伴才可以,某些情况下,还需要被分配到正确的公司.部门.职位.下面是相关的操作步骤. 本文假定读者已经拥有一个开发帐号. ...

  8. 用户创建,删除and并发注册and系统登陆的API研究(学习汇总网上资料)

    一.系统登陆链接实现 比如有一个外围支持系统,用户需要在外围系统登录之后点个link就可以登录到Oracle ERP系统中,那么我们需要先把外围系统的用户创建在Oracle ERP中,并且分配职责给他 ...

  9. 对oracle用户创建asm磁盘

    --root用户执行vi /etc/sysctl.conf #Install oracle settingfs.aio-max-nr = 1048576fs.file-max = 6815744#ke ...

随机推荐

  1. 几种高效的Java工具类推荐

    本文将介绍了十二种常用的.高效的Java工具类 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类. 在开发中,使用这些工具类,不仅可以提高编码效率,还 ...

  2. Django RestFramework(DRF)类视图

    基础视图 1.基础函数视图(@api_view) DRF提供了一种函数基础视图来装饰Django的普通视图,我们可以使用request来接受请求和response响应.一个小例子: from rest ...

  3. HTTPS中的加密验证部分理论

    为了加深自己对于https加密这一块的映象,决定写出来试试 就是在http层下面加了一个ssl层, 服务器将自己的公钥发送给证书机构,申请证书,证书机构首先会验证个服务器是否合法,线上或者线下,然后用 ...

  4. 分母为0的坑(float)

    分母不能为0 对于int 类型,如果分母为0,在程序运行时,会报错. 而对于float 类型,如果分母为0,则不会报错,而是会返回一个infinity(无穷大),也就是NAN. 因为除一个无穷小的数, ...

  5. NCcat学习使用

    一.使用手册 1.简介:nc/NetCat是一款端口监听工具,可以用来建立系统之间的连接.传输文件.TCP代理等. 2.命令参数     nc [-options] hostname port[s] ...

  6. 每次都能让人头大的 Shader -- 从一次简单的功能说起

    最近有个功能, 要渲染从主相机视角看到的另一个相机的可视范围和不可见范围, 大概如下图 : 简单来说就是主相机视野和观察者相机视野重合的地方, 能标记出观察者相机的可见和不可见, 实现原理就跟 Sha ...

  7. Java八大排序之插入排序

    插入排序 也可叫直接插入排序,该算法的思路是:初始可认为文件中的第1个记录已排好序,然后将第2个到第n个记录依次插入到已排序的记录组成的文件中. 步骤: 假设有一组数组为(数组下标0—n-1): ar ...

  8. linux (04) linux安装mysql

    https://www.cnblogs.com/pyyu/p/9467289.html mysql博客 一.mysql (分支 mariadb) 1.安装mariadb ​ -yum ​ -源码编译安 ...

  9. springsecurity的http.permitall与web.ignoring的区别

    permitAll配置实例 @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ...

  10. Xamarin.Forms移动开发系列3:项目剖析

    摘要 本文主要进行Xamarin.Forms应用程序剖析. 前言 本文介绍Xamarin.Forms应用程序剖析. 由于本系列重点研究对象为Xamarin.Forms,所以对Xamarin.Andro ...