注意
这是社区贡献教程,不属于官方支持范围。
Azure AD Domain Services LDAP(LDAPS)
本教程演示如何让 OPL 数据空间通过 Azure AD Domain Services(AAD DS)使用安全 LDAP 登录。
前提
- Azure 账号,并具备创建 AAD DS 与修改 NSG 的权限
- 一台正在运行的 OPL 数据空间
- 一个你的 Azure 主域名,例如
example.onmicrosoft.com
大致流程
- 在 Azure 中创建 Azure AD Domain Services
- 找到 Secure LDAP external IP
- 为 LDAPS 准备并上传证书(测试环境可自签名,生产建议公有 CA)
- 在 NSG 中放通 TCP
636 - 在 Entra ID 里创建一个服务账号
- 配置 OPL 数据空间的 LDAP 环境变量
- 用
openssl s_client和ldapsearch验证连通性
关键环境变量
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 证书导入宿主机 / 容器信任链。