Ubuntu/Debian デスクトップで True SSO を有効にするには、SSSD ソリューションを使用して、ベース仮想マシン (VM) と Active Directory (AD) ドメインを統合します。次に、Horizon Agent をインストールする前に、信頼された認証をサポートするためにルート認証局 (CA) 証明書をインストールします。

次の手順に従って、Ubuntu/Debian 仮想マシンで SSSD を使用した True SSO を有効にします。

説明の中で、仮想マシンのホスト名などのネットワーク構成のエンティティをプレースホルダーで表している部分があります。次の表を参考にして、これらのプレースホルダーの値をご使用の環境に合わせて変更してください。

プレースホルダーの値 説明
dns_IP_ADDRESS DNS ネーム サーバの IP アドレス
mydomain.com Active Directory ドメインの DNS 名
MYDOMAIN.COM Active Directory ドメインの DNS 名。すべて大文字にします。
myhost Ubuntu/Debian 仮想マシンのホスト名
MYDOMAIN ワークグループの DNS 名または Samba サーバが含まれている NT ドメインの DNS 名。すべて大文字にします。
ads-hostname Active Directory サーバのホスト名
admin-user Active Directory ドメインの管理者のユーザー名

前提条件

  • 仮想マシンで次のいずれかのディストリビューションが実行されていることを確認します。
    • Ubuntu 22.04/20.04
    • Debian 12.x/11.x
    注: SSSD を使用した True SSO は、Debian 10.x デスクトップではサポートされません。Debian 10.x デスクトップで True SSO を構成するには、「 Ubuntu/Debian デスクトップの Samba を使用した True SSO の構成」の説明に従って Samba ドメイン参加を使用します。
  • Workspace ONE Access と Horizon Connection Server に True SSO を設定します。
  • ルート CA 証明書を取得して、Ubuntu/Debian 仮想マシンの /tmp/certificate.cer に保存します。「ルート CA 証明書をエクスポートする方法」を参照してください。

    下位認証局 (CA) も発行機関の場合は、ルートおよび下位 CA 証明書のチェーン全体を取得し、仮想マシンの /tmp/certificate.cer に保存します。

手順

  1. ベース仮想マシンで、Active Directory とのネットワーク接続を確認します。
    sudo realm discover mydomain.com
  2. 必要な依存パッケージをインストールします。
    sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
  3. Active Directory ドメインに参加します。
    sudo realm join --verbose mydomain.com -U admin-user
  4. ルート CA 証明書または証明書チェーンをインストールします。
    1. ダウンロードしたルート CA 証明書または証明書チェーンを見つけて、PEM ファイルに転送します。
      sudo 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
    ad_gpo_access_control = permissive #Only add this line for Ubuntu 20.04 and Debian 12 to fix https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997
     
    [pam] #Add pam section for certificate login
    pam_cert_auth = True #Add this line to enable certificate login for system
    pam_p11_allowed_services = +gdm-vmwcred #Add this line to enable certificate login 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. /etc/krb5.conf 構成ファイルのアクセス モードを変更して、編集可能にします。
    sudo chmod 644 /etc/krb5.conf
  7. 次の例のように、/etc/krb5.conf ファイルを変更します。
    [realms]
     MYDOMAIN.COM = {
        kdc = kdcserver.mydomain.com
        admin_server = dnsserver.mydomain.com
        pkinit_anchors = DIR:/etc/sssd/pki
        pkinit_kdc_hostname = kdcserver.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. 仮想マシンを再起動して、再度ログインします。