Linux デスクトップにシングル サインオン (SSO) を設定するには、いくつかの手順を実行する必要があります。

VMware Horizon 8 のシングル サインオン モジュールは Linux で PAM(プラグ可能な認証モジュール)と通信を行い、Linux 仮想マシンを Active Directory (AD) と連携するために使用する方法には依存しません。Horizon 8 Single Sign-on は、Linux 仮想マシンを Active Directory と連携する OpenLDAP と Winbind のソリューションで動作することが分かっています。

デフォルトの場合、SSO では、Active Directory の sAMAccountName 属性がログイン ID であると想定されます。OpenLDAP か Winbind ソリューションを使用する場合、正しいログイン ID を SSO に使用するには、次の構成手順を実行する必要があります。

  • OpenLDAP では、sAMAccountNameuid に設定します。
  • Winbind では、次のステートメントを構成ファイル /etc/samba/smb.conf に追加します。
    winbind use default domain = true
ユーザーがドメイン名を指定してログインする必要がある場合は、 SSOUserFormat オプションを Linux デスクトップで設定する必要があります。詳細については、 Linux デスクトップでの構成ファイルのオプション設定を参照してください。SSO では常に、大文字で短いドメイン名が使用されます。たとえば、ドメインが mydomain.com である場合、SSO では MYDOMAIN がドメイン名として使用されます。このため、 SSOUserFormat オプションを設定するときには、MYDOMAIN を指定する必要があります。短いドメイン名と長いドメイン名については、次のルールが適用されます。
  • OpenLDAP では、大文字で短いドメイン名を使用する必要があります。
  • Winbind では、長いドメイン名と短いドメイン名が両方ともサポートされます。

Active Directory ではログイン名で特殊文字がサポートされますが、Linux ではサポートされません。このため、SSO のセットアップ時には、特殊文字をログイン名に使用しないでください。

Active Directory では、ユーザーの UserPrincipalName (UPN) 属性と sAMAccount 属性が一致せずに、ユーザーが UPN でログインすると、SSO は失敗します。たとえば、Active Directory の mycompany.com にユーザー juser が存在しているときに、ユーザーの UPN が [email protected] ではなく [email protected] の場合、SSO が失敗します。ユーザーが、sAMAccount に保存されている名前を使用してログインすると、これを回避できます。たとえば、juser のように追加します。

Horizon Agent では、ユーザー名の大文字と小文字を区別する必要はありません。Linux オペレーティング システムで、大文字と小文字を区別しないユーザー名を処理できることを確認してください。
  • Winbind では、ユーザー名の大文字と小文字がデフォルトで区別されません。
  • OpenLDAP では、Ubuntu が NSCD を使用してユーザーを認証し、デフォルトでは大文字と小文字が区別されません。
  • RHEL、Rocky Linux、CentOS は SSSD を使用してユーザーを認証します。デフォルトでは大文字と小文字が区別されます。設定を変更するには、ファイル /etc/sssd/sssd.conf を編集して次の行を [domain/default] セクションに追加します。
    case_sensitive = false

Linux 仮想マシンに複数のデスクトップ環境がインストールされている場合には、デスクトップ環境を参照して、SSO で使用するデスクトップ環境を選択してください。