更新时间:2024-10-25 GMT+08:00

创建OpenSearch集群用户并授权使用

CSS服务会对开启安全模式的集群进行访问控制,只有通过身份认证的用户才能访问安全集群。在创建安全集群时,必须配置一个管理员账号。该管理员能够使用OpenSearch Dashboard为集群添加新用户,并授予相应的安全集群使用权限。

背景信息

云搜索服务用opendistro_security安全插件对外提供安全集群能力,opendistro_security安全插件是基于RBAC(Role-Based Access Control)模型构建。RBAC包括三个重要核心概念:用户(User)、权限(Action)、角色(Role)。RBAC简化了用户和权限的关系,降低了权限管理的难度,方便权限扩展易于维护。三者之前的关系如下图所示。

图1 用户、权限和角色
表1 OpenSearch Dashboard创建用户和授权

参数

描述

Permission

权限:单个动作,例如创建索引(例如indices:admin/create)。

Action group

操作组:表示一组权限。例如,预定义的SEARCH操作组授权角色使用_search和_msearchAPI。

Role

角色:定义为权限或操作组的组合,包括对集群,索引,文档或字段的操作权限。

User

用户:可以向Elasticsearch集群发出操作请求。用户具有凭证(例如,用户名和密码)、零个或多个后端角色以及零个或多个自定义属性。

Role mapping

角色映射:用户在成功进行身份验证后会担任角色,角色映射,就是将角色映射到用户(或后端角色)。例如,kibana_user(角色)到jdoe(用户)的映射意味着John Doe在获得kibana_user身份验证后获得了所有权限。同样,all_access(角色)到admin(后端角色)的映射意味着具有后端角色admin(来自LDAP / Active Directory服务器)的任何用户都获得了all_access身份验证后的所有权限。您可以将每个角色映射到许多用户和/或后端角色。

在OpenSearch Dashboard界面的Security菜单中,您可以控制用户在OpenSearch集群中的权限,实现集群、索引、文档和字段四个级别的细粒度访问权限控制。

支持添加或删除集群的用户,并能够将用户映射到角色,实现用户关联角色权限。

角色映射功能允许配置角色的成员,通过用户名、后端角色和主机名将用户分配给相应的角色。支持为每种角色配置集群访问权限、索引和文档的访问权限,以及OpenSearch Dashboard的使用权限。

有关安全集群的更多安全配置信息以及详细的操作指导,可以参考Elasticsearch的安全模式官方介绍

约束限制

OpenSearch Dashboard中可以自定义用户名、角色名、租户名等,但不能包含中文字符。

创建用户并授权

  1. 登录OpenSearch Dashboard。

    1. 登录云搜索服务控制台。
    2. 在左侧导航栏,选择集群管理 > OpenSearch,进入集群列表页面。
    3. 在集群管理列表,选择对应集群,单击操作列的“Kibana”。
    4. 输入管理员账户名和密码登录OpenSearch Dashboard。
      • 账户名:admin(默认管理员账户名)
      • 密码:创建安全模式的集群时,设置的管理员密码。
        图2 登录OpenSearch

  2. 创建用户(User)。

    1. 在OpenSearch Dashboard操作界面,选择“Security”,进入Security页面。
      图3 进入Security界面
    2. 在左侧选择“Internal users”,进入用户创建页面。
      图4 创建用户
    3. 单击“Create internal user”,进入用户信息配置页面。
    4. “Credentials”区域,输入需要创建的用户名和密码。
      图5 输入用户名和用户密码
    5. 单击“Create”,用户创建成功后,可以在列表中看到新创建的用户。
      图6 用户信息

  3. 创建角色Role,并授予Role相应权限。

    1. “Security”中选择“Roles”
    2. “Roles”页面,单击“Create role”,进入角色创建页面。
    3. “Name”区域设置角色名。
      图7 设置角色名称
    4. “Cluster Permissions”页面设置集群权限。根据业务需要选择相应的集群权限,不配置时表示角色不具有任何集群级别的权限。
      图8 设置集群权限
    5. “Index Permissions”区域设置索引权限。
      图9 设置索引权限
    6. 在“Tenant Permissions”页面设置角色权限。
      图10 角色权限

      设置完成后,即可在“Roles”页面看到创建的角色。

  4. 角色用户映射,将Role和User绑定。

    1. “Security”中选择“Roles”
    2. “Roles”页面,选择你需要映射的角色名称,进入角色映射页面。

    3. “Mapped users”页签中,单击“Map users”,在users下拉框中选择需要映射的用户。

    4. 添加完成后,单击“Map”。
    5. 配置完成后,可以在OpenSearch集群中进行验证是否生效。