Toggle
- 前置准备
- Authentik 安装
- Authentik 应用程序配置
- Authentik 提供程序配置
- vCenter 配置认证信息
- Authentik 创建用户、用户组
- Authentik 创建SCIM Provider
- vCenter 关联Authentik用户组及用户
- 访问验证
- 常见报错
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 安装
Authentik 官方推荐Docker Compose以及Kubernetes的方式进行部署
> 官方文档参考地址:https://docs.goauthentik.io/install-config/install/docker-compose/
https://i4t.com/25733.html
Authentik 应用程序配置
登录Authentik后台,在Application中创建应用程序

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

这里我以我的域名作为演示
> https://vcenter.frps.cn/ui

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/oauth22.如果出现下图的报错,认证失败的问题

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