vCenter Server支持通过SAML 2.0 协议与第三方 IdP(如 Authentik、Okta、Azure AD、Keycloak 等)集成,实现统一身份认证(SSO)。以下是详细配置步骤,涵盖IdP端配置、vCenter 端配置、验证与故障排查,本文章适用于 vCenter Server 8.03以上版本
前置准备
- Authentik 身份提供商,提供单点登录平台 (需要配置Https访问)
- Esxi 虚拟化平台,
- vCenter 8.0.3
重点说明!!!
vCenter 域名与新增SSO域名不可以为同一个,二级域名也不行。否则会出现认证失败的问题!
vCenter 前置条件
- vCenter完全使用FQDN域名访问;这里我使用vcenter.frps.cn进行演示
- vCenter版本需要8.03及更高版本
- Authenik加入的域名需要配置为
i4t.com,只要和vCenter不是同一个域即可;否则认证不过去
这里我提供8.03 vCenter测试包,以及补丁包,如已部署VCenter可以使用补丁包升级
飞牛分享【vcenter-8.03】,点击链接下载文件,App打开可转存到NAS:https://esxi-dsm.frps.cn/s/86b2130657854049a2
Authentik 官方推荐Docker Compose以及Kubernetes的方式进行部署
官方文档参考地址:https://docs.goauthentik.io/install-config/install/docker-compose/
Authentik 应用程序配置
登录Authentik后台,在Application中创建应用程序

设置名称
这里的名称就是前台显示的
可见名称即我们后续查看的名称,组也是方便在用户端查看

这里我以我的域名作为演示

Authentik 提供程序配置
Provider 提供程序需要创建2个
- OAuth2 Provider
- SCIM Provider
SCIM的配置是需要在vCenter配置好以后在添加,这里主要配置OAuth2 Provider
Application选择Provider进行创建提供程序

类型选择OAuth2/OpenID Provider

创建名称vCenter Provider,最好和我的相同,方便后续排查问题

- 重定向域名https://[vCenter域名]]/federation/t/CUSTOMER/auth/response/oauth2

其它配置默认,不进行修改

目前vCenter Provider还没有关联应用程序,接下来需要在应用程序中进行关联

提供程序这里,关联我们刚刚创建的提供者

vCenter 配置认证信息
接下来需要访问vCenter 配置单点登录
建议提前使用Nginx or其它代理配置好https

访问vCenter菜单-系统管理

系统管理-Single Sign On - 配置 - 标识源

这里新增Okta配置

点击运行检查

检查通过后,我们配置认证信息
这里需要重点说明,域名不能和vCenter域名为同一个!
别忘记点击加号

以下信息在提供者中包含
- 客户端标识符
- 共享密钥
- OpenID 地址
只有共享密钥需要点击编辑查看,其它不需要点击编辑即可查看



身份提供者名称可以任意填写

检查配置
配置完成
- 保存租户URL
- 密钥也需要生成保留

点击生成并保留,后续需要使用

Authentik 创建用户、用户组
创建用户和用户组主要用于Authentik用户认证,并且关联vCenter也使用这里的用户
用户这里不要乱操作,否则会导致SCIM Provider同步用户组失败

用户名frps
邮箱test@i4t.com 邮箱也不建议和vCenter域名相同
点击创建

创建完毕用户后点击用户

进行密码重置,用于登录Authentik

如果只想使用管理员登录,这里就可以不创建用户,只需要跟着我下面创建用户组即可
创建用户组
这里的用户组名在vCenter中也可以获取到

先不要将用户加入到用户组中!
先不要将用户加入到用户组中!
先不要将用户加入到用户组中!
先不要将用户加入到用户组中!
先不要将用户加入到用户组中!
Authentik 创建SCIM Provider
接下来在提供程序中创建SCIM 类型的提供者,用于vCenter密钥的验证

选择创建 SCIM Provider

这里创建名称

协议中的令牌和URL为vCenter中的地址,复制过来

关闭证书验证
不关闭验证证书,会导致authentik同步数据到vCenter中失败

同步组选择我们刚刚创建的组,没关联任何用户

其它配置不做修改
创建完毕后,还需要和应用程序关联,否则不生效

点击应用程序,找到vCenter Server

选择反向通道提供程序


更新完毕后,我们查看SCIM 状态

将带有警告的都重复执行

这里的执行是Worker进行在执行
能跑的都点一遍

状态都是成功后,我们添加授权用户组和用户

到用户组添加用户


接下来返回SCIM 提供程序,添加同步用户(frps)


这里可以看到已经同步了

在确认下同步组

查看下同步状态
只要没有失败即同步正常

vCenter 关联Authentik用户组及用户
SCIM同步完用户后,接下来我们先确认同步的用户是否在vCenter中可以看到

这里可以看到用户已经同步过来,配置信息都是我们authentik中的

配置授权,授权管理员
- 授权用户组
到全局中添加权限

选择i4t.com 即authentik域

搜索创建的用户组

查看授权,这里可以看到权限已配置

- 授权用户
如果我们只想授权某一个用户访问,也可以这里创建用户的权限,前提是同步过来。步骤和上面的相同
访问验证
首先登录Authentik

- 用户名输入frps
- 密码输入frps的密码
这里我们前面创建的用户

点击vCenter Server应用


frps第一次访问关联vCenter的时候会提示是否关联登录

跳转成功
这里用户信息就都是我们配置的信息

常见报错
1.首先不要直接用官方文档的重定向地址,目测有问题
#官方提供路径
https://vcenter.frps.cn/ui/login/oauth2/authcode
#我本地验证通过路径
https://vcenter.frps.cn/federation/t/CUSTOMER/auth/response/oauth2
2.如果出现下图的报错,认证失败的问题

解决办法
- 删除SCIM 提供程序
- 删除用户、用户组
- 修改用户、用户组域名
- 调整vCenter域名
- 主要检查SCIM同步是否有失败
如果有更多相关关联问题,可以评论和我沟通












