RemoteAppでセッションブローカ利用時にシングルサインオンが効かないときは

Remote Desktop Services
RemoteAppを使用してアプリケーションを使用する場合、
サーバを構成した状態だとRemoteApp接続時に認証画面が表示されます。
しかしリモートデスクトップ接続ならまだしも、アプリ使用時に毎回ユーザ名とパスワードを入力するのも煩わしいです。

以下の条件に何れかに適合すれば、シングルサインオンを構成でき
毎回の認証が行われなくなります。

・Windows VistaとWindows Server 2008の組み合わせで、かつ両者がドメインに参加している。
・Windows Server 2008とWindows Server 2008の組み合わせで、かつ両者がドメインに参加している。


シングルサインオンの構成方法は様々なサイトで説明されているため、詳細は割愛します。

ターミナル・サービスによるクライアントの仮想化(後編) (4/4)
http://www.atmarkit.co.jp/ait/articles/0804/10/news135_4.html
まず、グループポリシーで、[コンピュータの構成]-[ポリシー]-[管理テンプレート]-[システム]-[資格情報の委任]-[規定の資格情報の委任を許可する]を有効に設定し、
サーバ一覧に「termsrv/<ターミナル・サーバのホスト名>」を追加します。


このGPOを対象のクライアントマシンに適用させれば完了です。


セッションホストサーバを単体で使用している場合は上記方法でSSOを構成できますが、
セッションホストをファーム構成にしセッションブローカサーバを使用して負荷分散を行っている場合は
上記設定でもシングルサインオンが行われません。

これでRemoteAppのアイコンをクリックすると認証画面が表示され、
「お使いの資格情報は機能しませんでした。リモート コンピュータの ID を完全に確認できないので、リモート コンピュータ(ファーム名)へのログオンの既定の(または保存された)資格情報の使用はシステム管理者により許可されていません。資格情報を入力してください。」

というメッセージが表示されます。

この現象については、以下のブログに詳細が書かれています。
http://blogs.msdn.com/b/rds/archive/2008/04/30/problems-using-default-credentials-with-vista-rdp-clients-with-single-sign-on-enabled.aspx
この記事によると、サーバーファーム名がADにないため、Kerberos認証ができないことが原因のようです。

対処方法としては、
・サーバーファーム名のSSL証明書を使用する方法
が推奨されています。

ただSSL証明書が使用できない場合は、
・Kerberosよりセキュアでない方法になるが、ユーザーの既定の資格情報でNTLMを許可する
という方法が記載されています。

具体的にどうやるかというと、

まず、グループポリシーで、[コンピュータの構成]-[ポリシー]-[管理テンプレート]-[システム]-[資格情報の委任]を選択し、
[NTLMのみのサーバ認証で規定の資格情報の委任を許可する]を有効にします。
サーバ一覧に「termsrv/<ターミナル・サーバのホスト名>」を追加します。

※検証しましたが、termsrv/ホスト名では上手くいきませんでした。
termsrv/*(全ての意)とやると上手くいきました。
ファーム構成の影響と思われますが、細かな調査は行えていません。
もしかしてFQDNではなかった事が原因?
[規定の資格情報の委任を許可する]のサーバ一覧も、termsrv/* でないと上手くSSOが効きませんでした。

このGPOを対象のクライアントマシンに適用させれば完了です。

これでRemoteAppのアイコンをクリックすると、認証なしでアプリケーションが起動します。
ただし、上記設定前に資格情報をクライアントマシンに記憶させている場合は、
そのままでは上手くいきません。

一度リモートデスクトップの資格情報を削除する必要があります。

以下の画面のようにリモートデスクトップ接続画面から削除できます。

新しいビットマップ イメージ

 

コメント