基于用户和角色的鉴权
操作场景
该任务指导MRS集群管理员在Manager创建并设置Elasticsearch的角色。Elasticsearch角色可设置管理员权限以及索引数据的读取和写入权限。
用户需要在Elasticsearch中对指定的数据设置权限,才能够查询数据、删除数据、更新数据。
- 安全模式支持创建Elasticsearch角色,普通模式不支持创建Elasticsearch角色。
- 如果当前组件使用了Ranger进行权限控制,须基于Ranger配置相关策略进行权限管理,具体操作可参考添加Elasticsearch的Ranger访问权限策略。普通模式下Elasticsearch不支持使用Ranger进行权限控制。
前提条件
管理员已根据业务需要规划权限。
操作步骤
- 登录Manager。
- 选择“系统 > 权限 > 角色”。
- 单击“添加角色”,然后在“角色名称”和“描述”输入角色名字与描述。
- 设置角色“配置资源权限”。
Elasticsearch权限类型:
- “SUPER_USER_GROUP”:管理员权限,对所有index有读写权限。
- “Elasticsearch Scope”:资源管理,对指定的index有读写权限。
表1 设置角色 任务场景
角色授权操作
设置管理员权限
在“配置资源权限”的表格中选择“待操作集群的名称 > Elasticsearch”,勾选“SUPER_USER_GROUP”。
设置用户对指定index的读写权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Elasticsearch > Elasticsearch Scope”。
- 在指定index的“权限”列,勾选“读”和“写”。
- 单击“确定”完成,返回角色管理。
Elasticsearch角色创建成功后,创建一个Elasticsearch用户并绑定角色和用户组。
Elasticsearch常见用户权限说明可参考表2。
表2 Elasticsearch常见用户权限 用户组
角色
对应用户权限
- elasticsearch
- supergroup
-
该用户能够创建新的index,且对所有的index有读写权限,同时还对所有的index具有管理权限。
elasticsearch
-
该用户能够创建新的index,且对创建的index有读写权限,同时还对所创建index具有管理权限。
elasticsearch
赋予对已创建的index有读写权限的角色
该用户对自己创建的index和有权限的index均有读写和删除数据权限。但是不能对其他用户创建的index进行管理操作,例如强制flush、迁移shard等。
-
赋予Elasticsearch管理员权限的角色
该用户和Elasticsearch组的用户一样,可以创建index,同时对所有的index都有读写权限。
supergroup
-
该用户可以创建index,并且具有对所有index的读写操作权限。
-
赋予对已创建的index有读写权限的角色
该用户对此index有读写操作权限,但不能对此index进行管理操作,例如强制flush、迁移shard等。
-
-
该用户不能访问Elasticsearch系统资源。