若要在 RHEL 9.x/8.x 桌面平台上支援 True SSO,您必須先將基礎虛擬機器 (VM) 與 Active Directory (AD) 網域整合。接著,您必須修改系統上的特定組態以支援 True SSO 功能。

此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。

預留位置值 說明
mydomain.com AD 網域的 DNS 名稱
MYDOMAIN.COM AD 網域的 DNS 名稱 (全部使用大寫字母)
MYDOMAIN NetBIOS 網域的名稱
dnsserver.mydomain.com DNS 伺服器的名稱

必要條件

  • 設定 Workspace ONE Access 和 Horizon Connection Server的 True SSO。
  • 確認 Active Directory (AD) 伺服器在基礎虛擬機器上可由 DNS 解析。
  • 設定虛擬機器的主機名稱。
  • 設定虛擬機器上的網路時間通訊協定 (NTP)。
  • 取得根憑證授權機構 (CA )憑證,並將其儲存至虛擬機器上的 /tmp/certificate.cer。請參閱《如何匯出根憑證授權機構憑證》

    如果次級 CA 也是核發授權機構,請取得根和次級 CA 憑證的整個鏈結,並將其儲存至虛擬機器上的 /tmp/certificate.cer

  • 若要在 FIPS 模式下使用 True SSO,請確保您已完成設定符合 FIPS 標準的 Linux 虛擬機器中所述的所有步驟。您必須將 VMwareBlastServer 的信任 CA 憑證新增至 /etc/vmware/ssl/rui.crt,並將與 rui.crt 配對的金鑰新增至 /etc/vmware/ssl/rui.key

程序

  1. 在基礎虛擬機器上,確認與 Active Directory 的網路連線。
    realm discover mydomain.com
  2. 安裝所需的相依性套件。
    yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. 加入 AD 網域。
    realm join --verbose mydomain.com -U administrator
  4. 安裝根 CA 憑證或憑證鏈結。
    1. 找出您所下載的根 CA 憑證或憑證鏈結,並將其傳輸至 PEM 檔案。
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
      
    2. 將憑證複製到 /etc/sssd/pki/sssd_auth_ca_db.pem 檔案。
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. 修改 /etc/sssd/sssd.conf 組態檔,如下列範例所示。
    [sssd]
    domains = mydomain.com
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = MYDOMAIN.COM
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = False             #Use short name for user
    fallback_homedir = /home/%u@%d
    access_provider = ad
    ad_gpo_map_interactive = +gdm-vmwcred         #Add this line for SSO
     
    [pam]                                         #Add pam section for certificate logon
    pam_cert_auth = True                          #Add this line to enable certificate logon for system
    pam_p11_allowed_services = +gdm-vmwcred       #Add this line to enable certificate logon for VMware Horizon Agent
     
    [certmap/mydomain.com/truesso]                #Add this section and following lines to set match and map rule for certificate user
    matchrule = <EKU>msScLogin
    maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
    domains = mydomain.com
    priority = 10
  6. 透過將模式設定為等於 644 以修改 /etc/krb5.conf 組態檔。
    備註: 如果您未按指定修改 /etc/krb5.conf,則 True SSO 功能可能無法正常運作。
  7. (RHEL 9.x) 為了確保 TrueSSO 在即時複製桌面平台集區中正常運作,請修改以下組態。
    備註: 如果您未將虛擬機器用於即時複製桌面平台集區,可跳過這些組態。
    1. 執行命令以明確允許 SHA-1 密碼編譯原則。
      update-crypto-policies --set DEFAULT:SHA1
    2. 找出您先前下載的根 CA 憑證或憑證鏈結,並複製到 /etc/pki/ca-trust/source/anchors/ca_cert.pem。然後,使用 update-ca-trust 命令,讓舊版應用程式能夠讀取受信任的憑證。
      cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
      update-ca-trust
    3. 修改 /etc/krb5.conf/ 檔案,如下列範例所示。
      [realms]
           MYDOMAIN.COM = {
                kdc =  dnsserver.mydomain.com
                admin_server =  dnsserver.mydomain.com
                pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
                pkinit_kdc_hostname =  dnsserver.mydomain.com
                pkinit_eku_checking = kpServerAuth
           }
      [domain_realm]
           .mydomain.com = MYDOMAIN.COM
           mydomain.com = MYDOMAIN.COM
  8. 安裝 Horizon Agent 套件,並啟用 True SSO。
    sudo ./install_viewagent.sh -T yes
  9. 修改 /etc/vmware/viewagent-custom.conf 組態檔,使其包含下列行。
    NetbiosDomain = MYDOMAIN
  10. 重新啟動虛擬機器,並重新登入。