本文介绍如何基于阿里云Elasticsearch配置活动目录AD(Active Directory)身份认证,以实现AD域下相应角色的用户访问阿里云Elasticsearch。
前提条件
您已完成以下操作:
- 创建阿里云Elasticsearch实例。
具体操作,请参见创建阿里云Elasticsearch实例。本文以7.10版本实例为例。
- 如果您的阿里云Elasticsearch实例是2020年10月及之后创建的,由于网络架构的调整,您需要完成以下操作:
- 创建与阿里云Elasticsearch实例处于同一VPC下,且支持PrivateLink功能的负载均衡实例。详情请参见步骤一:创建支持PrivateLink功能的负载均衡实例。
- 配置负载均衡实例。详情请参见步骤二:配置负载均衡实例。
- 创建终端节点服务。详情请参见步骤三:创建终端节点服务。
- 配置阿里云Elasticsearch私网互通。详情请参见步骤四:配置阿里云Elasticsearch私网互通。
- 获取终端节点域名。详情请参见查看终端节点域名。
- 准备与阿里云Elasticsearch相同专有网络下的AD域环境和数据,本文以Windows Server 2012为例。
本文配置的用户名称为ccy1,根域为ccy.com。
使用限制
自2020年10月起,阿里云Elasticsearch对不同地域进行了网络架构的调整,对创建的实例有以下影响:
操作流程
步骤一:配置AD认证
您可以通过Elasticsearch的安全功能与AD域通信,实现用户身份认证。安全功能基于LDAP与AD域进行通信,因此active_directory域类似于ldap域。与LDAP目录一样,AD域分层存储用户和组。AD域通过发送LDAP绑定请求,验证用户的身份。验证后,AD域会通过搜索查找对应用户在Active Directory中的条目。一旦找到该用户,AD域就会从Active Directory中用户条目的tokenGroups属性中检索该用户的组成员身份。详细信息,请参见Configuring an Active Directory realm。
如果您的目标阿里云Elasticsearch为6.x版本,可参见配置YML参数,在目标Elasticsearch实例的YML文件中添加如下配置,设置对应用户的AD认证。如果为7.x版本,则需要通过提交工单,将相关配置提交给技术人员帮您配置。
xpack.security.authc.realms.active_directory.my_ad.order: 0
xpack.security.authc.realms.active_directory.my_ad.domain_name: ccy.com
xpack.security.authc.realms.active_directory.my_ad.url: ldap://ep-bp1i321219*********-cn-hangzhou-h.epsrv-bp15571d5ps*********.cn-hangzhou.privatelink.aliyuncs.com:389
xpack.security.authc.realms.active_directory.my_ad.bind_dn: ccy1@ccy.com
xpack.security.authc.realms.active_directory.my_ad.secure_bind_password: your_password
参数 | 说明 |
---|---|
order | 进行身份验证时,检查已配置的AD域的顺序。 |
domain_name | 根域的名称。 |
url | AD域与ECS实例进行私网连接的URL及端口号,详细信息请参见Configuring an Active Directory realm。
注意 新网络架构下需要设置为
ldap://<终端节点域名>:<端口> ,本文以ldap://ep-bp1i321219*********-cn-hangzhou-h.epsrv-bp15571d5ps*********.cn-hangzhou.privatelink.aliyuncs.com:389为例。
|
bind_dn | 执行所有AD搜索请求的用户。 |
secure_bind_password | 验证AD域中身份信息的密码。 |