更新时间:2024-11-29 GMT+08:00

基于Ranger的鉴权

操作场景

本章节指导MRS集群管理员在Ranger创建并设置Elasticsearch的权限控制策略,用于管理Elasticsearch用户对索引的创建和删除等权限。

用户需要拥有对Elasticsearch中指定数据的操作权限,才能够查询数据、更新数据、删除数据。

  • 安全模式支持在Ranger中创建策略,普通模式不支持使用Ranger进行权限控制。
  • 安全模式新安装的Elasticsearch集群默认采用基于Ranger的鉴权模式。
  • 在基于Ranger的鉴权模式下,创建的角色鉴权信息对Elasticsearch服务不起作用。

前提条件

  • 已安装Elasticsearch和Ranger服务且运行正常。
  • 已根据业务需要规划用户权限。

操作步骤

  • 在Ranger中添加Elasticsearch访问权限策略,具体操作参考添加Elasticsearch的Ranger访问权限策略
  • 查看当前默认策略。
    1. 使用supergroup属组用户、elasticsearch用户rangeradmin用户登录Ranger管理界面。具体操作请参考登录Ranger管理界面
    2. 在首页中单击“ELASTICSEARCH”区域的“Elasticsearch”,可以查看到当前默认策略。

      elasticsearchrangeradmin用户的默认密码请联系系统管理员获取。具体以实际为准。

      Elasticsearch包含三个默认策略,默认策略只能由supergroup属组用户、elasticsearch用户rangeradmin用户进行维护。您可以在“Action”列进行查看和修改。修改默认策略为高危操作,删除默认策略为禁用操作。

      默认策略详细说明参考表1表2表3

      表1 默认策略all - index

      参数名称

      默认值

      描述

      Policy Name

      all - index

      策略名称,策略状态默认为enabled,normal。

      Policy Label

      -

      -

      Index

      *

      表示该策略对全部索引生效。

      Description

      Policy for all - index

      -

      Audit Logging

      Yes

      对该策略开启审计。

      Allow Conditions

      • Select Role:
      • Select Group:
      • Select User: rangeradmin
      • Policy Conditions:
      • Permissions: read index delete monitor manage view_index_metadata create create_index write
      • Delegate Admin:

      授予rangeradmin用户读、写、更新、删除文档、监控、管理、查看索引元数据、创建索引、创建文档以及写入数据的权限。

      不允许条件中的用户管理本条策略。

      • Select Role:
      • Select Group:
      • Select User: elasticsearch
      • Policy Conditions:
      • Permissions: all monitor delete manage view_index_metadata read read_cross_cluster index create delete write delete_index create_index cluster_monitor cluster_manage indices_put indices_search_shards indices_put indices_index cat_index_recovery cat_index_metadata clear_search_scroll asynchronous_search script vector
      • Delegate Admin: YES

      授予elasticsearch用户所有执行权限。

      允许条件中用户管理本条策略。

      • Select Role:
      • Select Group: supergroup
      • Select User:
      • Policy Conditions:
      • Permissions: all monitor delete manage view_index_metadata read read_cross_cluster index create write delete_index create_index cluster_monitor cluster_manage asynchronous_search script vector
      • Delegate Admin: YES

      授予supergroup组所有执行权限。

      允许条件中用户管理本条策略。

      • Select Role:
      • Select Group: elasticsearch
      • Select User:
      • Policy Conditions:
      • Permissions: cluster_monitor asynchronous_search create_index
      • Delegate Admin:

      授予elasticsearch用户组集群监控及创建任意索引的权限。

      不允许条件中的用户管理本条策略。

      Deny All Other Accesses

      False

      不拒绝其他所有访问权限。

      表2 默认策略task - index

      参数名称

      默认值

      描述

      Policy Name

      task - index

      策略名称,策略状态默认为enabled,normal。

      Policy Label

      -

      -

      Index

      .*

      表示该策略对全部点号开头的索引生效。

      Description

      Policy for all - path

      -

      Audit Logging

      Yes

      对该策略开启审计。

      Allow Conditions

      • Select Role :
      • Select Group: elasticsearch
      • Select User:
      • Policy Conditions:
      • Permissions: index read delete monitor manage create create_index view_index_metadata write
      • Delegate Admin: YES

      授予elasticsearch组用户读、写、更新、删除文档、监控、管理、查看索引元数据、创建索引、创建文档以及写入数据的权限。

      允许条件中用户管理本条策略。

      Deny All Other Accesses

      False

      不拒绝其他所有访问权限。

      表3 默认策略owner - index

      参数名称

      默认值

      描述

      Policy Name

      task - index

      策略名称,策略状态默认为enabled,normal。

      Policy Label

      -

      -

      Index

      index_owner_info .index_owner_info

      表示该策略对索引“index_owner_info”和索引“.index_owner_info”生效。

      Description

      Policy for all - path

      -

      Audit Logging

      Yes

      对该策略开启审计。

      Allow Conditions

      • Select Role :
      • Select Group: elasticsearch
      • Select User:
      • Policy Conditions:
      • Permissions: read
      • Delegate Admin: YES

      授予elasticsearch组用户读的权限。

      允许条件中用户管理本条策略。

      • Select Role:
      • Select Group: supergroup
      • Select User:
      • Policy Conditions:
      • Permissions: all monitor delete manage view_index_metadata read read_cross_cluster index create write delete_index create_index cluster_monitor cluster_manage asynchronous_search script vector
      • Delegate Admin: YES

      授予supergroup组用户所有执行权限。

      允许条件中用户管理本条策略。

      Deny All Other Accesses

      True

      拒绝其他所有访问权限。

      基于Ranger鉴权模式下Elasticsearch用户组权限参考表4

      表4 Elasticsearch用户组权限

      用户组

      对应用户权限

      supergroup

      该用户能够创建新的index,且对所有的index有读写权限,同时还对所有的index及Elasticsearch集群具有管理权限,可以创建异步搜索任务和预聚合任务。

      elasticsearch

      该用户拥有执行除cat count以外的cluster、cat查询类API的权限。