Microsoft Windows XP での SQL Server 2005 Analysis Services への HTTP アクセスの構成
公開日: 2005年10月21日
Edward Melomed
要約 このホワイト ペーパーは、HTTP プロトコルを使用した SQL Server Analysis Services へのアクセスを提供する方法に関心のある読者を対象としたものです。ここでは、HTTP アクセスのセットアップに必要な手順と、さまざまなパフォーマンス設定およびセキュリティ設定について説明します。このホワイト ペーパーにおける説明は、すべて Microsoft Windows® XP オペレーティング システムに固有のものです。
トピック
概要
Microsoft® SQL Server™ 2005 Analysis Services で提供される HTTP アクセスには、SQL Server 2000 Analysis Services と同じアーキテクチャが使用されます。
ポンプ コンポーネントはインターネット インフォメーション サービス (IIS) に読み込まれて ISAPI 拡張として機能し、クライアントと Analysis Services サーバーの間でデータを双方向にポンプします。
このホワイト ペーパーでは、Analysis Services への HTTP アクセスをセットアップするプロセスについて説明します。
図 1 は、コンポーネント アーキテクチャの概要を示したものです。
バイナリの取得
バイナリを取得するには
%インストール フォルダ%\OLAP\bin\isapi ディレクトリの内容を、IIS で仮想ディレクトリのベースとするフォルダにコピーします。
この例では、C:\Program Files\Microsoft SQL Server\MSSQL.1\OLAP\bin\isapi フォルダ内のすべてのファイルを C:\inetpub\wwwroot\olap ディレクトリにコピーします。
メモ セキュリティ設定の利点をすべて活かすために、仮想ディレクトリのベースとするフォルダを、必ず NTFS ファイル システムとしてフォーマットされたドライブに配置することが重要です。 IIS の制限のため、ディレクトリへのパスにスペースを含めることはできません。 |
Analysis Services サーバーとは異なるサーバーで HTTP ポンプを実行する予定がある場合は、必ず、%CD ルート%\Redist\Analysis Services\pts9.msi のインストールも行ってください。
仮想ディレクトリの作成
仮想ディレクトリを作成するには
1. | [コンピュータの管理 (Computer Management)] コンソールを開くには、[コントロール パネル (Control Panel)]、[管理ツール (Administrative Tools)]、[コンピュータの管理 (Administrative Tools)] を順に開きます。 または、[マイ コンピュータ (My Computer)] を右クリックし、ショートカット メニューの [管理 (Manage)] をクリックします。 |
2. | [コンピュータの管理 (Computer Management)] コンソールで、[サービスとアプリケーション (Services and Applications)] ノードを展開してから、[インターネット インフォメーション サービス (IIS) マネージャ (Internet Information Services)] ノードを展開します。 [インターネット インフォメーション サービス (IIS) マネージャ (Internet Information Services)] ノードが見つからない場合は、IIS がコンピュータにインストールされていない可能性があります。IIS をインストールするには、コントロール パネルの [プログラムの追加と削除 (Add or Remove Programs)] を開きます。[Windows コンポーネントの追加と削除 (Add/Remove Windows Components)] をクリックします。ここから、IIS を Windows に追加します。 |
3. | [既定の Web サイト (Default Web Site)] を右クリックしてショートカット メニューを開き、[新規作成 (New)] をポイントして、[仮想ディレクトリ (Virtual directory)] をクリックします。 |
4. | 仮想ディレクトリの名前を入力します。この例では、仮想ディレクトリの名前を OLAP とします。 コンテンツのディレクトリは、ここで作成したフォルダを指している必要があります。この例では、C:\inetpub\wwroot\olap です。 |
5. | [仮想ディレクトリのアクセス許可 (Access Permissions)] では、2 番目の [ASP などのスクリプトを実行する (Run Scripts (Such as ASP))] チェック ボックスだけがオンになっていることを確認します (図 2 を参照してください)。 |
仮想ディレクトリのプロパティのセットアップ
仮想ディレクトリのプロパティを設定するには
1. | 仮想ディレクトリ ノードを右クリックし、メニューの [プロパティ (Properties)] をクリックします。 図 3 に示す画面が表示されます。 変更する必要のあるプロパティは、赤で囲んでいます。 変更する必要はありませんが、仮想ディレクトリのセキュリティとパフォーマンスにおいて重要な役割を果たすプロパティは、緑で囲んでいます。 |
2. | [構成 (Configuration)] をクリックすると、図 4 に示す画面が表示されます。 |
3. | [追加 (Add)] をクリックします。 |
4. | [実行可能ファイル (Executable)] オプションに msmdpump.dll への完全なパス名を入力します。この例では、C:\wwroot\olap\msmdpump.dll です。 |
5. | [拡張子 (Extension)] ボックスに「.dll」と入力します。 画面には、図 5 に示すようなダイアログ ボックスが表示されます。 |
6. | [OK] をクリックし、設定を適用します。 |
セキュリティ設定の選択
セキュリティ設定を選択するには
1. | [ディレクトリ セキュリティ (Directory Security)] タブをクリックし、[認証とアクセス制御] にある [編集] ボタンをクリックします。図 6 に示すようなダイアログ ボックスが表示されます。 |
2. | 3 つのオプションが表示されます。その中の 1 つをクリックして選択します。 ここでは、これらのオプションのそれぞれについて、長所、短所、およびセキュリティ上の問題について簡単に説明します。 |
匿名アクセスを有効にする (Anonymous access)
このモードを選択すると、資格情報を使用して、ポンプ (msmdpump.dll) が実行されます。この例では、IUSR_MACHINENAME ユーザーの資格情報が使用されます。そのため、Analysis Services に対するすべての接続は、IUSR_MACHINENAME ユーザーとしてオープンされます。このモードが選択されているときは、IIS に接続しているユーザーと Analysis Services に接続しているユーザーは区別されません。ユーザーを区別する手段はありません。
このモードは、セキュリティ インフラストラクチャが Analysis Services のセキュリティ機能を利用していない場合に使用します。この環境では、ほとんどの場合、厳密な制御が行われ、ユーザーは仮想ディレクトリへのアクセスを許可または拒否されます。
基本認証 (Basic authentication)
このモードでは、ユーザーがユーザー名とパスワードを入力する必要があります。ユーザー名とパスワードは、HTTP 接続を介して IIS に転送されます。IIS は、受信した資格情報を使用してユーザーを偽装しようとします。
パスワードを送信するシステムを構築する場合は、通信チャネルをセキュリティで保護する手段が必要不可欠であることに注意してください。IIS には、HTTPS プロトコルを使用してすべての通信の暗号化をセットアップし、暗号化を要求する一連のツールが用意されています。
仮想ディレクトリに HTTPS をセットアップするために必要な手順については、後述します。
統合 Windows 認証 (Integrated Windows authentication)
これは最も高いセキュリティで保護されており、推奨されるモードです。
このモードでは、IIS サーバーがユーザーのドメイン資格情報にアクセスできる必要があります。これは、Microsoft Active Directory® やその他のメカニズムを使用して行われます。このホワイト ペーパーでは、可能なすべての構成について詳細を説明することはしません。
仮想ディレクトリのベースとして機能するディレクトリに対するユーザー アクセスの保護
作成してセットアップした仮想ディレクトリのベースとして使用されるディレクトリに対するユーザー アクセスをセキュリティで保護することは、強く推奨されている事項です。
ファイル システム フォルダについては、コンピュータのユーザーには "読み取りと実行" のアクセス権を付与し、ローカルの Administrators グループのメンバにはフル アクセス権を付与するように推奨されています。
対象とする Analysis Services サーバーの選択
図 1 のアーキテクチャ図で参照したように、すべてのポンプ コンポーネントで独自の構成ファイルが使用されます。
フォルダ内の msmdpump.ini ファイルを開き、内容を参照します。内容は、次のようになります。
<ConfigurationSettings>
<ServerName>localhost</ServerName>
<SessionTimeout>3600</SessionTimeout>
<ConnectionPoolSize>100</ConnectionPoolSize>
<MinThreadPoolSize>0</MinThreadPoolSize>
<MaxThreadPoolSize>0</MaxThreadPoolSize>
<MaxThreadsPerClient>4</MaxThreadsPerClient>
</ConfigurationSettings>
この時点で考慮すべき設定は、<ServerName> だけです。
アクセスする必要のある Analysis Services インスタンスがローカル コンピュータに存在し、既定のインスタンスとしてインストールされている場合、この設定を変更する必要はありません。それ以外の場合は、コンピュータ名とインスタンス名を指定する必要があります (mymachine\inst1)。
Analysis Services への HTTP アクセスがセットアップされる別の IIS サーバー上にある仮想ディレクトリへのポインタを指定することもできます。
たとえば、<ServerName>http://secondmachine/olap/msmdpump.dll</ServerName> と設定できます。
まとめ
今までの操作で、HTTP ポンプの構成が完了し、アプリケーションから接続する準備ができました。
アプリケーションでサーバー名を指定できる場合は、サーバー名を、仮想ディレクトリと "msmdpump.dll" を連結したパスに置き換えます。
SQL Server 2000 Analysis Services と同様に、MSOLAP OLEDB プロバイダはサーバー名に URL パスが含まれていると解釈し、HTTP プロトコルの使用を自動的に開始します。
たとえば、MDX サンプル アプリケーションから "MyMachine" に接続するには、サーバー名として "http://MyMachine/olap/msmdpump.dll" を使用して Analysis Services サーバーに接続できます。