SharePoint 2010 で SAML クレームを使用すると動作が遅くなる
原文の記事の投稿日: 2011 年 7 月 14 日 (木曜日)
先日、SharePoint サポートの親友 Adam C. から注意を呼びかける連絡が届きました。SAML クレームを使用するユーザーからの苦情が増えているというのです。問題は、SAML 認証を使ってサイトにログインするのに非常に時間がかかるという現象に始まります。Fiddler のようなツールで要求を監視すると、時間の大半が SharePoint Server で費やされ、そのほとんどが /_trust サブディレクトリに関連することがわかります。このような現象が発生し、要求が SharePoint Server 上で時間の大半を過ごしていることが確認された場合、ファームがインターネットにアクセスできない状態にあると考えられます。この状況は、SharePoint Server で CAPI2 ログを有効に設定する方法でも確認できます。Adam によると、この方法を使用する手順は次のとおりです。
CAPI2 は、Vista/2008 で使用可能な新しい暗号化 API です。CAPI2 の診断機能は、2000/XP/2003 で使用可能な PKI 診断を大幅に強化します。CAPI2 診断情報は、CAPI2 操作ログ (イベント ビューアーで [アプリケーションとサービス ログ] (Applications and Services Logs)、[Microsoft]、[Windows]、[CAPI2]、[Operational] を順にクリックすると表示される) に記録されます。CAPI2 ログを使用して、Vista/2008 でのほとんどの PKI 操作をトラブルシューティングできます。
CAPI2 ログは、既定で無効に設定されます。ログを有効にするには、イベント ビューアーで CAPI2 操作ログを右クリックし、[ログの有効化] (Enable Logging) をクリックします。また、ログは Wevtutil を使用して有効にすることもできます。
wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:true
Wevtutil を使用してログを無効にする場合は、次の構文を使用します。
wevtutil.exe sl Microsoft-Windows-CAPI2/Operational /e:false
詳細については、「Troubleshooting PKI Problems in Windows Vista (英語)」を参照してください。
CAPI2 ログを有効にしたら、SharePoint に再びログインし、イベント ビューアーを表示してください。イベント コード 11 (チェーンの作成) と 53 (オブジェクトをネットワークから取得) があれば、イベント 53 に注目し、https://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (英語) への要求を処理しようとしているかどうかを確認します。この操作が実行中であり、ファームがインターネットにアクセスできない状態にあれば、到達を試みる間にあらゆる種類のタイムアウトを余儀なくされます。さて、この問題を回避する方法ですが、これは次の 2 つがあります。
- SharePoint から "SharePoint ルート証明機関" の証明書をエクスポートし、信頼されたルート証明機関ストアにインポートします。証明書 MMC に移動し、SharePoint ルート証明機関の証明書をエクスポートしてから、これを信頼されたルート証明機関にインポートします。これで、両方の証明書がコンピューター証明書ストアに配置され、SharePoint ルート証明機関の証明書が MMC の SharePoint ノードに配置されます。
- グループ ポリシーを使用して、ネットワークからのサード パーティのルート証明書の取得を無効にします。これを行うには、GPO に移動し、[コンピュータの構成] (Computer Configuration)、[Windows の設定] (Windows Settings)、[セキュリティの設定] (Security Settings)、[公開キーのポリシー] (Public Key Policies) の順にクリックします。[証明書パス検証の設定] (Certificate Path Validation Settings) という名前のポリシーを探し、これを開いてから [ネットワークの取得] (Network Retrieval) タブをクリックします。[これらのポリシーの設定を定義する] (Define these policy settings) チェック ボックスをオンにし、[Microsoft ルート証明書プログラムで証明書を自動更新する (推奨)] (Automatically update certificates in the Microsoft Root Certificate Program (recommended)) チェック ボックスをオフにします。
これらの変更を完了すると、ログイン時間が著しく短縮されるはずです。この情報を提供してくれた Adam にはこの場を借りて感謝します。
これはローカライズされたブログ投稿です。原文の記事は、「You May Experience Slowness When Using SAML Claims with SharePoint 2010」をご覧ください。