searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

基于Opendistro的搜索组件的用户管理与授权

2024-05-30 01:31:17
12
0

背景:

Open Distro for Elasticsearch是 AWS 2019年宣布开源的 Elasticsearch 发行版,采用Apache 2.0许可证,其中不仅包含了Elasticsearch和Kibana,还提供了包括高级安全功能、事件监视和告警、性能分析、SQL查询等企业级性能优化。我们也可以理解其为开源版xpack插件的elasticsearch。
 

通过Security插件进行用户授权

 
Open Distro中的Security插件可以支持多个级别的权限控制,且能在搜索组件Elasticsearch和Opensearch之间具备平行迁移能力,但在了解其操作流程前,需要先明确几个概念:
open_distro_security 提供了RBAC(基于角色的访问控制),简单来说就是:先创建角色,角色拥有一系列权限,再把角色赋予用户,最后计算得出某个用户具体拥有哪些权限。
  • 可分配资源:集群(cluster)和索引(index)
  • 权限(permission),这是指很细颗粒度的权限,系统内置默认很多,但不建议直接赋权给用户,推荐使用权限组
  • 权限组(permission group)有通用的、集群级别、索引级别,支持多选,支持自己创建,建议使用默认。
  • 角色(Role)将各种权限付诸之上,可以为用户分配角色。
  • 用户(User)集群的用户,可以登陆Kibana/Dashborad,访问集群等。
  • 租户(Tenants):租户是用于保存索引模版、可视化内容、控制面板和其他控制面板对象的空间。
 

操作流程

1、如果系统内默认的没有符合要求的Role可以新建
 
 
可以看到内部有对集群和索引的权限设置入口,注意配置索引时,需要用* 来概括后缀,此处会自动生成索引模板。
 
 
2、创建用户
 
 
3、租户管理
多租户可让用户安全地与其他控制面板用户共享工作(或保持用户自己工作内容的私密性)并动态配置租户。
用户可以控制哪些角色有权访问租户,以及这些角色是否具有读取或写入访问权限。
3.1 创建租户
 
3.2 绑定Role
这样,这些定制化租户可以共享可视化的一些内容
 
3.3 验证
租户登录选择&显示
当用role1_user登录的时候,就可以选择并显示租户,并且可以切换租户
一些帮助理解的Tips
  1. 管理员admin是最高权限的,是内置的,可以看到任何用户、任何租户下的东西,上帝视角,完全无隔离。
  2. 多用户存在于搜索组件(Elasticsearch&OpenSearch)的概念,主要是针对索引、集群等数据相关安全管控措施。
  3. 多租户是存在于Kibana&Dashboard的概念,主要是针对可视化看板、索引模版等等面板上可视化相关的共享权限管理。
  4. 有且仅有admin用户能够看到Security的标识,其他用户看不到。
 
0条评论
0 / 1000
maggie
4文章数
0粉丝数
maggie
4 文章 | 0 粉丝
原创

基于Opendistro的搜索组件的用户管理与授权

2024-05-30 01:31:17
12
0

背景:

Open Distro for Elasticsearch是 AWS 2019年宣布开源的 Elasticsearch 发行版,采用Apache 2.0许可证,其中不仅包含了Elasticsearch和Kibana,还提供了包括高级安全功能、事件监视和告警、性能分析、SQL查询等企业级性能优化。我们也可以理解其为开源版xpack插件的elasticsearch。
 

通过Security插件进行用户授权

 
Open Distro中的Security插件可以支持多个级别的权限控制,且能在搜索组件Elasticsearch和Opensearch之间具备平行迁移能力,但在了解其操作流程前,需要先明确几个概念:
open_distro_security 提供了RBAC(基于角色的访问控制),简单来说就是:先创建角色,角色拥有一系列权限,再把角色赋予用户,最后计算得出某个用户具体拥有哪些权限。
  • 可分配资源:集群(cluster)和索引(index)
  • 权限(permission),这是指很细颗粒度的权限,系统内置默认很多,但不建议直接赋权给用户,推荐使用权限组
  • 权限组(permission group)有通用的、集群级别、索引级别,支持多选,支持自己创建,建议使用默认。
  • 角色(Role)将各种权限付诸之上,可以为用户分配角色。
  • 用户(User)集群的用户,可以登陆Kibana/Dashborad,访问集群等。
  • 租户(Tenants):租户是用于保存索引模版、可视化内容、控制面板和其他控制面板对象的空间。
 

操作流程

1、如果系统内默认的没有符合要求的Role可以新建
 
 
可以看到内部有对集群和索引的权限设置入口,注意配置索引时,需要用* 来概括后缀,此处会自动生成索引模板。
 
 
2、创建用户
 
 
3、租户管理
多租户可让用户安全地与其他控制面板用户共享工作(或保持用户自己工作内容的私密性)并动态配置租户。
用户可以控制哪些角色有权访问租户,以及这些角色是否具有读取或写入访问权限。
3.1 创建租户
 
3.2 绑定Role
这样,这些定制化租户可以共享可视化的一些内容
 
3.3 验证
租户登录选择&显示
当用role1_user登录的时候,就可以选择并显示租户,并且可以切换租户
一些帮助理解的Tips
  1. 管理员admin是最高权限的,是内置的,可以看到任何用户、任何租户下的东西,上帝视角,完全无隔离。
  2. 多用户存在于搜索组件(Elasticsearch&OpenSearch)的概念,主要是针对索引、集群等数据相关安全管控措施。
  3. 多租户是存在于Kibana&Dashboard的概念,主要是针对可视化看板、索引模版等等面板上可视化相关的共享权限管理。
  4. 有且仅有admin用户能够看到Security的标识,其他用户看不到。
 
文章来自个人专栏
云搜索专栏
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0