Hebikuzure's Tech Memo

2010年10月30日

基本認証の HTTP サーバーから Office ドキュメントを開けない

Filed under: Microsoft Office — hebikuzure @ 11:03 PM

MSKB 212563
You cannot open Office file types directly from a server that supports only Basic authentication over a non-SSL connection
http://support.microsoft.com/kb/2123563/en-us


Web サーバーに Office ドキュメントを置いてクライアントの Office アプリケーションで開く、というシステムはイントラネットでよく見られる。またドキュメントを閲覧したり編集したりできるユーザーを限定するため、HTTP サーバーに基本認証をかけている場合もあるだろう。
ところがこうしたシステムで今まで使っていた Office 2003 (またはそれ以前のバージョン) をOffice 2007 または Office 2010 にアップグレードすると、Web サーバー上の Office ドキュメントを開くのに失敗してしまうようになる場合がある。Office ドキュメントへのリンクをクリックしても何も起こらなかったり、あるいはドキュメントを開くアプリケーションは起動するのにドキュメントが表示されない、などの現象が起きる。
この現象はいくつかの原因が重なっているのだが、根本的にはセキュリティーの強化によって発生している。これについて解説しているのが上記のサポート技術情報 212563 だ。

まず Office アプリケーションが Web サーバーから直接ドキュメントを開く場合の挙動が Office 2003 以前と Office 2007 以降では変わっている。Office 2003 まででは Web サーバー上のドキュメントを開く際、Office のコンポーネント (MSDAIPP : Microsoft Data Access Internet Publishing Provider) のみを使って Web サーバーにアクセスしていたが、Office 2007 以降ではこれに加えて Windows のコンポーネント (WebCleint サービス) も利用するように仕様が変更されている。

さて現在サポートされているバージョンの Windows の WebClient サービスでは、セキュリティー上の理由で HTTP 接続での基本認証 (Basic 認証) が無効になっている。これは基本認証では資格情報 (ユーザー名とパスワード) が平文で送信されるので、通信自体も暗号化されない HTTP 接続では資格情報が容易に盗聴されるからだ。(関連情報 : マイクロソフト サポート技術情報 841215)
そのため Office 2003 以前のバージョンから Office 2007 以降のバージョンにアップグレードすると、基本認証のかかった HTTP サーバーからドキュメントを開くことができなくなる。
また Office 2010 では Office のコンポーネントでも同様の理由で HTTP 接続での基本認証が無効になっている。そのため Office 2010 では Windows の WebClient サービスだけでなく、Office コンポーネントについても HTTP 接続での基本認証を有効にしなければならない。

つまり Office のバージョンによって以下の作業が必要になる。

  • Office 2007 の場合 : Windows の WebClient サービスで HTTP 接続の基本認証を有効にする
  • Office 2010 の場合 : Windows の WebClient サービスで HTTP 接続の基本認証を有効にする + Office の HTTP 接続の基本認証を有効にする

技術情報に記載されているように、Windows の WebClient で HTTP 接続の基本認証を有効にする方法、Office 2010 で HTTP 接続の基本認証を有効にする方法はそれぞれ以下の通りだ。

WebClient サービスで HTTP 接続の基本認証を有効にする

以下のレジストリ値を作成し、Windows を再起動する。

  • Windows XP / Windows Server 2003

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
名前 : UseBasicAuth
種類 : REG_DWORD
データ : 1 (0 にすると HTTP 接続の基本認証は無効)

  • Windows Vista / Windows 7

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
名前 : BasicAuthLevel
種類 : REG_DWORD
データ : 2 (0 にすると HTTP/HTTPS 共に基本認証無効、1 にすると HTTPS で基本認証有効、2 にすると HTTP/HTTPS 共に基本認証有効)

Office 2010 で HTTP 接続の基本認証を有効にする

以下のレジストリ値を作成し、Windows を再起動する。

キー : HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
名前 : BasicAuthLevel
種類 : REG_DWORD
データ : 2 (0 にすると HTTP/HTTPS 共に基本認証無効、1 にすると HTTPS で基本認証有効、2 にすると HTTP/HTTPS 共に基本認証有効)

いずれもレジストリを編集する事になるので、レジストリのバックアップの作成を行った上で、慎重に作業する必要があるのを忘れずに。

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。