最近在处理 vCenter 8.0 的 ADFS 集成问题时,遇到了一个奇怪的报错。当使用属于 SystemConfiguration.Administrators 或 vsphere.local/Administrators 组的 ADFS 用户登录 VAMI(vCenter 管理界面5480)时,虽然登录成功,但页面顶部会显示错误信息:“Unable to get historical data import status. Check server status”,同时健康状态和 Single Sign-On 字段都显示“unknown”。
故障现象与日志分析
问题表现
-
- 登录成功但页面显示错误信息
- 健康状态和 SSO 字段显示“unknown”
- 日志中显示组名被错误地重复附加域名
日志关键信息
在 /var/log/vmware/wcp/wcpsvc.log 中发现了关键线索:
Checking privileges for username: \USERNAME, groupnames
@@
可以看到,ADFS 用户所属的组名被错误地解析为 @@,域名被重复附加了两次,导致权限检查失败。
故障根因分析
这个问题的根本原因在于 vCenter 8.0 处理 ADFS 即时(Just-In-Time)配置组的方式有缺陷。vCenter 预期 ADFS 组名只应该包含组名部分,而不应该包含完整的 UPN(用户主体名称)格式。当组名包含域名时,vCenter 会错误地再次附加域名,导致组名变成 @@,从而导致权限验证失败。
解决方案
官方修复方案
VMware 已在 vCenter 8.0 Update 3h 中修复了这个问题。如果你遇到这个问题,建议:
1. 检查当前版本:确认你的 vCenter 版本是否是 8.0 Update 3h 或更高版本
2. 规划升级:如果版本低于 8.0 Update 3h,计划升级到最新版本
3. 临时缓解:在升级之前,可以尝试使用 vsphere.local 域的本地用户登录 VAMI 进行管理操作
相关参考 KB
这个问题与另一个类似的 Azure AD 集成问题有相同的根本原因,具体可以参考 KB:
- “After upgrading to vSphere 8.0 U3, SSO users in Azure AD groups unable use kubectl get error ‘namespaces is forbidden: User'”
总结
这个问题其实就是 vCenter 8.0 处理 ADFS 组名解析时的一个缺陷,导致具有管理员权限的 ADFS 用户在登录 VAMI 时出现权限验证失败。虽然登录成功,但页面显示错误信息,健康状态和 SSO 字段无法正常显示。通过升级到 vCenter 8.0 Update 3h 可以彻底解决这个问题。
在 vSphere 8.0 的新版本中,VMware 不仅修复了这个 ADFS 集成问题,还对整个 SSO 和身份验证系统进行了优化,提升了安全性和稳定性。因此,建议所有 vCenter 8.0 用户及时升级到最新版本,以获得更好的用户体验和安全保障。







