可以使用 sso-config 实用程序从命令行管理智能卡身份验证。该实用程序支持所有智能卡配置任务。

开始之前

  • 验证您的环境是否使用 Platform Services Controller 版本 6.5,以及您是否使用 vCenter Server 版本 6.0 或更高版本。Platform Services Controller 版本 6.0 Update 2 支持智能卡身份验证,但设置过程有所不同。

  • 验证在您的环境中是否设置了企业公钥基础架构 (PKI),以及证书是否满足以下要求:

    • 用户主体名称 (UPN) 必须对应于主体备用名称 (SAN) 扩展名中的 Active Directory 帐户。

    • 必须在证书的“应用程序策略”或“增强型密钥使用”字段中指定“客户端身份验证”,否则浏览器将不显示证书。

  • 确认 Platform Services Controller Web 界面证书受最终用户工作站信任。否则,浏览器不会尝试身份验证。

  • 将 Active Directory 标识源添加到 vCenter Single Sign-On。

  • vCenter Server 管理员角色分配给 Active Directory 标识源中的一个或多个用户。然后,这些用户可执行管理任务,因为他们可以进行身份验证,并且具有 vCenter Server 管理员特权。

    注:

    默认情况下,vCenter Single Sign-On 域的管理员 administrator@vsphere.local 无法执行智能卡身份验证。

  • 设置反向代理,然后重新启动物理机或虚拟机。请参见配置反向代理以请求客户端证书

关于此任务

支持的身份验证类型和吊销设置的配置存储在 VMware Directory Service 中,且在 vCenter Single Sign-On 域中的所有 Platform Services Controller 实例之间复制。

如果禁用用户名和密码身份验证,且智能卡身份验证出现问题,则用户无法登录。在这种情况下,root 或管理员用户可以从 Platform Services Controller 命令行打开用户名和密码身份验证。以下命令可启用用户名和密码身份验证。

操作系统

命令

Windows

sso-config.bat -set_authn_policy 
-pwdAuthn true -t <tenant_name>

如果您使用默认租户,请使用 vsphere.local 作为租户名称。

Linux

sso-config.sh -set_authn_policy -pwdAuthn true
-t <tenant_name>

如果您使用默认租户,请使用 vsphere.local 作为租户名称。

如果您使用 OCSP 进行吊销检查,则可以依靠在智能卡证书 AIA 扩展中指定的默认 OCSP。您还可以替代默认设置并配置一个或多个替代 OCSP 响应者。例如,您可以设置 vCenter Single Sign-On 站点本地的 OCSP 响应者,用于处理吊销检查请求。

注:

如果您的证书未定义 OCSP,请改为启用 CRL(证书吊销列表)。

过程

  1. 获取证书并将其复制到 sso-config 实用程序可以检测到的文件夹。

    选项

    描述

    Windows

    登录到 Platform Services Controller Windows 安装,并使用 WinSCP 或类似的实用程序复制文件。

    Appliance

    1. 直接或者使用 SSH 登录到设备控制台。

    2. 启用设备 shell,如下所示。

      shell
      chsh -s "/bin/bash" root
    3. 使用 WinSCP 或类似的实用程序将证书复制到 Platform Services Controller 上的 /usr/lib/vmware-sso/vmware-sts/conf

    4. 选择性禁用设备 shell,如下所示。

      chsh -s "bin/appliancesh" root
  2. 要为 VMware Directory Service (vmdir) 启用智能卡身份验证,请运行以下命令。
    sso-config.[bat|sh] -set_authn_policy -certAuthn true -cacerts first_trusted_cert.cer, second_trusted_cert.cer  -t tenant
    

    例如:

    sso-config.[bat|sh] -set_authn_policy -certAuthn true -cacerts MySmartCA1.cer, MySmartCA2.cer  -t vsphere.local
    
  3. 要禁用所有其他身份验证方法,请运行以下命令。
    sso-config.[bat|sh] -set_authn_policy -pwdAuthn false -t vsphere.local
    sso-config.sh -set_authn_policy -winAuthn false -t vsphere.local
    sso-config.sh -set_authn_policy -securIDAuthn false -t vsphere.local
  4. (可选) : 要设置证书策略白名单,请运行以下命令。
    sso-config.[bat|sh] -set_authn_policy -certPolicies policies

    要指定多个策略,请用逗号分隔它们,例如:

    sso-config.bat -set_authn_policy -certPolicies 2.16.840.1.101.2.1.11.9,2.16.840.1.101.2.1.11.19

    此白名单指定证书的证书策略扩展中允许的策略的对象 ID。X509 证书可具有证书策略扩展。

  5. (可选) : 启用并配置使用 OCSP 进行吊销检查。
    1. 启用使用 OCSP 进行吊销检查。
      sso-config.[bat|sh]  -set_authn_policy -t tenantName  -useOcsp true
    2. 如果未通过证书的 AIA 扩展提供 OCSP 响应者链接,请提供替代 OCSP 响应者 URL 和 OCSP 颁发机构证书。

      替代 OCSP 在每个 PSC 站点中配置。您可以为 vCenter Single Sign-On 站点指定多个替代 OCSP 响应者,以便允许进行故障切换。

      sso-config.[bat|sh] -t tenant -add_alt_ocsp  [-siteID yourPSCClusterID] -ocspUrl http://ocsp.xyz.com/ -ocspSigningCert yourOcspSigningCA.cer

      注:

      默认情况下,配置将应用于当前 vCenter Single Sign-On 站点。仅当为其他 vCenter Single Sign-On 站点配置替代 OCSP 时,才需要指定 siteID 参数。

      以下示例说明了此情况。

       .sso-config.[bat|sh] -t vsphere.local -add_alt_ocsp -ocspUrl http://failover.ocsp.nsn0.rcvs.nit.disa.mil/ -ocspSigningCert ./DOD_JITC_EMAIL_CA-29__0x01A5__DOD_JITC_ROOT_CA_2.cer
       Adding alternative OCSP responder for tenant :vsphere.local
       OCSP reponder is added successfully!
       [
       site::   78564172-2508-4b3a-b903-23de29a2c342
           [
           OCSP url::   http://ocsp.nsn0.rcvs.nit.disa.mil/
           OCSP signing CA cert:   binary value]
           ]
           [
           OCSP url::   http://failover.ocsp.nsn0.rcvs.nit.disa.mil/
           OCSP signing CA cert:   binary value]
           ]
       ]
    3. 要显示当前的替代 OCSP 响应者设置,请运行此命令。
      sso-config.[bat|sh] -t tenantName -get_alt_ocsp]
      
    4. 要移除当前的替代 OCSP 响应者设置,请运行以下命令。
      sso-config.[bat|sh] -t tenantName -delete_alt_ocsp [-allSite] [-siteID pscSiteID_for_the_configuration]
      
  6. (可选) : 要列出配置信息,请运行以下命令。
    sso-config.[bat|sh] -get_authn_policy -t tenantName