権限借用
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
この記事では、表形式モデルの作成者が、データをインポートおよび処理 (更新) するためにデータソースに接続するときに Analysis Services によってサインイン資格情報がどのように使用されるかについて理解します。
偽装の構成
モデルが存在する場所とコンテキストによって、偽装の構成方法が決まります。 新しいモデル プロジェクトを作成する場合、データ ソースに接続してデータをインポートするときに、Visual Studio で偽装が構成されます。 モデルがデプロイされると、SQL Server Management Studio (SSMS) を使用して、モデル データベースの 接続文字列 プロパティで偽装を構成できます。 Azure Analysis Servicesの表形式モデルの場合は、ブラウザー ベースのデザイナーで SSMS または View as: Script モードを使用して、JSON で Model.bim ファイルを編集できます。
偽装の使用方法
権限借用 は、Analysis Services などのサーバー アプリケーションがクライアント アプリケーションの ID を使用するための機能です。 Analysis Services はサービス アカウントを使用して実行されますが、サーバーがデータソースへの接続を確立すると、偽装を使用してデータのインポートと処理のアクセス チェックを実行できます。
偽装資格情報を指定してセキュリティで保護する方法と、サインオンしたユーザー資格情報の両方が使用されるコンテキストと、他の偽装資格情報が使用される場合の違いを理解することが重要です。
サーバー側の資格情報について
データがインポートまたは処理されると、偽装資格情報を使用してデータソースに接続し、データをフェッチします。 この接続は、ワークスペース データベースをホストする Analysis Services サーバーがデータソースに接続してデータをフェッチするため、クライアント アプリケーションのコンテキストで実行されるサーバー 側 の操作です。
モデルを Analysis Services サーバーに配置するときに、ワークスペース データベースがメモリ内にある場合、資格情報はモデルの配置先の Analysis Services サーバーに渡されます。 ユーザー資格情報はディスクに保存されません。
デプロイされたモデルがデータソースからのデータを処理する場合、インメモリ データベースに保持される偽装資格情報を使用して、データソースに接続し、データをフェッチします。 このプロセスは、モデル データベースを管理する Analysis Services サーバーによって処理されるため、この接続はサーバー側の操作です。
クライアント側の資格情報について
新しいモデルを作成するとき、または既存のモデルにデータソースを追加する場合は、データソースに接続し、モデルにインポートするテーブルとビューを選択します。 テーブルインポートウィザードまたはデータの取得\クエリDesignerプレビュー機能とフィルター機能では、インポートするデータのサンプルが表示されます。 モデルで必要ないデータを除外するフィルターを指定することもできます。
同様に、既に作成されている既存のモデルの場合は、[ テーブルのプロパティ ] ダイアログを使用して、テーブルにインポートされたデータをプレビューおよびフィルター処理します。
プレビュー機能とフィルター機能、 テーブルのプロパティ、 およびパーティション マネージャー のダイアログ ボックスは、インプロセス クライアント側 の操作です。つまり、この操作中に行われることは、データソースの接続方法とデータソースからデータをフェッチする方法とは異なります。サーバー側の操作。 データのプレビューとフィルター処理に使用される資格情報は、現在サインオンしているユーザーの資格情報です。有効な資格情報です。
サーバー側とクライアント側の操作中に使用される資格情報を分離すると、表示される内容と、インポートまたはプロセス中にフェッチされるデータ (サーバー側の操作) が一致しなくなる可能性があります。 現在サインインしている資格情報と指定された偽装資格情報が異なる場合、プレビュー機能とフィルター機能または [テーブルのプロパティ ] ダイアログに表示されるデータと、インポートまたはプロセス中にフェッチされるデータは、データソースに必要な資格情報によって異なる場合があります。
重要
モデルを作成するときは、サインインしている資格情報と、偽装用に指定された資格情報に、データソースからデータをフェッチするための十分な権限があることを確認します。
オプション
偽装を構成するとき、または既存のデータソース接続のプロパティを編集する場合は、次のいずれかのオプションを指定します。
表形式 1400 以降のモデル
オプション | 説明 |
---|---|
アカウントの偽装 | データ ソースからデータをインポートまたは処理するために Windows ユーザー アカウントを使用するモデルを指定します。 ユーザー アカウントのドメインと名前は、次の形式を使用します:<ドメイン名>\<ユーザー アカウント名>。 |
現在のユーザーを偽装する | 要求を送信したユーザーの ID を使用して、データソースからデータにアクセスする必要があることを指定します。 この設定は DirectQuery モードにのみ適用されます。 |
ID を偽装する | データソースにアクセスするためのユーザー名を指定しますが、アカウントのパスワードを指定する必要はありません。 この設定は、Kerberos 委任が有効になっている場合にのみ適用され、S4U 認証を使用する必要があることを指定します。 |
サービス アカウントの偽装 | モデルを管理する Analysis Services サービス インスタンスに関連付けられているセキュリティ資格情報を使用するモデルを指定します。 |
無人アカウントの偽装 | Analysis Services エンジンが事前に構成された無人アカウントを使用してデータにアクセスすることを指定します。 |
重要
現在のユーザーの偽装は、一部の環境ではサポートされていません。 現在のユーザーの偽装は、オンプレミスのデータ ソースに接続するAzure Analysis Servicesにデプロイされた表形式モデルではサポートされていません。 Azure Analysis Services サーバー リソースはorganizationのドメインに接続されていないため、そのドメイン内のデータ ソース サーバーに対してクライアント資格情報を認証することはできません。 Azure Analysis Servicesは現在、シングル サインオン (SSO) のサポートSQL Database (Azure) と統合されていません。 環境によっては、他の偽装設定にも制限があります。 サポートされていない偽装設定を使用しようとすると、エラーが返されます。
表形式 1200 モデル
オプション | 説明 |
---|---|
[特定の Windows ユーザー名とパスワード] | このオプションは、データ ソースからデータをインポートまたは処理するために Windows ユーザー アカウントを使用するモデルを指定します。 ユーザー アカウントのドメインと名前は、次の形式を使用します:<ドメイン名>\<ユーザー アカウント名>。 |
[サービス アカウント] | モデルを管理している Analysis Services サービス インスタンスに関連付けられているセキュリティ資格情報をモデルで使用するように指定します。 |
セキュリティ
偽装で使用される資格情報は、VertiPaq エンジンによってメモリ内に保持されます。 資格情報はディスクに書き込まれません。 モデルのデプロイ時にワークスペース データベースがメモリ内にない場合、ユーザーはデータソースへの接続とデータのフェッチに使用する資格情報の入力を求められます。
注意
偽装資格情報には、Windows ユーザー アカウントとパスワードを指定することをお勧めします。 Windows ユーザー アカウントは、データソースに接続してデータを読み取るために必要な最小限の特権を使用するように構成できます。