跳到主要内容
注意

这是社区贡献教程,不属于官方支持范围。

Azure AD Domain Services LDAP(LDAPS)

本教程演示如何让 OPL 数据空间通过 Azure AD Domain Services(AAD DS)使用安全 LDAP 登录。

前提

  • Azure 账号,并具备创建 AAD DS 与修改 NSG 的权限
  • 一台正在运行的 OPL 数据空间
  • 一个你的 Azure 主域名,例如 example.onmicrosoft.com

大致流程

  1. 在 Azure 中创建 Azure AD Domain Services
  2. 找到 Secure LDAP external IP
  3. 为 LDAPS 准备并上传证书(测试环境可自签名,生产建议公有 CA)
  4. 在 NSG 中放通 TCP 636
  5. 在 Entra ID 里创建一个服务账号
  6. 配置 OPL 数据空间的 LDAP 环境变量
  7. openssl s_clientldapsearch 验证连通性

关键环境变量

ENABLE_LDAP=true
LDAP_SERVER_LABEL="Azure AD DS"
LDAP_SERVER_HOST="1.2.3.4"
LDAP_SERVER_PORT="636"
LDAP_USE_TLS=true
LDAP_VALIDATE_CERT=false
LDAP_APP_DN="ldap@example.onmicrosoft.com"
LDAP_APP_PASSWORD="<PASSWORD>"
LDAP_SEARCH_BASE="DC=example,DC=onmicrosoft,DC=com"
LDAP_ATTRIBUTE_FOR_USERNAME="sAMAccountName"
LDAP_ATTRIBUTE_FOR_MAIL="userPrincipalName"
LDAP_SEARCH_FILTER="(&(objectClass=user)(objectCategory=person))"

如果你还要同步组,可以再开启:

ENABLE_LDAP_GROUP_MANAGEMENT=true
ENABLE_LDAP_GROUP_CREATION=true
LDAP_ATTRIBUTE_FOR_GROUPS="memberOf"

验证

openssl s_client -connect 1.2.3.4:636 -showcerts
ldapsearch -H ldaps://1.2.3.4 -D "ldap@example.onmicrosoft.com" -w '<PASSWORD>' -b "DC=example,DC=onmicrosoft,DC=com" -s sub "(sAMAccountName=<test_user>)"

如果生产环境启用 LDAP_VALIDATE_CERT=true,记得把对应 CA 证书导入宿主机 / 容器信任链。