xpack用户管理

xpack对权限的管理包含两个主要的概念,用户和角色。角色可以限定具体的权限,包括读、写、管理等,
可以限定到index或具体字段级别。用户则可以拥有一个或多个角色信息。有了这两个概念就使得权限的管理非常明确清晰。

权限管理主要有两种方式:

1.kibana mangement管理界面进行角色和用户的管理操作

2.通过RESTful API的方式进行用户管理
推荐使用第一种,直观方便,但是需要收费。
###########################################################################################
下面是使用ESTful API的方式进行用户管理的demo及相关信息:

权限控制流程:
1.创建角色

POST /_xpack/security/role/my_admin_role
{
"cluster": ["all"],
"indices": [
{
"names": [ "index1", "index2" ],
"privileges": ["all"],
"field_security" : {
"grant" : [ "title", "body" ]
},
"query": "{\"match\": {\"title\": \"foo\"}}" // optional
}
],
"run_as": [ "other_user" ], // optional
"metadata" : {
"version" : 1
}
}

request body
cluster:集群级别操作权限的列表
indices:索引权限列表
field_security:字段权限
names (required):赋予权限的索引名称
privileges(required):索引级别的权限
query:查询规则限定
metadata:暂时不了解其作用
run_as:允许已认证的用户代表其他用户执行操作

删除角色

DELETE /_xpack/security/role/my_admin_role

api官网地址
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/security-api-roles.html

2.添加用户

POST /_xpack/security/user/jacknich
{
"password" : "[email protected]",
"roles" : [ "admin", "other_role1" ],
"full_name" : "Jack Nicholson",
"email" : "[email protected]",
"metadata" : {
"intelligence" : 7
}
}

request body
enabled:用户是否有效
email:email地址
full_name:全称
metadata:要与用户关联的任意元数据
password (required):密码
roles (required):角色

修改密码

PUT /_xpack/security/user/jacknich/_password
{
"password" : "s3cr3t"
}

用户管理api

GET /_xpack/security/user
GET /_xpack/security/user/<username>
DELETE /_xpack/security/user/<username>
POST /_xpack/security/user/<username>
PUT /_xpack/security/user/<username>
PUT /_xpack/security/user/<username>/_disable
PUT /_xpack/security/user/<username>/_enable
PUT /_xpack/security/user/<username>/_password

api官网地址
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/security-api-users.html

角色管理api

GET /_xpack/security/role
GET /_xpack/security/role/<name>
POST /_xpack/security/role/<name>/_clear_cache
POST /_xpack/security/role/<name>
PUT /_xpack/security/role/<name>
DELETE /_xpack/security/role/<name>

创建角色

POST /_xpack/security/role/my_admin_role
{
"cluster": ["all"],
"indices": [
{
"names": [ "index1", "index2" ],
"privileges": ["all"],
"field_security" : { // optional
"grant" : [ "title", "body" ]
},
"query": "{\"match\": {\"title\": \"foo\"}}" // optional
}
],
"run_as": [ "other_user" ], // optional
"metadata" : { // optional
"version" : 1
}
}

#################################################################
其他相关信息
内置账号

username    role    权限
elastic    superuser    内置的超级用户
kibana    kibana_system    用户kibana用来连接elasticsearch并与之通信。Kibana服务器以该用户身份提交请求以访问集群监视API和 .kibana索引。不能访问index。
logstash_system    logstash_system    用户Logstash在Elasticsearch中存储监控信息时使用

Security-Roles权限

ingest_admin    授予访问权限以管理所有索引模板和所有摄取管道配置。这个角色不能提供创建索引的能力; 这些特权必须在一个单独的角色中定义。
kibana_dashboard_only_user    授予对Kibana仪表板的访问权限以及对.kibana索引的只读权限。 这个角色无法访问Kibana中的编辑工具。
kibana_system    授予Kibana系统用户读取和写入Kibana索引所需的访问权限,管理索引模板并检查Elasticsearch集群的可用性。 此角色授予对.monitoring- 索引的读取访问权限以及对.reporting- 索引的读取和写入访问权限。
kibana_user    授予Kibana用户所需的最低权限。 此角色授予访问集群的Kibana索引和授予监视权限。
logstash_admin    授予访问用于管理配置的.logstash *索引的权限。
logstash_system    授予Logstash系统用户所需的访问权限,以将系统级别的数据(如监视)发送给Elasticsearch。不应将此角色分配给用户,因为授予的权限可能会在不同版本之间发生变化。此角色不提供对logstash索引的访问权限,不适合在Logstash管道中使用。
machine_learning_admin    授予manage_ml群集权限并读取.ml- *索引的访问权限。
machine_learning_user    授予查看X-Pack机器学习配置,状态和结果所需的最低权限。此角色授予monitor_ml集群特权,并可以读取.ml-notifications和.ml-anomalies *索引,以存储机器学习结果
monitoring_user    授予除使用Kibana所需的X-Pack监视用户以外的任何用户所需的最低权限。 这个角色允许访问监控指标。 监控用户也应该分配kibana_user角色
remote_monitoring_agent    授予远程监视代理程序将数据写入此群集所需的最低权限
reporting_user    授予使用Kibana所需的X-Pack报告用户所需的特定权限。 这个角色允许访问报告指数。 还应该为报告用户分配kibana_user角色和一个授予他们访问将用于生成报告的数据的角色。
superuser #授予对群集的完全访问权限,包括所有索引和数据。 具有超级用户角色的用户还可以管理用户和角色,并模拟系统中的任何其他用户。 由于此角色的宽容性质,在将其分配给用户时要格外小心
transport_client    通过Java传输客户端授予访问集群所需的权限。 Java传输客户端使用节点活性API和群集状态API(当启用嗅探时)获取有关群集中节点的信息。 如果他们使用传输客户端,请为您的用户分配此角色。使用传输客户端有效地意味着用户被授予访问群集状态的权限。这意味着用户可以查看所有索引,索引模板,映射,节点以及集群基本所有内容的元数据。但是,此角色不授予查看所有索引中的数据的权限
watcher_admin    授予对.watches索引的写入权限,读取对监视历史记录的访问权限和触发的监视索引,并允许执行所有监视器操作
watcher_user    授予读取.watches索引,获取观看动作和观察者统计信息的权限

官网地址
https://www.elastic.co/guide/en/x-pack/6.2/built-in-roles.html

cluster权限,可以分配给角色的权限
权限详情

all    所有集群管理操作,如快照,节点关闭/重新启动,设置更新,重新路由或管理用户和角色
monitor    所有集群只读操作,如集群运行状况,热线程,节点信息,节点和集群统计信息,快照/恢复状态,等待集群任务
monitor_ml    所有只读机器学习操作,例如获取有关数据传输,作业,模型快照或结果的信息
monitor_watcher    所有只读操作,例如获取watch和watcher统计信息
manage    构建monitor并添加更改集群中值的集群操作。这包括快照,更新设置和重新路由。此特权不包括管理安全性的能力
manage_index_templates    索引模板上的所有操作
manage_ml    所有机器学习操作,例如创建和删除数据传输,作业和模型快照。数据处理以具有提升特权的系统用户身份运行,包括读取所有索引的权限
manage_pipeline    摄取管道的所有操作
manage_security    所有与安全相关的操作,例如对用户和角色的CRUD操作以及缓存清除
manage_watcher    所有观察者操作,例如放置watches,执行,激活或确认。Watches作为具有提升特权的系统用户运行,包括读取和写入所有索引的权限。Watches作为具有提升特权的系统用户运行,包括读取和写入所有索引的权限
transport_client    传输客户端连接所需的所有权限。远程群集需要启用跨级群搜索

indices权限
权限详情

all    索引上的任何操作
monitor    监控所需的所有操作(恢复,细分信息,索引统计信息和状态)
manage    所有monitor特权加索引管理(别名,分析,缓存清除,关闭,删除,存在,刷新,映射,打开,强制合并,刷新,设置,搜索分片,模板,验证)
view_index_metadata    对索引元数据(别名,别名存在,获取索引,存在,字段映射,映射,搜索分片,类型存在,验证,warmers,设置)进行只读访问。此特权主要供Kibana用户使用
read    只读操作(计数,解释,获取,mget,获取索引脚本,更多像这样,多渗透/搜索/ termvector,渗透,滚动,clear_scroll,搜索,建议,tv)
read_cross_cluster    只读访问来自远程集群的搜索操作
index    索引和更新文件。还授予对更新映射操作的访问权限
create    索引文件。还授予对更新映射操作的访问权限
delete    删除文件
write    对文档执行所有写入操作的权限,包括索引,更新和删除文档以及执行批量操作的权限。还授予对更新映射操作的访问权限
delete_index    删除索引
create_index    创建索引。创建索引请求可能包含在创建索引时添加到索引的别名。在这种情况下,该请求最好有manage权限,同时设置索引和别名

官网地址
https://www.elastic.co/guide/en/x-pack/6.2/security-privileges.html

原文地址:https://www.cnblogs.com/libin2015/p/9262650.html

时间: 2024-07-29 09:44:22

xpack用户管理的相关文章

linux用户管理命令之NBA版

用户管理命令之NBA版 本文纯属扯淡,如有不严谨之处,还请海涵. 1 groupadd 作用:创建一个属组 格式:groupadd [选项] 属组名 选项:     -:选项为空 创建新属组,    -g:指定组GID,默认是GID+1 实例 1.1 添加属组team,指定组ID为1111     groupadd -g 1111 team 2 groupmod 作用:修改属组信息 格式:groupmod [选项] 属组名 选项:     -g:GID 修改属组GID -n:修改属组名 实例 2

Linux之用户管理与权限控制(上)

早期Linux系统设计为了能够实现多用户.多进程高效的利用服务器资源,在此种情况下,为了能够保证用户与用户之间的文件不被随意的访问及修改.删除等操作,用户.组的管理能在某种程序上实现管理用户或批量管理用户.由于Linux的设计哲学思想『一切皆文件』,用户对设备的访问就是对文件的访问. 一.用户与组 Linux下有三类用户 1.超级用户: root 具有操作系统的一切权限 UID 值为0 2.普通用户: 普通用户具有操作系统有限的权限, UID值 500+ 3.伪用户: 是为了方便系统管理, 满足

zabbix用户管理

zabbix用户管理,主要包括用户增删改查.用户报警媒介管理.用户权限管理. 安装完zabbix后,已经自带了两个用户Admin和Guests 超级管理员默认账号:Admin,密码:zabbix,这是一个超级管理员. Guests用户,使用guest账号,密码为空,只能看到zabbix后台,没有具体内容. 上一节,添加了一个主机群组Oracle Servers,监控了一台主机Server_A,下面新增一个用户,作为该主机群组的管理员. 要添加一个用户,有三类属性要填写. 要填写属性 描述 用户信

linux的用户管理

一.用户登录验证的过程 1.先找寻/etc/passwd里面是否有输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID(在/etc/group)读出来,另外,该账号的家目录与shell设定也一并读出. 2.再来则是核对密码表,这时linux会进入/etc/shadow里面找出有对应的账号与UID,然后核对下输入的密码与文件中的密码是否一致. 二.涉及到的文件 用户 /etc/passwd 账号名称:密码:UID:GID:用户信息说明:家目录:SHELL /etc/shadow 账

Linux之用户管理

Linux系统是个多用户系统,它能做到不同的用户能同时访问不同的文件,但是又不可能让每一个用户都随意可随意访问修改别的用户的数据,因此一定要有文件权限控制机制.Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别.Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件属主),同时文件还被指定的用户组所拥有(文件属组).一个用户可以是不同组的成员,这可以由管理员控制.文件的权限由权限标志来决定,权限标志决定了文件的拥有者.文件的所属组.其他用户对文件访问的权限

linux用户管理命令

linux的用户管理命令主要有useradd,userdel,usermod useradd useradd用于添加一个用户.adduser与useradd的功能相同,使用ls -l `which adduser`可以发现,adduser是useradd的一个符号链接.     useradd的基本用法为:useradd [options] LOGIN. 例如:添加一个Tom的用户,即为useradd Tom. useradd的选项常用的有-u.-g.-G.-c.-d.-s.-M.-mk.-r.

Windows Server 2008 R2入门之用户管理

今天为大家带来的是Windows Server 2008 R2入门之用户管理,以便大家更快的熟悉2008r2工作组中用户.组的创建.删除.日常管理等,接下来我们直接进入正文. 一.用户账户概述: "用户"是计算机的使用者在计算机系统中的身份映射,不同的用户身份拥有不同的权限,每个用户包含一个名称和一个密码: 在Windows中,每个用户帐户有一个唯一的安全标识符(Security Identifier,SID),用户的权限是通过用户的SID记录的.SID的格式如下所示:S-1-5-21

Oracle体系结构和用户管理

数据库体系结构      定义:             数据库的组成,工作过程,数据库中的数据的组成与管理机制. 组成:             实例.用户进程.服务器进程.数据库文件. 其他文件(参数文件.口令文件.归档文件). oracle的概念:    程序全局区(PGA):        定义:              服务器进程使用的一块包含数据和控制信息的内存区域, PGA是非共享的内存,在服务器进程启动或创建时分配的 (在系统运行时,排序,连接等操作也需要对PGA分配). 用命

linux用户配置文件passwd和密码配置文件shadow,用户管理,组管理

一.linux和windows互传文件 1.安装支持包:lrzsz yum -y install   lrzsz putty工具 不支持lrzsz 2.rz windows文件fail2ban-0.8.14.tar.gz 到linux 当前目录 3.sz baidu.png 传输文件从linux 到 windows 二. 用户配置文件和密码配置文件 1.用户配置文件 ls /etc/passwd [[email protected]_46_188_centos ~]# cat /etc/pass