02.elasticsearch-security_es权限管理API概览

本文深入解析了Elasticsearch的权限管理系统,涵盖角色定义、用户创建、权限详解及内置角色和用户,帮助读者掌握ES安全配置的核心要点。

1.es权限管理简介

  这里主要学习一下es基于用户的权限管理是怎么运转的。在权限管理中有这样几个部分,es内部的权限管理可以认为是遵循了RBAC的模式,Role-Based-Access-Control , 对应的有这么些概念

  1. secured resource 需要限制访问的资源(索引,doc,field, aliases等)
  2. privilege 一些执行动作,(write,read)
  3. permissions 权限,是对某个资源可以执行哪些的动作的集合,比如可以对 topic这个index执行写操作,就是一个permission
  4. role 是permissions的集合

1.1 role的权限定义

用户user的创建比较简单,都是直接和role进行关联,所以role的定义变得很有内容。

PUT /_security/role/<name>
{
  "run_as": [ ... ],
  "cluster": [ ... ],
  "global": { ... },
  "indices": [ ... ],
  "applications": [ ... ]

}

可以看到,为一个role分配权限的时候包括了这样几个部分
1.run_as: 可以按照别的用户的权限来给自己授予权限
2.cluster: 集群级别的权限,主要是集群管理,监控等权限
3.global: global权限是用来管理application的,下面会详述
4.indices:这个是最常用的,就是对那些索引有什么操作权限权限
5.applications: 这个是为那些自定义权限的组件定义的,定义比较灵活

一个实例

POST /_security/role/my_admin_role
{
  "cluster": ["all"],
  "indices": [
    {
      "names": [ "index1", "index2" ],
      "privileges": ["all"],
      "field_security" : { // optional
        "grant" : [ "title", "body" ]
      },
      "query": "{\"match\": {\"title\": \"foo\"}}" // optional
    }
  ],
  "applications": [
    {
      "application": "myapp",
      "privileges": [ "admin", "read" ],
      "resources": [ "*" ]
    }
  ],
  "run_as": [ "other_user" ], // optional
  "metadata" : { // optional
    "version" : 1
  }
}

1.2 创建user

POST /_security/user/jacknich
{
  "password" : "j@rV1s",
  "roles" : [ "admin", "other_role1" ],
  "full_name" : "Jack Nicholson",
  "email" : "jacknich@example.com",
  "metadata" : {
    "intelligence" : 7
  }
}

上面的过程简单的展示了创建user和role的过程。

2. es创建role的权限详解

  通过上面已经简单了解了role的权限构成,这里会详细的介绍各个组成部分。其实对于es的主要的权限管理还是在cluster和indeces上面,run_as算是一种授权的方式,并不代表了具体的权限,applications这个是周边组件自定义权限使用,下面会详述。权限被划分为cluster级别和indices级别。

2.1 run_as权限

  run_as,对应的属性值就是一系列的user 的权限,在上一篇中已经介绍过run_as的功能了,他只是为了授权更方便,并不改变基本的权限粒度

2.2 cluster 相关权限

cluster级别的权限也有很多,大部分都是集群状态数据的管理

权限大类别 权限明细 含义 备注
cluster
all 所有cluster级别的权限
create_snapshot 为现有的数据创建快照的权限
manage 对集群的管理权限,包括集群的设置,rerouting等,但是不包括对security的管理
manage_ccr 跨集群副本操作的权限
manage_ilm index life manage,对索引的生命周期管理的权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值