ElasticsearchBES

    权限管理

    权限管理的主要功能如下:

    • 能够根据URL限制用户对数据的访问,比如管理员如果想让一个用户有管理集群配置参数的权限,那么可以把/_cluster/setting 这个URL的POST 权限授权给这个用户即可。
    • 能够根据Index限制用户对数据的读写操作。

    创建用户

    curl -u username:password --header "Content-Type: application/json" -XPOST 'host:port/_user/create' -d'
    {
    	"username" : "test",
    	"password" : "test123",
    	"get_path" : ["/test-", "/online-", "/_cat/health"],
    	"put_path" : ["/test-"],
    	"post_path" : ["/test-"],
    	"del_path" : ["/test-"],
    	"read_index": ["test-", "online-"],
    	"write_index": ["test-"]
    }'

    以上命令创建一个test用户,登录密码为“test123”,对 test- 开头的索引有put、post、get和 delete 权限,对 online- 开头的索引有 get 权限,分别对应 Restful API 的四种操作。

    1. path 中为前缀匹配的访问路径,分别对应了HTTP中的PUT,POST,GET,DELETE 4 个请求方法。
    2. read_index 和 write_index 分别表示了该用户可以执行读取操作和写入操作的index的列表,也是根据前缀匹配,权限插件会根据用户访问的API自动判定这个访问时读取操作还是写入操作。
    3. 只有superuser可以执行create user的指令,其他用户在任何情况下都不能执行。

    修改用户

    curl -u username:password --header "Content-Type: application/json" -XPOST 'host:port/_user/alter' -d'
    {
    	"username" : "test",
    	"password" : "test321",
    	"get_path" : ["/test-", "/_cat/health"],
    	"read_index": ["test-"]
    }'
    1. 这个API可以修改用户的访问权限,同时也可以修改用户的密码。
    2. 消息体中出现的字段会全部覆盖原有字段内容,未出现的字段会保留原来的内容,比如这里没有出现 write_index,那么表示用户对index的write权限不变,但是 read index 的权限只有 test-xxx 这类了。
    3. 只有root和superuser可以执行这个API。

    删除用户

    curl -u username:password --header "Content-Type: application/json" -XPOST 'host:port/_user/delete' -d'
    {
    	"username" : "test"
    }'

    显示用户信息

    curl -u username:password --header "Content-Type: application/json" -XPOST 'host:port/_user/show' -d'
    {
      "size" : 20
    }'
    1. 该API需要在创建普通用户时加入其权限路径,这样普通用户才可查看自己的用户信息。
    2. 如果执行该API的是root或者superuser,那么显示所有的用户。
    3. size表示返回的用户个数,不写的话默认是10

    重置密码

    curl -u username:password --header "Content-Type: application/json" -XPOST 'host:port/_user/resetpasswd’ -d'
    {
    	"password" : "test123"
    }'
    1. 该API需要在创建普通用户时加入其权限路径,这样普通用户才可修改自己的密码
    2. 管理员修改普通用户密码时请使用更新用户的API。
    上一篇
    ES版本升级
    下一篇
    备份恢复