9.2. ユーザーディレクトリ

9.2.1. ユーザーディレクトリで何らかの問題が発生しています。さらに詳しい情報を記録するようにログレベルを調整してもよいですか
9.2.2. Active Directory に対する Kerberos 認証が少し動作したあとで停止します
9.2.3. Active Directory の認証用に Kerberos の代わりに PKI を使用できますか
9.2.4. ユーザーディレクトリに対しては、どのようなタイプの特権アクセスが必要ですか
9.2.5. Active Directory でコンピュータオブジェクトの自動クリーンアップを無効にできますか

9.2.1. ユーザーディレクトリで何らかの問題が発生しています。さらに詳しい情報を記録するようにログレベルを調整してもよいですか

はい、ログに記録される情報の詳細度を上げることができます。

デフォルトでは、すべての Oracle VDI サービスメッセージが Cacao ログファイルに記録されます。「Oracle VDI ログファイルを確認する方法」を参照してください。ディレクトリサービスに対するログレベルを上げるには、root ユーザーで次のコマンドを実行します:

# cacaoadm set-filter -i vda -p com.sun.directoryservices=ALL
# cacaoadm set-filter -i vda -p com.sun.sgd=ALL

Linux プラットフォームでは、cacaoadm コマンドは /opt/sun/cacao2/bin にあります。

ログレベルの変更後、Oracle VDI サービスを再起動します:

# /opt/SUNWvda/sbin/vda-service restart

Oracle VDI サービスの再起動後、問題を再現し、Cacao ログファイルを確認します (「Oracle VDI ログファイルを確認する方法」を参照してください)。

ディレクトリサービスに対するログレベルをデフォルトにリセットするには、root ユーザーで次のコマンドを実行します:

# cacaoadm set-filter -i vda -p com.sun.directoryservices=NULL
# cacaoadm set-filter -i vda -p com.sun.sgd=NULL

そのあとで Oracle VDI サービスを再起動します:

# /opt/SUNWvda/sbin/vda-service restart

9.2.2. Active Directory に対する Kerberos 認証が少し動作したあとで停止します

この問題の一時的な解決方法は、各 Oracle VDI ホストに対して次を実行することです:

kinit -V administrator@MY.DOMAIN

この場合、次の可能性があります:

  1. 時間同期の問題。

    ドメインコントローラと Oracle VDI サーバーが同じ NTP サーバーに接続していることを確認してください。

  2. Kerberos の構成の問題。

    Kerberos の構成ファイル (krb5.conf) に libdefaults セクションが含まれ、default_realm が次の例のように設定されていることを確認してください:

    [libdefaults]
    default_realm = MY.COMPANY.COM
    
    [realms]
    MY.COMPANY.COM = {
    kdc = my.windows.host
    }
    
    [domain_realm]
    .my.company.com = MY.COMPANY.COM
    my.company.com = MY.COMPANY.COM

9.2.3. Active Directory の認証用に Kerberos の代わりに PKI を使用できますか

もちろん PKI 認証を使用でき、Kerberos 認証の場合と同じ機能 (Active Directory からのコンピュータの削除など) が提供されるはずです。

9.2.4. ユーザーディレクトリに対しては、どのようなタイプの特権アクセスが必要ですか

LDAP タイプの認証の場合:

  • Oracle VDI でユーザーを検索し、ログインするユーザーに割り当てられたデスクトップを解決するための、ユーザー全体およびグループベース全体に対する読み取りアクセス (単一のドメインで Active Directory を使用している場合は、通常、CN=Users,DC=my,DC=domain,DC=com に対するものになります)。

  • Active Directory を使用している場合は、CN=Configuration,DC=my,DC=domain,DC=com という場所に対する読み取りアクセス。Oracle VDI で、エンドユーザーのログインダイアログのドメインフィールドに、ドメインまたはサブドメインリストを事前入力するために使用されます。これは必須ではなく、このようなアクセスが Oracle VDI に付与されていない場合は、ログインダイアログのドメインフィールドは空のままになります。

Active Directory タイプの認証の場合:

  • Oracle VDI でユーザーを検索し、ログインするユーザーに割り当てられたデスクトップを解決するための、ユーザー全体およびグループベース全体に対する読み取りアクセス。(単一のドメインで Active Directory を使用している場合は、通常、CN=Users,DC=my,DC=domain,DC=com に対するものになります)。

  • CN=Configuration,DC=my,DC=domain,DC=com という場所に対する読み取りアクセス。Oracle VDI で、エンドユーザーのログインダイアログのドメインフィールドに、ドメインまたはサブドメインリストを事前入力するために使用されます。これは必須ではなく、このようなアクセスが Oracle VDI に付与されていない場合は、ログインダイアログのドメインフィールドは空のままになります。

  • コンピュータの場所に対する書き込みアクセス。Windows ホストが my.domain.com ドメインに参加している場合は、通常、CN=Computers,DC=my,DC=domain,DC=com に対するものになります。コンピュータの場所に対する書き込みアクセスは、クローニングされたデスクトップ (VM) が破棄されたときに、Oracle VDI で対応するコンピュータエントリを AD から削除するために使用されます。クローニングされた Windows デスクトップがドメインに参加したときに、通常は Sysprep で指示されて、AD によってコンピュータエントリが自動的に作成されます。書き込みアクセスは必須ではなく、このようなアクセスを持たないユーザーを指定した場合、Oracle VDI で AD からコンピュータエントリを削除できず、AD 内のコンピュータエントリの数が増え続けますが、このような問題が発生するのは、Windows デスクトップをクローニングして使用している場合のみです。

9.2.5. Active Directory でコンピュータオブジェクトの自動クリーンアップを無効にできますか

Active Directory を使用していて、Windows デスクトップがドメインに参加すると、Active Directory に新しいコンピュータオブジェクトが作成されます。Kerberos 認証を使用している場合、Oracle VDI はデスクトップが削除されるたびに Active Directory からコンピュータオブジェクトを自動的に削除します。

この動作は、プールの domain-cleanup プロパティーを次のように構成することによって無効にできます:

/opt/SUNWvda/sbin/vda pool-setprops -p domain-cleanup=disabled <pool>