一键登录 更安全快捷
邮箱登录
我已阅读并接受 用户协议 隐私政策

VCF9.1 Harbor集成VCF‑IDB身份代理实现外部联合身份完整实操指南

William Lam 2026‑08‑19运维速报:VCF9.1的VCF Identity Broker(IDB身份代理)可以为Harbor镜像仓库提供OIDC身份联邦;复用已经对接外部IdP(Keycloak/AD等)的VCF‑IDB,不需要在外部身份源单独创建Harbor的OIDC客户端;文章完整给出端到端配置步骤,从获取Harbor回调地址、VCF Operations创建OIDC客户端,到Harbor填写OIDC参数、测试连通、首次授权角色;该方案同样适用于vSphere Supervisor,实验室基于VIS Fling搭配Keycloak完成验证。

有VMware全系列产品官方资源和定制版资源需求的可以移步:

VCF9.1 Harbor可对接VCF‑IDB身份代理做OIDC联邦认证,复用IDB已对接的外部身份源,无需在外部IdP新建客户端;重点注意Issuer URL末尾斜杠、scope不能带空格、group_names组声明、username claim填写acct;测试连通后使用无痕窗口完成OIDC登录,登录后必须用Harbor本地admin账号给OIDC用户分配管理员角色,否则只有默认权限;适用于支持OIDC的各类VCF组件。

一、前置条件

  1. VCF9.1已部署并启用VCF Identity Broker(IDB);

  2. IDB已经对接外部身份源(Keycloak / AD‑LDAP等),VCF SSO可以正常完成外部账号登录;

  3. Harbor已经部署完成,具备Harbor Admin管理员权限;

  4. 网络层面:Harbor可访问VCF‑IDB FQDN,证书信任链完整,无证书报错;

  5. 外部IdP用户已经归属对应用户组,用于Harbor权限映射。

二、完整分步配置流程

步骤1:获取Harbor OIDC回调重定向URL

  1. 登录Harbor Admin WebUI;

  2. 导航:管理(Administration) → 配置(Configuration) → 认证(Authentication);

  3. 认证类型选择OIDC,页面底部复制回调URL,示例:https://vis.vcf.lab:9443/c/oidc/callback

  4. 保存该Redirect URL,后续在VCF Operations录入。

步骤2:VCF Operations为Harbor新建OIDC客户端

  1. 登录VCF Operations;

  2. 导航:管理(Manage) → Fleet管理(Fleet Management) → 身份与访问(Identity & Access) → VCF SSO概览 → 其他组件(Other Components);

  3. 点击【Add Component】添加组件;

  4. 填写友好名称(Name);选择已经部署好的Identity Broker实例;粘贴步骤1复制的Redirect重定向URL;

  5. 点击regenerate生成Client ID与Client Secret;

  6. 记录:Identity‑Broker Issuer URL、Client ID、Client Secret;重要:Issuer URL必须携带末尾斜杠,例 https://vcf‑idb02.vcf.lab/acs/t/CUSTOMER/,缺失斜杠会验证失败。

步骤3:回到Harbor填写全套OIDC参数

Harbor OIDC配置项填写值说明
OIDC Provider Name自定义友好显示名称登录页展示的OIDC登录按钮名称
OIDC Endpoint步骤2拿到的Issuer URL必须保留末尾 / 斜杠
OIDC Client IDVCF Operations生成Client ID
OIDC Client SecretVCF Operations生成Client Secret
Group Claim Namegroup_namesIDB返回组信息的声明字段,固定填写
OIDC Admin Group外部IdP内管理员用户组名称填写IdP中Harbor管理员所在组名
OIDC Scopeopenid,profile,email,offline_access,groups逗号分隔不能包含空格,否则Harbor报语法错误
Automatic Onboarding☑勾选启用开启后可填写Username claim
Username claimacct固定,用于映射登录用户名

填写完成,点击【Test OIDC Server】测试OIDC连通性,返回绿色代表Harbor与IDB通信正常。

步骤4:无痕浏览器窗口验证OIDC登录

  1. 浏览器开启无痕/隐私模式,访问Harbor地址;

  2. 页面会出现VCF‑SSO/OIDC的登录选项;

  3. 使用外部IdP合法账号完成登录;登录成功进入Harbor,但此时只有默认普通权限。

步骤5:Harbor本地admin账号分配管理员角色

  1. 退出OIDC账号,重新以Harbor内置admin本地账号登录Harbor;

  2. 用户管理中找到刚刚OIDC登录的外部账号;

  3. 为该用户分配Administrator管理员角色;

  4. 完成后就可以直接使用外部IdP账号以管理员身份操作Harbor镜像仓库。

三、常见故障坑点汇总

  • ❌ Issuer URL缺少末尾斜杠 → OIDC测试直接报错,务必复制完整包含末尾/;

  • ❌ Scope参数逗号后带空格 → Harbor前端抛出语法校验失败,scope严格:openid,profile,email,offline_access,groups无任何空格;

  • ❌ Group Claim Name填错 → 无法识别外部用户组,权限映射失效,必须写 group_names

  • ❌ Username claim不是acct → 用户自动创建失败,自动开户Automatic Onboarding失效;

  • ✅ OIDC登录成功但无管理员权限:这是预期行为!OIDC首次登录仅普通权限,必须本地admin手动分配角色;

  • ❌ HTTPS证书不信任:Harbor主机操作系统信任VCF‑IDB根CA证书,否则握手失败。

四、与vSphere Supervisor IDB集成对比

项目Harbor对接IDBvSphere Supervisor对接IDB
OIDC客户端创建位置VCF Operations → Other ComponentsVCF Operations → Other Components
回调URL来源Harbor Administration‑Authentication页面Supervisor集群配置‑身份提供商页面
用户名claimacctsub / 对应vSphere参数
证书要求Harbor信任IDB根CASupervisor集群导入IDB根CA证书

五、适用与不适用场景

推荐使用场景

  1. VCF整套环境,已经通过IDB对接企业AD、Keycloak等外部身份源;

  2. 希望Harbor、vCenter、Supervisor、Harbor使用同一套外部身份账号;

  3. 不想在每一个业务组件单独维护一套OIDC客户端配置。

不适用场景

VCFA租户门户场景:租户侧身份源直接在VCFA租户门户配置,不走基础设施层VCF‑IDB代理。

六、高频问答

Q1:外部IdP是Keycloak,还需要在Keycloak再创建Harbor的OIDC Client吗? A:不需要,全部在VCF‑IDB层面完成,复用IDB已经对接Keycloak的链路。

Q2:OIDC测试通过,但是登录之后用户没有管理员权限? A:设计如此,OIDC首次登录自动开户仅普通权限;需要使用Harbor本地admin账号,对该OIDC用户手动授予Administrator角色。

Q3:scope参数里面的offline_access作用是什么? A:用于获取refresh刷新令牌,实现会话持久,不要删除该scope值。

Q4:这套配置是否支持多租户Harbor? A:基础OIDC联合可以,细粒度项目/仓库权限依旧需要Harbor内部做RBAC分配。

全文总结

VCF9.1的Harbor镜像仓库支持对接VCF‑IDB身份代理实现OIDC外部身份联邦;复用IDB已经对接AD/Keycloak等外部身份源,避免每个组件单独在IdP创建OIDC客户端;操作关键点:Issuer URL末尾斜杠、scope无空格、group_names组声明、username claim填写acct;连通测试成功不等于权限完成,必须Harbor本地admin账号为OIDC登录用户手动分配管理员角色;该模式和vSphere Supervisor对接IDB思路同源,适合统一VCF基础设施身份,实验室基于VIS Fling+Keycloak完成验证,生产务必注意证书信任与RBAC权限分配。

用户留言 User Comments