LDAP 认证系列(四):Gateway LDAP 认证

INFINI Gateway 和 LDAP、Easysearch 的集成的情况可以分为以下三种

  1. 网关代理启用了安全认证的 ES 集群,这时候访问网关要传递 ES 的认证信息。
  2. 网关代理启用了安全认证的 ES 集群,且 ES 集群集成了 LDAP,此时可使用 LDAP 中的用户信息。
  3. 网关代理未启用安全认证的 ES 集群,网关可以集成 LDAP 为 ES 集群提供认证保护。如果没有 LDAP 服务可以在配置文件中设置用户信息,参考文档

本系列文章中的 Easysearch 集群已经开启了认证并和 LDAP 进行了集成,所以我们使用网关代理 Easysearch 集群后,可以使用 LDAP 中的用户直接访问网关。

Easysearch 与 LDAP 集成

我们在之前的系列文章第二篇中,把 LDAP 服务与 Easysearch 做了集成。我们将 LDAP 的 administrator 组映射到了 Easysearch 的 superuser 角色,将 readonly 组映射到了 readall 角色。两个用户 yangf 和 readonly 分别属于上面的两个组。

情况二

网关正常设置代理 Easysearch 集群,编辑配置文件填写相关变量。

复制代码
env: #use $[[env.LOGGING_ES_ENDPOINT]] in config instead
  LOGGING_ES_ENDPOINT: https://localhost:9201/
  LOGGING_ES_USER: admin
  LOGGING_ES_PASS: changeme
  PROD_ES_ENDPOINT: https://localhost:9201/
  PROD_ES_USER: admin
  PROD_ES_PASS: changeme
  GW_BINDING: "0.0.0.0:8000"
  API_BINDING: "0.0.0.0:2900"

我们直接使用 LDAP 的用户访问网关

情况三

我们关闭 Easysearch 的认证,然后让网关与 LDAP 进行集成。

网关配置修改

复制代码
flow:
  - name: ldap_auth
    filter:
      - ldap_auth:
          host: "localhost"
          port: 1389
          bind_dn: "cn=readonly,dc=example,dc=org"
          bind_password: "changethistoo"
          base_dn: "ou=People,dc=example,dc=org"
          user_filter: "(uid=%s)"

  - name: default_flow
    filter:
      - flow:
          flows:
           - ldap_auth
      - elasticsearch:
          elasticsearch: prod
          max_connection_per_node: 1000

Easysearch 的 http 服务可以不用用户名密码直接访问。

通过网关安全加固后必须使用 LDAP 里的用户认证

OK,有问题欢迎联系我。

相关推荐
ZePingPingZe1 天前
SpringBoot整合Sharding-jdbc分库分表及ES搜索引擎解决无分片键查询
spring boot·elasticsearch·搜索引擎
未来之窗软件服务1 天前
一体化系统(九)高级表格自己编程如何选择——东方仙盟练气期
大数据·人工智能·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟一体化·万象exce
Mr.wangh1 天前
SpringCloudConfig(配置中心)
大数据·elasticsearch·搜索引擎·springcloud·config
wang_yb1 天前
数据点的“社交距离”:衡量它们之间的相似与差异
大数据·databook
小园子的小菜1 天前
深度解析Elasticsearch网络通信原理:节点协同与链接机制
大数据·elasticsearch·搜索引擎
Tipriest_1 天前
详细解释pip及其使用方法(对比apt)
大数据·elasticsearch·apt·pip
第二只羽毛1 天前
外卖订餐管理系统
java·大数据·开发语言·算法
longxibo1 天前
Ubuntu datasophon1.2.1 二开之二:解决三大监控组件安装后,启动失败:报缺失common.sh
大数据·linux·运维·ubuntu
第二只羽毛1 天前
图书管理系统项目PPT文稿
java·大数据·开发语言·ide
_OP_CHEN1 天前
【Git原理与使用】(六)Git 企业级开发模型实战:从分支规范到 DevOps 全流程落地
大数据·linux·git·gitee·项目管理·devops·企业级组件