创建OpenSearch集群用户并授权使用
CSS服务会对开启安全模式的集群进行访问控制,只有通过身份认证的用户才能访问安全集群。在创建安全集群时,必须配置一个管理员账号。该管理员能够使用OpenSearch Dashboard为集群添加新用户,并授予相应的安全集群使用权限。
背景信息
云搜索服务用opendistro_security安全插件对外提供安全集群能力,opendistro_security安全插件是基于RBAC(Role-Based Access Control)模型构建。RBAC包括三个重要核心概念:用户(User)、权限(Action)、角色(Role)。RBAC简化了用户和权限的关系,降低了权限管理的难度,方便权限扩展易于维护。三者之前的关系如下图所示。
参数 |
描述 |
---|---|
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中可以自定义用户名、角色名、租户名等,但不能包含中文字符。
创建用户并授权
- 登录OpenSearch Dashboard。
- 登录云搜索服务控制台。
- 在左侧导航栏,选择 ,进入集群列表页面。
- 在集群管理列表,选择对应集群,单击操作列的“Kibana”。
- 输入管理员账户名和密码登录OpenSearch Dashboard。
- 账户名:admin(默认管理员账户名)
- 密码:创建安全模式的集群时,设置的管理员密码。
图2 登录OpenSearch
- 创建用户(User)。
- 在OpenSearch Dashboard操作界面,选择“Security”,进入Security页面。
图3 进入Security界面
- 在左侧选择“Internal users”,进入用户创建页面。
图4 创建用户
- 单击“Create internal user”,进入用户信息配置页面。
- 在“Credentials”区域,输入需要创建的用户名和密码。
图5 输入用户名和用户密码
- 单击“Create”,用户创建成功后,可以在列表中看到新创建的用户。
图6 用户信息
- 在OpenSearch Dashboard操作界面,选择“Security”,进入Security页面。
- 创建角色Role,并授予Role相应权限。
- 在“Security”中选择“Roles”。
- 在“Roles”页面,单击“Create role”,进入角色创建页面。
- 在“Name”区域设置角色名。
图7 设置角色名称
- 在“Cluster Permissions”页面设置集群权限。根据业务需要选择相应的集群权限,不配置时表示角色不具有任何集群级别的权限。
图8 设置集群权限
- 在“Index Permissions”区域设置索引权限。
图9 设置索引权限
- 在“Tenant Permissions”页面设置角色权限。
图10 角色权限
设置完成后,即可在“Roles”页面看到创建的角色。
- 角色用户映射,将Role和User绑定。
- 在“Security”中选择“Roles”。
- 在“Roles”页面,选择你需要映射的角色名称,进入角色映射页面。
- 在“Mapped users”页签中,单击“Map users”,在users下拉框中选择需要映射的用户。
- 添加完成后,单击“Map”。
- 配置完成后,可以在OpenSearch集群中进行验证是否生效。