您可以使用 sso-config 公用程式從命令列設定智慧卡驗證。該公用程式支援所有智慧卡組態工作。

開始之前

  • 確認您的環境使用的是 Platform Services Controller 6.0 版 Update 2 或更新版本,且您使用的是 vCenter Server 6.0 或更新版本。將 5.5 版節點升級至 6.0 版。

  • 確認環境中已設定企業公開金鑰基礎結構 (PKI),並且憑證符合下列需求:

    • 使用者主體名稱 (UPN) 與主體別名 (SAN) 延伸中的 Active Directory 帳戶相對應。

    • 必須在憑證的 [應用程式原則] 或 [增強金鑰使用方法] 欄位中指定用戶端驗證,否則瀏覽器不會顯示該憑證。

  • 確認 Platform Services Controller Web 介面憑證受使用者工作站信任;否則,瀏覽器不會嘗試驗證。

  • 設定 Active Directory 身分識別來源,並將其新增至 vCenter Single Sign-On 做為身分識別來源。

  • vCenter Server 管理員角色指派給 Active Directory 身分識別來源中的一或多個使用者。隨後這些使用者即可執行驗證,因為他們處於 Active Directory 群組中,且具有 vCenter Server 管理員權限。administrator@vsphere.local 使用者無法執行智慧卡驗證。

  • 如果您想要在環境中使用 Platform Services Controller HA 解決方案,請完成所有 HA 組態,然後再設定智慧卡驗證。請參閱 VMware 知識庫文章 2112085 (Windows) 或 2113315 (vCenter Server Appliance)。

執行這項作業的原因和時機

從命令列設定智慧卡驗證時,您始終要先使用 sso-config 命令設定 Platform Services Controller。然後,您可以使用 Platform Services Controller Web 介面執行其他工作。

  1. 設定 Platform Services Controller,以便在使用者登入時網頁瀏覽器要求提交智慧卡憑證。

  2. 設定驗證原則。您可以使用 sso-config 指令碼或 Platform Services Controller Web 介面來設定原則。支援的驗證類型和撤銷設定的組態儲存在 VMware Directory Service 中,並於 vCenter Single Sign-On 網域中的所有 Platform Services Controller 執行個體之間複寫。

如果啟用了智慧卡驗證,並停用其他驗證方法,則系統會要求使用者使用智慧卡驗證登入。

如果無法從 vSphere Web Client 登入,且使用者名稱和密碼驗證已關閉,根使用者或管理員使用者可以從 Platform Services Controller 命令列執行以下命令來重新開啟使用者名稱和密碼驗證。該範例適用於 Windows;對於 Linux,請使用 sso-config.sh

sso-config.bat -set_authn_policy -pwdAuthn true

您可以在以下位置找到 sso-config 指令碼:

Windows

C:\Program Files\VMware\VCenter server\VMware Identity Services\sso-config.bat

Linux

/opt/vmware/bin/sso-config.sh

程序

  1. 取得憑證,並將其複製到 sso-config 公用程式可存取的資料夾中。

    選項

    說明

    Windows

    登入 Platform Services Controller Windows 安裝,並使用 WinSCP 或類似的公用程式來複製檔案。

    應用裝置

    1. 直接登入或使用 SSH 登入應用裝置主控台。

    2. 按如下方式啟用應用裝置 shell。

      shell.set --enabled True
      shell
      chsh -s "/bin/bash" root
      csh -s "bin/appliance/sh" root
    3. 使用 WinSCP 或類似公用程式將憑證複製到 Platform Services Controller 上的 /usr/lib/vmware-sso/vmware-sts/conf

    4. 按如下方式選擇性地停用應用裝置 shell。

      chsh -s "bin/appliancesh" root
  2. 在每個 Platform Services Controller 節點上,使用 sso-config CLI 設定智慧卡驗證設定。
    1. 前往 sso-config指令碼所在的目錄。

      選項

      說明

      Windows

      C:\Program Files\VMware\VCenter server\VMware Identity Services

      應用裝置

      /opt/vmware/bin

    2. 執行下列命令:
      sso-config.[bat|sh] -set_tc_cert_authn -switch true -cacerts  [FirstTrustedCA.cer,SecondTrustedCA.cer,...]  -t tenant
      

      例如:

      sso-config.bat -set_tc_cert_authn -switch true -cacerts MySmartCA1.cer -t vsphere.local
      
    3. 重新啟動虛擬或實體機器。
      service-control --stop vmware-stsd
      service-control --start vmware-stsd
      
  3. 若要針對 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
    

    如果您指定多個憑證,憑證間不允許有空格。

  4. 若要停用所有其他驗證方法,請執行以下命令。
    sso-config.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

    您可以使用這些命令視需要啟用和停用不同驗證方法。

  5. (選擇性) ︰ 若要設定憑證原則允許清單,請執行以下命令。
    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 憑證可以擁有憑證原則延伸。

  6. (選擇性) ︰ 若要列出組態資訊,請執行以下命令。
    sso-config.[bat|sh] -get_authn_policy -t tenantName