権限借用 (SSAS テーブル)
このトピックでは、データのインポートおよび処理 (更新) のためにデータ ソースに接続するときに、ログオン資格情報が Analysis Services によってどのように使用されるかについて、テーブル モデルの作成者を対象に説明しています。
このトピックの内容は次のとおりです。
利点
オプション
セキュリティ
モデルをインポートする場合の権限借用
権限借用の構成
利点
権限借用は、Analysis Services などのサーバー アプリケーションがクライアント アプリケーションの ID を使用するための機能です。 Analysis Services はサービス アカウントを使用して実行されますが、データのインポートと処理に対するアクセス チェックを行うことができるように、サーバーがデータ ソースへの接続を確立するときに権限借用が使用されます。
権限借用に使用される資格情報は、現在ログオンしているユーザーの資格情報とは異なります。 モデル作成時には、特定のクライアント側の操作に、ログオンしているユーザーの資格情報が使用されます。
権限借用の資格情報の指定方法と保護方法を理解することに加えて、現在ログオンしているユーザーの資格情報が使用されるコンテキストと、それ以外の資格情報が使用されるコンテキストの違いを理解することが重要です。
サーバー側の資格情報について
SQL Server データ ツール (SSDT) では、テーブルのインポート ウィザードの [権限借用情報] ページを使用するか、[既存の接続] ダイアログ ボックスで既存のデータ ソース接続を編集することによって、データ ソースごとの資格情報を指定します。
データがインポートまたは処理されるときに、[権限借用情報] ページで指定された資格情報が、データ ソースへの接続とデータのフェッチのために使用されます。 これはクライアント アプリケーションのコンテキストで実行されるサーバー側の操作であり、ワークスペース データベースをホストしている Analysis Services サーバーがデータ ソースに接続してデータをフェッチします。
モデルを Analysis Services サーバーに配置するときに、ワークスペース データベースがメモリ内にある場合、資格情報はモデルの配置先の Analysis Services サーバーに渡されます。 ユーザーの資格情報がディスク上に格納されることはありません。
配置されたモデルがデータ ソースのデータを処理するときは、インメモリ データベースに保存された権限借用の資格情報が、データ ソースへの接続とデータのフェッチに使用されます。 このプロセスは、モデル データベースを管理している Analysis Services サーバーによって処理されるため、これもサーバー側の操作です。
クライアント側の資格情報について
新しいモデルを作成したり、既存のモデルにデータ ソースを追加したりするときは、テーブルのインポート ウィザードを使用して、データ ソースに接続し、モデルにインポートするテーブルとビューを選択します。 テーブルのインポート ウィザードの [テーブルとビューの選択] ページでは、[プレビューとフィルター] 機能を使用して、インポートするデータのサンプルを確認できます (最大 50 行まで)。 また、モデルに含める必要がないデータを除外するフィルターも指定できます。
同様に、既に作成済みの既存のモデルでは、[テーブルのプロパティの編集] ダイアログ ボックスを使用して、テーブルにインポートするデータのプレビューおよびフィルター処理を行うことができます。 このプレビューおよびフィルター処理は、テーブルのインポート ウィザードの [テーブルとビューの選択] ページの [プレビューとフィルター] と同じ機能を使用しています。
[プレビューとフィルター] の機能と [テーブルのプロパティ] ダイアログ ボックス、[パーティション マネージャー] ダイアログ ボックスは、インプロセスのクライアント側の操作です。つまり、この操作で実行される処理は、データ ソースに接続してデータ ソースからデータをフェッチする場合 (サーバー側の操作) とは異なります。 データのプレビューとフィルター処理で使用される資格情報は、現在ログオンしているユーザーの資格情報です。 クライアント側の操作では、データ ソースへの接続に、常に現在のユーザーの Windows 資格情報が使用されます。
このように、サーバー側の操作とクライアント側の操作で使用される資格情報が異なるため、[プレビューとフィルター] 機能または [テーブルのプロパティ] ダイアログ ボックス (クライアント側の操作) の使用時にユーザーに対して表示される内容と、インポートまたは処理 (サーバー側の操作) の際にフェッチされるデータは、一致しないことがあります。 現在ログオンしているユーザーの資格情報が、指定されている権限借用の資格情報と異なる場合、データ ソースで必要な資格情報によっては、[プレビューとフィルター] 機能または [テーブルのプロパティ] ダイアログ ボックスで表示されるデータと、インポートまたは処理中にフェッチされるデータが異なる場合があります。
重要 |
---|
モデルを作成するときは、現在ログオンしているユーザーの資格情報と、権限借用のために指定された資格情報に、データ ソースからデータをフェッチするための十分な権限があることを確認してください。 |
オプション
権限借用を構成するとき、または Analysis Services の既存のデータ ソース接続のプロパティを編集するときに、以下のオプションのいずれかを指定できます。
オプション |
ImpersonationMode1 |
説明 |
---|---|---|
[特定の Windows ユーザー名とパスワード]2 |
ImpersonateWindowsUserAccount |
データ ソースのデータをインポートまたは処理する際に、モデルで Windows ユーザー アカウントが使用されるように指定します。 ドメインとユーザー アカウント名は、<ドメイン名>\<ユーザー アカウント名> という形式で指定します。 テーブルのインポート ウィザードを使用して新しいモデルを作成する場合は、これが既定のオプションです。 |
[サービス アカウント] |
ImpersonateServiceAccount |
モデルを管理している Analysis Services サービス インスタンスに関連付けられているセキュリティ資格情報をモデルで使用するように指定します。 |
1 ImpersonationMode は、データ ソースの DataSourceImpersonationInfo 要素 (ASSL) プロパティの値を指定します。
2 このオプションを使用すると、再起動や、[ワークスペースの保有] プロパティが [メモリからアンロード] または [ワークスペースから削除] に設定されていることによって、ワークスペース データベースがメモリから削除され、モデル プロジェクトが閉じられた場合、後続のセッションでテーブル データを処理しようとすると、各データ ソースの資格情報の入力を求められるようになります。 同様に、配置されたモデル データベースがメモリから削除されると、各データ ソースの資格情報の入力を求められるようになります。
セキュリティ
権限借用で使用される資格情報は、ワークスペース データベースまたは配置されたモデルを管理する Analysis Services サーバーに関連付けられている xVelocity メモリ内分析エンジン (VertiPaq™ エンジン) によって、メモリ内に保存されます。 資格情報がディスクに書き込まれることはありません。 モデルが配置されるときにワークスペース データベースがメモリ内にない場合、ユーザーはデータ ソースへの接続とデータのフェッチに使用する資格情報の入力を求められます。
注 |
---|
権限借用の資格情報には、Windows ユーザー アカウントとパスワードを指定することをお勧めします。 Windows ユーザー アカウントは、データ ソースに接続してデータを読み取るために必要な最低限の権限を使用するように構成できます。 |
モデルをインポートする場合の権限借用
テーブル モデルの場合、アウト プロセスのデータ コレクションをサポートしているいくつかの異なる権限借用モードを使用できますが、PowerPivot では ImpersonateCurrentUser モードのみが使用されます。 PowerPivot は常にインプロセスで実行されるため、現在ログオンしているユーザーの資格情報を使用してデータ ソースに接続します。 テーブル モデルの場合、現在ログオンしているユーザーの資格情報は、テーブルのインポート ウィザードの [プレビューとフィルター] 機能と、[テーブルのプロパティ] の表示にのみ使用されます。 権限借用の資格情報は、ワークスペース データベースに対するデータのインポートまたは処理、あるいは配置済みモデルに対するデータのインポートまたは処理で使用されます。
既存の PowerPivot ブックのインポートによって新しいモデルを作成する場合、既定では、モデル デザイナーによって、サービス アカウントを使用するように権限借用が構成されます (ImpersonateServiceAccount)。 PowerPivot からインポートしたモデルについては、権限借用の資格情報を Windows ユーザー アカウントに変更することをお勧めします。 PowerPivot ブックがインポートされ、新しいモデルがモデル デザイナーで作成された後に、[既存の接続] ダイアログ ボックスを使用して資格情報を変更できます。
Analysis Services サーバー上の既存のモデルからインポートして新しいモデルを作成する場合、権限借用の資格情報は、既存のモデル データベースから、新しいモデル ワークスペース データベースに渡されます。 必要に応じて、[既存の接続] ダイアログ ボックスを使用して、新しいモデルの資格情報を変更できます。
権限借用の構成
モデルが存在する場所とコンテキストに応じて、権限借用情報の構成方法が決まります。 SQL Server Data Tools で作成中のモデルでは、テーブルのインポート ウィザードの [権限借用情報] ページで、または [既存の接続] ダイアログ ボックスでデータ ソース接続を編集して、権限借用情報を構成できます。 SQL Server Data Tools で既存の接続を表示するには、[モデル] メニューの [既存の接続] をクリックします。
Analysis Services サーバーに配置されたモデルでは、SQL Server Management Studio の [データベースのプロパティ] ダイアログ ボックスで [データ ソースの権限借用情報] プロパティの参照ボタン ([...]) をクリックして、権限借用情報を構成できます。