elasticsearch 用户角色管理
官网:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/security-api.html
用户角色可以通过kibana进行管理,也可直接用api进行操作
****************************
安全权限:官网链接
cluster privileges:集群相关权限,包括all、create_snapshot等
indices privileges:索引相关权限,包括all、create、create_doc、delete等
run as privilege:认证用户具有其他用户相同的权限
application privileges:该权限不操作elasticsearch,只用has privileges api、get privileges api进行判断
****************************
角色操作
***********************
创建、更新角色:
命令格式:
POST /_security/role/<name> {request_body}
PUT /_security/role/<name> {request_body}
name:role的名称
request_body:
cluster:设置集群权限
indices:设置索引权限
applications:应用权限,包含application、privileges、resources属性
global:全局性的集群权限
run_as:赋予该role的用户拥有其他用户的权限
metadata:元数据
示例
***********************
其他操作
清除缓存:POST /_security/role/<name>/_clear_cache
删除role:DELETE /_security/role/<name>
获取role
GET /_security/role:获取所有role
GET /_security/role/<name>:获取指定role
****************************
用户操作
***********************
创建、修改用户
命令格式:
POST /_security/user/<username> { request_body }
PUT /_security/user/<username> { request_body }
request_body:
enabled:是否启用该用户、默认为true
password:用户密码
roles:用户拥有的role
full_name:用户全名
email:用户email地址
password_hash:密码的hash值
metadata:说明的元数据信息
示例
***********************
其他操作
修改密码:
POST /_security/user/_password:修改当前用户密码
POST /_security/user/<username>/_password:修改指定用户密码
删除用户:DELETE /_security/user/<username>
禁用用户:PUT /_security/user/<username>/_disable
启用用户:PUT /_security/user/<username>/_enable
获取用户:
GET /_security/user:获取所有用户信息
GET /_security/user/<username>:获取指定用户信息