VMware vCenter Server 8.0 接入 Windows Server 2022 AD 域:LDAPS 身份源与权限配置
本文专门介绍如何将 VMware vCenter Server 8.0 接入 Windows Server 2022 Active Directory,使用 AD 账号统一登录 vSphere Client,并通过 AD 安全组完成 vCenter 权限授权。
本文采用的方案是:
1 | |
如果 VCSA 尚未安装,请先阅读:《VMware vCenter Server Appliance 8.0 安装部署教程:从 ESXi 到 VCSA》。
序言
VCSA 安装完成后,默认已经拥有一套自己的认证体系:
1 | |
典型管理员账号为:
1 | |
这套账号可以独立于 Windows 域工作,很适合用作 vCenter 的本地应急管理入口。
但在企业或长期实验环境中,如果每个管理员都单独维护一套 vCenter 本地账号,会带来明显问题:
- 人员入离职需要单独维护;
- 密码策略无法统一;
- 权限组难以与企业组织架构保持一致;
- 审计和账号生命周期管理变复杂。
因此,更合理的方案是:
1 | |
也就是让 AD 回答:
1 | |
再让 vCenter 回答:
1 | |
一、先理解两个“域”
这是接入 AD 时最容易混淆的地方。
假设环境中有:
1 | |
它们不是一回事。
| 域 | 用途 |
|---|---|
lab.example.com |
Windows Server 2022 Active Directory |
vsphere.local |
vCenter 内部 Single Sign-On |
不要因为准备接入 AD,就把 VCSA 的 SSO 域也设置成:
1 | |
推荐保留:
1 | |
作为不依赖 AD、DNS 身份源和 LDAPS 的紧急管理账号。
二、示例环境
本文使用:
| 项目 | 配置 |
|---|---|
| AD DNS 域 | lab.example.com |
| AD NetBIOS 域 | LAB |
| 域控制器 | dc01.lab.example.com |
| DC IP | 192.168.10.10 |
| VCSA | vcsa01.lab.example.com |
| VCSA IP | 192.168.10.20 |
| vSphere SSO 域 | vsphere.local |
| LDAP 查询账号 | svc-vcenter-ldap@lab.example.com |
| vSphere 管理员组 | GG-vSphere-Admins |
2.1 认证拓扑
flowchart LR
USER["管理员<br/>mario@lab.example.com"]
VC["vCenter Server 8.0"]
DC["Windows Server 2022<br/>AD DS + DNS + LDAPS"]
GROUP["AD Group<br/>GG-vSphere-Admins"]
ROLE["vCenter Role<br/>Administrator"]
USER -->|"登录"| VC
VC -->|"LDAPS 636 查询身份"| DC
DC -->|"用户 / 组信息"| VC
USER --> GROUP
GROUP -->|"vCenter Permission"| ROLE
三、AD 接入前的基础条件
在配置 vCenter 身份源之前,必须先保证:
1 | |
其中任何一项出错,都可能表现成一句非常朴素的:
1 | |
然后把真正的问题藏得很好。
四、准备 Windows Server 2022 AD 域
如果 AD 域已经存在,可以直接跳到 DNS、时间和 LDAPS 检查。
4.1 给域控制器配置固定 IP
示例:
1 | |
4.2 安装 AD DS 与 DNS
PowerShell:
1 | |
创建新林:
1 | |
按照提示设置 DSRM 密码并重启。
五、DNS 是 AD 接入的前置依赖
5.1 VCSA 应使用内部 AD DNS
本文推荐:
1 | |
不要让 VCSA 只使用:
1 | |
否则公网域名可能解析得非常开心,但内部域名却找不到:
1 | |
5.2 外网 DNS 应使用转发器
让 Windows DNS 处理内部域,再把互联网查询转发出去。
例如:
1 | |
实际地址请替换成企业或所在地可靠的上游 DNS。
5.3 创建反向查找区域
PowerShell:
1 | |
5.4 创建 VCSA A / PTR
1 | |
5.5 验证解析
1 | |
预期:
1 | |
从 VCSA 上也要验证:
1 | |
六、统一时间同步
Kerberos、Token、证书和目录服务都对时间非常敏感。
如果 VCSA 与域控制器时间差过大,可能出现:
- AD 登录失败;
- SSO Token 校验失败;
- 证书被判断为尚未生效;
- LDAPS 连接失败;
- vCenter 服务异常。
6.1 Windows Server 配置上游 NTP
如果 DC01 是 PDC Emulator,可以配置可靠上游 NTP:
1 | |
查看状态:
1 | |
如果生产网络不能访问公网 NTP,请替换为企业时间服务器。
6.2 VCSA 检查时间
1 | |
核心原则是:
1 | |
七、为什么使用 AD over LDAPS
对于 vCenter 8,新环境更推荐使用:
1 | |
而不是继续把设计建立在旧的 Integrated Windows Authentication(IWA)方式上。
本文的方案不要求把 VCSA 自身作为 Windows 域成员加入 AD,而是通过 LDAP 身份源查询 AD。
优点包括:
- LDAP 流量加密;
- 身份源边界更加清晰;
- 不依赖 VCSA 加入 Windows 域;
- 可以单独管理 LDAP 查询服务账号;
- 可以为主、备域控制器分别配置 LDAPS 地址。
八、准备 LDAPS 证书
8.1 域控制器证书要求
域控制器用于 LDAPS 的证书应满足:
- 安装在 Local Computer 证书存储;
- 有私钥;
- EKU 包含
Server Authentication; - Subject 或 SAN 包含域控制器 FQDN;
- 示例:
dc01.lab.example.com; - 证书在有效期内;
- 证书链可信;
- DC 正在监听 TCP 636。
8.2 实验环境可部署 AD CS
如果没有现有 PKI,可以在实验环境部署 Microsoft AD CS。
服务器管理器:
1 | |
实验环境可以选择:
1 | |
生产环境不要因为教程图省事就把离线根 CA、域控制器和所有管理服务全堆在同一台服务器里。
8.3 检查域控制器证书
打开:
1 | |
进入:
1 | |
检查是否存在颁发给:
1 | |
并包含:
1 | |
如果已经部署企业 CA,可以尝试:
1 | |
九、验证 LDAPS 636
9.1 Windows 侧检查端口
1 | |
预期:
1 | |
9.2 使用 ldp.exe 验证
运行:
1 | |
选择:
1 | |
填写:
1 | |
9.3 从 VCSA 检查证书链
1 | |
重点检查:
- 实际连接的是 FQDN;
- SAN 包含
dc01.lab.example.com; - 证书未过期;
- 中间 CA / Root CA 完整;
- TLS 握手正常。
不要习惯性使用:
1 | |
如果证书只签给了 dc01.lab.example.com,用 IP 访问会造成证书名称不匹配。
十、导出 LDAPS 证书
在 certlm.msc 中可以导出域控制器证书或 CA 证书链。
推荐格式:
1 | |
后续添加 vCenter 身份源时,将证书或可信 CA 链提供给 vCenter。
建议保留:
- 当前证书文件;
- CA 根证书;
- 中间 CA;
- 到期日期;
- 证书续期流程。
LDAPS 证书过期不是“以后再说”的问题,它非常擅长在某个周一早上突然变成“所有 AD 用户都登不上 vCenter”。
十一、创建专用 LDAP 查询服务账号
不要长期把 Domain Admin 凭据保存在 vCenter 身份源配置里。
创建普通服务账号:
1 | |
11.1 创建 Service Accounts OU
1 | |
11.2 创建账号
1 | |
普通域用户通常已经拥有读取常规目录信息的权限,不需要加入:
1 | |
生产环境应把这个账号纳入密码保险库、轮换和到期监控。
十二、在 vCenter 中添加 AD over LDAPS 身份源
先使用:
1 | |
登录 vSphere Client。
进入:
1 | |
不同 vCenter 8 Update 版本的中文翻译可能略有不同,但核心路径都位于 Single Sign-On 的 Identity Sources 配置区域。
12.1 选择身份源类型
选择:
1 | |
建议使用:
1 | |
而不是明文 ldap://。
12.2 示例配置
| 字段 | 示例 |
|---|---|
| Name | LAB-AD-LDAPS |
| Base DN for users | DC=lab,DC=example,DC=com |
| Domain name | lab.example.com |
| Domain alias | LAB |
| Base DN for groups | DC=lab,DC=example,DC=com |
| Primary server URL | ldaps://dc01.lab.example.com:636 |
| Secondary server URL | ldaps://dc02.lab.example.com:636 |
| Username | svc-vcenter-ldap@lab.example.com |
| Password | LDAP 服务账号密码 |
| SSL certificate | 域控制器证书链 / 受信 CA |
只有一台域控制器时,Secondary URL 可以留空。
12.3 Base DN 怎么选
初次接入建议先从域根开始:
1 | |
这样最容易验证是否能够正常搜索用户和组。
如果直接限制到很深的 OU,例如:
1 | |
可能导致:
- 找不到其他 OU 用户;
- 找不到授权组;
- 嵌套组解析异常;
- 用户认证成功但无法搜索到对应组。
先跑通,再根据安全与目录结构需求收紧查询范围。
12.4 Global Catalog
如果需要 Global Catalog,可以使用:
1 | |
单域、小型环境通常直接使用:
1 | |
即可。
十三、设置默认身份源
身份源添加成功后,可以根据需要设置为默认身份源。
这样登录时可以使用更短的账号格式。
不过为了避免多身份源之间的用户名冲突,仍建议明确写:
1 | |
或者:
1 | |
而不是只写:
1 | |
十四、身份认证成功不代表有权限
这是接入 AD 后第二个最常见的误区。
vCenter 身份源只负责让系统知道:
1 | |
它不会自动赋予 vCenter Administrator 权限。
还需要配置:
1 | |
推荐不要直接给个人用户授权,而是创建 AD 安全组。
十五、创建 vSphere 管理员 AD 组
15.1 创建 Groups OU
1 | |
15.2 创建管理组
1 | |
15.3 添加管理员用户
1 | |
以后人员变化时,只需要维护 AD 组成员,而不用逐个修改 vCenter Permission。
十六、在 vCenter 中给 AD 组授权
在 vSphere Client 中选择最上层 vCenter 对象:
1 | |
选择:
1 | |
实验环境可以直接使用 Administrator。
生产环境建议按职责拆分:
- vSphere 平台管理员;
- VM 管理员;
- 网络管理员;
- 存储管理员;
- 只读审计员;
- 备份系统服务账号。
不要给整个 IT 部门统一套上 Administrator。那不是 RBAC,那只是把权限问题改名叫“以后再说”。
十七、测试 AD 登录
退出 administrator@vsphere.local。
使用:
1 | |
或:
1 | |
验证:
- 能否完成认证;
- 能否进入 vSphere Client;
- 能否看到预期对象;
- 权限是否与角色一致;
- 是否可以通过 AD 组变化控制权限。
然后再次验证:
1 | |
仍然可以正常登录。
这个账号必须长期保留。
十八、为什么必须保留 SSO 本地管理员
AD 接入之后,至少还存在这些外部依赖:
1 | |
只要其中任何一项故障,AD 用户登录都有可能受到影响。
所以必须保留:
1 | |
它相当于 vCenter 的“破窗锤”。
平时希望永远用不上,但真出问题时,最好别发现它被放在窗外。
十九、LDAPS 高可用建议
如果环境有两台域控制器:
1 | |
可以分别配置:
1 | |
两台域控制器都必须:
- DNS 正常;
- 636 可达;
- 拥有有效 LDAPS 证书;
- 证书 SAN 匹配各自 FQDN;
- 证书链可被 vCenter 信任;
- 时间正常。
不要只验证主 DC,然后把一个从未测试过的 Secondary URL 填进去求心理安慰。
二十、常见故障排查
20.1 无法添加 LDAPS 身份源
典型错误:
1 | |
先检查:
1 | |
再从 VCSA 检查:
1 | |
逐项排查:
- FQDN 是否解析正确;
- TCP 636 是否开放;
- 证书 SAN 是否包含域控制器 FQDN;
- 证书是否过期;
- CA 链是否完整;
- Base DN 是否正确;
- LDAP 服务账号密码是否正确;
- 服务账号是否锁定;
- 是否混用了
ldap://和ldaps://。
20.2 AD 用户能搜索到,但无法登录
检查:
- 用户是否 Enabled;
- 密码是否过期;
- 用户是否 Locked;
- 登录格式是否正确;
- vCenter 与 AD 时间是否一致;
- LDAPS 证书是否有效;
- Identity Source 是否正常。
尝试:
1 | |
20.3 AD 用户能登录,但看不到任何对象
这一般不是 LDAP 故障,而是 vCenter Permission 没配。
检查:
1 | |
确认:
- AD 用户或组已授权;
- Role 正确;
Propagate to children已勾选。
20.4 LDAPS 证书更新后突然登录失败
域控制器证书续期后,vCenter 保存的信任证书可能不再匹配。
处理前先使用:
1 | |
登录。
然后:
1 | |
部分版本和配置下,更新证书时重新创建身份源会比直接修改更干净。
20.5 VCSA 能解析公网域名,但不能解析 AD 域
通常说明 VCSA DNS 指到了公网 DNS。
检查:
1 | |
并在 VAMI 中确认 DNS 指向内部 DNS:
1 | |
外部查询交给 Windows DNS Forwarder。
20.6 LDAP 服务账号密码变更后身份源失败
如果组织启用了密码轮换,必须把:
1 | |
纳入变更流程。
建议:
- 使用密码保险库;
- 明确责任人;
- 记录变更窗口;
- 变更后立即验证 Identity Source;
- 保留 SSO 管理员回退入口。
二十一、证书到期监控
至少记录:
1 | |
可以建立简单运维表:
| 证书 | 用途 | 到期日 | 责任人 | 提前提醒 |
|---|---|---|---|---|
| DC01 LDAPS | LDAP TLS | YYYY-MM-DD | AD 管理员 | 60 天 |
| Root CA | PKI | YYYY-MM-DD | PKI 管理员 | 180 天 |
| VCSA Machine SSL | vSphere Client | YYYY-MM-DD | VMware 管理员 | 60 天 |
不要等“AD 用户突然都登不上”之后,才第一次知道 LDAPS 也有证书生命周期。
二十二、权限设计建议
生产环境推荐通过 AD Group 映射 vCenter Role:
flowchart LR
U1["用户 A"] --> G1["GG-vSphere-Admins"]
U2["用户 B"] --> G2["GG-vSphere-VM-Admins"]
U3["用户 C"] --> G3["GG-vSphere-Auditors"]
G1 --> R1["Administrator"]
G2 --> R2["VM Operator / 自定义角色"]
G3 --> R3["Read Only"]
不要直接大量维护:
1 | |
优先维护:
1 | |
这样人员生命周期和平台权限模型更容易解耦。
二十三、AD / LDAPS 上线检查清单
23.1 DNS
-
dc01.lab.example.com可解析 -
vcsa01.lab.example.com可解析 - VCSA PTR 正常
- VCSA 使用内部 AD DNS
- Windows DNS 配置了外网转发器
23.2 时间
- 域控制器时间正确
- VCSA 时间正确
- ESXi 时间正确
- 时间源一致或可信
23.3 LDAPS
- TCP 636 可达
- 域控制器证书包含 Server Authentication
- SAN 包含 DC FQDN
- 证书未过期
- CA 链完整
-
openssl s_client验证正常
23.4 LDAP 服务账号
- 使用专用服务账号
- 不是 Domain Admin
- 密码已纳入管理
- 账号未锁定
- 密码轮换流程明确
23.5 vCenter
- AD over LDAP Identity Source 添加成功
- 使用
ldaps://...:636 - Base DN 正确
- AD 用户可以被搜索
- AD Group 已绑定 vCenter Role
-
Propagate to children按需求配置 - AD 用户实际登录测试成功
-
administrator@vsphere.local仍然可用
23.6 运维
- LDAPS 证书到期日已记录
- 身份源变更前有 VAMI 备份
- 主 / 备域控制器都验证过
- 有 AD 故障时的本地 SSO 回退路径
二十四、推荐的最终结构
一套比较清晰的 vCenter + AD 身份体系可以是:
1 | |
这个设计把:
1 | |
三个层次分开,故障边界也更清晰。
总结
把 vCenter 接入 AD,并不是简单地“填一个域名”。
真正完整的链路是:
1 | |
其中最重要的原则有四个:
1 | |
认证链路越集中,就越要给故障场景留下一个不依赖它自己的入口。
参考资料
- VMware vCenter Server 8.0 Installation and Setup Guide
- Broadcom:Removal of Integrated Windows Authentication
- Broadcom:Migrating Identity Source from IWA to AD over LDAP
- Microsoft Learn:Best Practices for DNS Client Settings
- Microsoft Learn:Configure Certificates for LDAP over SSL
- Broadcom:Manually Back Up vCenter Server by Using VAMI
启示录
身份系统最危险的设计,不是认证失败,而是认证失败之后没有第二把钥匙。
备豫不虞,为国常道。