vCenter Single Sign-On 允许 vSphere 组件通过安全的令牌机制相互通信。

vCenter Single Sign-On 使用以下服务。
  • 通过外部身份提供程序联合或 vCenter Server 内置身份提供程序对用户进行身份验证。内置身份提供程序支持本地帐户、Active Directory 或 OpenLDAP、集成 Windows 身份验证 (IWA) 和其他身份验证机制(智能卡和 RSA SecurID)。
  • 通过证书对解决方案用户进行身份验证。
  • Security Token Service (STS)。
  • 用于确保安全流量的 SSL。

vCenter Server 内置身份提供程序

vCenter Server 包含内置身份提供程序。默认情况下,vCenter Server 使用 vsphere.local 域作为标识源(但可以在安装过程中进行更改该域)。可以使用 LDAP/S、OpenLDAP/S 或集成 Windows 身份验证 (IWA),将 vCenter Server 内置身份提供程序配置为使用 Active Directory (AD) 作为其标识源。此类配置允许客户使用其 AD 帐户登录到 vCenter Server

vCenter Server 和外部身份提供程序

在 vSphere 7.0 及更高版本中,可以使用联合身份验证为 vCenter Server 配置外部身份提供程序。在此类配置中,将替换 vCenter Server 作为身份提供程序。

vSphere 支持以下身份提供程序。

  • vSphere 7.0 及更高版本:Active Directory 联合身份验证服务 (AD FS)
  • vSphere 8.0 Update 1 及更高版本:Okta
  • vSphere 8.0 Update 2 及更高版本:Microsoft Entra ID(以前称为 Azure AD)
  • 从 vSphere 8.0 Update 3 开始:PingFederate

将 vSphere 配置为使用外部身份提供程序时,外部身份提供程序将代表 vCenter Server 与标识源进行交互。

用户使用 vCenter Server 身份提供程序联合身份验证登录

使用外部身份提供程序对 vCenter Server 进行身份验证时,vCenter Server 会将登录请求重定向到外部身份提供程序。外部身份提供程序使用其目录服务对用户进行身份验证,然后颁发令牌,供 vCenter Server 执行用户登录。

例如,下图详细展示了使用 AD FS 的 vCenter Server 身份提供程序联合的用户登录流程。

图 1. 使用 AD FS 身份提供程序联合的 vCenter Server 用户登录

此图显示了用户使用 AD FS 身份提供程序联合登录 vCenter Server 的过程流。

vCenter Server、AD FS 和 Active Directory 按以下方式进行交互:

  1. 用户首先在 vCenter Server 登录页输入用户名。
  2. 如果用户名用于联合域,vCenter Server 会将身份验证请求重定向到 AD FS。
  3. (如果需要)AD FS 提示用户使用 Active Directory 凭据登录。
  4. AD FS 使用 Active Directory 对用户进行身份验证。
  5. AD FS 发出包含 Active Directory 中组信息的安全令牌。
  6. vCenter Server 使用令牌登录用户。
现在对用户进行身份验证,然后用户可以查看和修改用户角色具有特权的任何对象。
注: 首先,每个用户都分配有“无权访问”角色。 vCenter Server 管理员必须至少为用户分配“只读”角色,用户才能登录。请参见 《vSphere 安全性》文档。

如果外部身份提供程序不可访问,登录过程将回退到 vCenter Server 登录页,并显示相应的信息消息。用户仍可以使用 vsphere.local 标识源中的本地帐户登录。

vCenter Server 和 Okta、Microsoft Entra ID 或 PingFederate 之间的交互类似于与 AD FS 的交互,但 vCenter Server 使用 VMware Identity Services。请参见VMware Identity Services 身份验证过程

用户使用 vCenter Server 内置身份提供程序登录

下图显示了 vCenter Server 作为身份提供程序时的用户登录流程。

图 2. 用户使用 vCenter Server 内置身份提供程序登录
用户登录到 vSphere Client 时,Single Sign-On 服务器会建立身份验证握手。
  1. 用户使用用户名和密码登录 vSphere Client 以访问 vCenter Server 系统或其他 vCenter 服务。
  2. vSphere Client 将登录信息传递到 vCenter Single Sign-On 服务,该服务将检查 vSphere Client 的 SAML 令牌。如果 vSphere Client 具有有效令牌,vCenter Single Sign-On 随后会检查用户是否位于已配置的标识源中(例如,Active Directory)。
    • 如果仅使用用户名,则 vCenter Single Sign-On 将在默认域中执行检查。
    • 如果域名随用户名一起提供(DOMAIN\user1 或 user1@DOMAIN),则 vCenter Single Sign-On 将检查该域。
  3. 如果用户可以对此标识源进行身份验证,则 vCenter Single Sign-On 会返回表示 vSphere Client 的用户的令牌。
  4. vSphere Client 将令牌传递到 vCenter Server 系统。
  5. vCenter ServervCenter Single Sign-On 服务器确认令牌是否有效且未过期。
  6. vCenter Single Sign-On 服务器将令牌返回到 vCenter Server 系统,从而使用 vCenter Server 授权框架以允许用户访问。
现在对用户进行身份验证,然后用户可以查看和修改用户角色具有特权的任何对象。
注: 首先,每个用户都分配有“无权访问”角色。 vCenter Server 管理员必须至少为用户分配“只读”角色,用户才能登录。请参见 《vSphere 安全性》文档。

解决方案用户登录

解决方案用户是 vCenter Server 基础架构中使用的一组服务,例如 vCenter Server 扩展。VMware 扩展及潜在的第三方扩展也可能对 vCenter Single Sign-On 进行身份验证。

注: vCenter Server 仅将解决方案用户证书用于内部通信。解决方案用户证书不用于外部通信。

下图显示了解决方案用户的登录流程。

图 3. 解决方案用户登录
解决方案用户、vCenter Single Sign-On 和其他 vCenter 组件之间的握手遵循以下文本中的步骤。
  1. 解决方案用户尝试连接到 vCenter Server 服务。
  2. 解决方案用户被重定向到 vCenter Single Sign-On。如果解决方案用户是 vCenter Single Sign-On 的新用户,则必须提供有效的证书。
  3. 如果证书有效,vCenter Single Sign-On 将向解决方案用户分配 SAML 令牌(持有者令牌)。令牌由 vCenter Single Sign-On 签名。
  4. 然后,解决方案用户被重定向到 vCenter Single Sign-On,并可以基于其权限执行任务。

    下次解决方案用户必须进行身份验证时,可以使用 SAML 令牌登录到 vCenter Server

默认情况下,此握手将自动执行,因为 VMCA 会在启动期间为解决方案用户置备证书。如果公司策略要求使用第三方 CA 签名证书,则可以将解决方案用户证书替换为第三方 CA 签名的证书。如果这些证书有效,vCenter Single Sign-On 将向解决方案用户分配 SAML 令牌。请参见使用 Certificate Manager 将解决方案用户证书替换为自定义证书

vSphere 中支持的加密

支持 AES 加密,即最高级别的加密。支持的加密会在 vCenter Single Sign-On 使用 Active Directory 作为标识源时影响安全性。

它还会在 ESXi 主机或 vCenter Server 加入 Active Directory 时影响安全性。