SQL Server Analysis Services データ ソースを管理する

注意

オンプレミス データ ゲートウェイのドキュメントが、Power BI に固有のコンテンツと、ゲートウェイでサポートされるすべてのサービスに適用される一般的なコンテンツに分割されています。 現在見ているのは、Power BI のコンテンツです。 この記事について、またはゲートウェイのドキュメントの全体的なエクスペリエンスに関してフィードバックを提供するには、記事の一番下までスクロールしてください。

オンプレミス データ ゲートウェイをインストールしたら、ゲートウェイで使用できるデータ ソースを追加することができます。 この記事では、スケジュールされた更新またはライブ接続に使用する SQL Server Analysis Services (SSAS) データ ソースをオンプレミス ゲートウェイに追加する方法について説明します。

SSAS へのライブ接続を設定する方法の詳細については、こちらの「Power BI チュートリアル: Analysis Services ライブ接続」の動画をご覧ください。

注意

Analysis Services データ ソースを持っている場合は、Analysis Services サーバーと同じフォレストまたはドメインに参加しているコンピューターにゲートウェイをインストールする必要があります。

注意

このゲートウェイでは、Analysis Services 用の Windows 認証のみがサポートされます。

データ ソースの追加

多次元または表形式の Analysis Services データ ソースに接続するには:

  1. オンプレミス データ ゲートウェイの [新しい接続] 画面で、[接続の種類][Analysis Services] を選びます。 データ ソースを追加する方法の詳細については、「データ ソースの追加」を参照してください。

     Screenshot of adding the Analysis Services data type.

  2. [サーバー][データベース] など、データ ソースの情報を入力します。 [ユーザー名][パスワード] に入力した情報は、Analysis Services インスタンスに接続するために、ゲートウェイによって使用されます。

     Screenshot that shows the data source credentials settings.

    Note

    入力する Windows アカウントは、接続先の Analysis Services インスタンスのサーバー管理者ロールのメンバーとする必要があります。 このアカウントのパスワードに期限が設定されている場合、データ ソースのパスワードを更新しない限り、ユーザーは接続エラーを受け取ります。 資格情報の格納方法の詳細については、「暗号化された資格情報をクラウドに格納する」を参照してください。

  3. データ ソースの [プライバシー レベル] を構成します。 この設定で、スケジュールされた更新のためにデータを組み合わせる方法を制御します。 プライバシー レベルの設定は、ライブ接続には適用されません。 データ ソースのプライバシー レベルの詳細については、「プライバシーレベルの設定 (Power Query)」を参照してください。

    Screenshot of the Privacy level setting.

  4. 必要に応じて、ユーザー名のマッピングをここで構成できます。 手順については、「手動でのユーザー名の再マッピング」を参照してください。

  5. すべてのフィールドに入力したら、[作成] を選択します。

これで、オンプレミスの Analysis Services インスタンスに対するスケジュールされた更新またはライブ接続にこのデータ ソースを使用できます。

Analysis Services のユーザー名

Power BI での Analysis Services ライブ接続を使用した認証の詳細については、次の動画をご覧ください。

注意

このビデオでは、以前のバージョンの Power BI Desktop または Power BI サービスが使用されている可能性があります。

Analysis Services に接続されているレポートをユーザーが操作するたびに、有効なユーザー名がゲートウェイに渡され、次にオンプレミスの Analysis Services サーバーに渡されます。 Power BI にサインインするときに使用するメール アドレスが、[EffectiveUserName] 接続プロパティで有効なユーザーとして Analysis Services に渡されます。

このメール アドレスは、ローカルの Active Directory (AD) ドメイン内で定義されているユーザー プリンシパル名 (UPN) と一致する必要があります。 UPN は、AD アカウントのプロパティです。 その Windows アカウントは、Analysis Services ロールに存在している必要があります。 AD で一致が見つからない場合、サインインは成功しません。 AD とユーザーの名前付けの詳細については、「ユーザーの名前付け属性」を参照してください。

Analysis Services データ ソースのユーザー名をマップする

Power BI のサインイン名をローカル ディレクトリの UPN にマップすることもできます。 Power BI での UPN マッピングの詳細については、次の動画をご覧ください。

注意

このビデオでは、以前のバージョンの Power BI Desktop または Power BI サービスが使用されている可能性があります。

Power BI では、Analysis Services データ ソースのユーザー名をマッピングできます。 Analysis Services 接続に渡す EffectiveUserName に Power BI サインイン ユーザー名をマップするルールを構成できます。 この機能は、Microsoft Entra のユーザー名がローカルの Active Directory インスタンスの UPN に一致しないときの回避策として優れています。 たとえば、メール アドレスが meganb@contoso.onmicrosoft.com の場合、これを meganb@contoso.com にマップすると、その値がゲートウェイに渡されます。

Analysis Services のユーザー名は、次の 2 つの方法でマッピングすることができます。

  • Power BI での手動でのユーザーの再マッピング
  • Active Directory 参照マッピング。オンプレミスの AD プロパティ参照を使用して、Microsoft Entra UPN をオンプレミスの AD ユーザーに再マッピングします。

オンプレミスの AD プロパティ参照を使用した手動マッピングは可能ですが、特にパターン マッチングが不十分な場合は、時間がかかり、保守が難しくなります。 たとえば、ドメイン名やユーザー アカウント名が、Microsoft Entra ID とオンプレミス AD の間で異なる場合があります。 そのため、2 番目の方法での手動マッピングはお勧めできません。

以下のセクションでは、2 つのマッピング方法について説明します。

Power BI での手動でのユーザーの再マッピング

Analysis Services データ ソースに、Power BI のカスタムの UPN ルールを構成できます。 カスタム ルールは、Power BI サービスのサインイン名がローカル ディレクトリの UPN と一致しない場合に役立ちます。 たとえば、meganb@contoso.com で Power BI にサインインしているものの、ローカル ディレクトリの UPN が meganb@contoso.local の場合は、meganb@contoso.local を Analysis Services に渡すマッピング ルールを構成できます。

重要

マッピングは、構成されている特定のデータ ソースで機能します。 グローバルな設定ではありません。 複数の Analysis Services データ ソースがある場合は、データ ソースごとにユーザーをマッピングする必要があります。

手動 UPN マッピングを実行するには、次の手順に従います。

  1. Power BI の歯車アイコンの下で、[ゲートウェイと接続の管理] を選択します。

  2. データ ソースを選択し、上部のメニューから [設定] を選択します。

  3. [設定] 画面の [ユーザー名のマッピング] ボックスで、[EffectiveUserName] が選択されていることを確認し、[新しいルールの追加] を選択します。

     Screenshot of the UPN mapping screen.

  4. [ユーザー名のマッピング] の下の、マップするユーザー名ごとに、[元の名前][新しい名前] の値を入力し、[新しいルールの追加] を選択します。 [置換] の値は Power BI のサインイン アドレスで、[修正後の文字列] の値がそれを置き換える値です。 この置換が、Analysis Services 接続のための EffectiveUserName プロパティに渡されます。

    Screenshot of Add new rule in the Map user names box.

    次に例を示します。

    Screenshot of example mapping rules.

    Note

    変更する予定のないユーザーを変更しないようにしてください。 たとえば、contoso.com[元の名前]@contoso.local[新しい名前] に置き換えると、@contoso.com を含むすべてのユーザー サインインが @contoso.local に置き換えられます。 また、meganb@contoso.com[元の名前]meganb@contoso.local[新しい名前] に置き換えると、v-meganb@contoso.com のサインインが v-meganb@contoso.local として送信されます。

    ドラッグ アンド ドロップでリスト内の項目を選択して並べ替えたり、ごみ箱アイコンを選択してエントリを削除したりできます。

ワイルドカードを使用する

[置換] (元の名前) の文字列には * のワイルドカードを使用できます。 ワイルドカードは単独でのみ使用でき、その他の文字列パーツと併用はできません。 すべてのユーザーを単一の値に置き換えてデータ ソースに渡す場合は、ワイルドカードを使用してください。 この方法は、組織内のすべてのユーザーがローカル環境内の同じユーザーを使いたい場合に便利です。

マッピング ルールをテストする

名前の置換を検証するには、[元の名前] に値を入力し、[ルールのテスト] を選択します。

 Screenshot of testing a mapping rule.

Note

保存されたルールは、ブラウザーですぐに機能します。 保存された規則が Power BI サービスで使用されるまでには数分かかります。

Active Directory 参照マッピング

このセクションでは、オンプレミスの Active Directory プロパティ参照を実行して、Microsoft Entra UPN を AD ユーザーに再マッピングする方法について説明します。 まず、この再マッピングのしくみを確認します。

オンプレミスの SSAS サーバーに対して Power BI Microsoft Entra ユーザーがクエリを実行するたびに、firstName.lastName@contoso.com のような UPN 文字列が渡されます。

構成可能なカスタム ユーザー マッピングを持つオンプレミス データ ゲートウェイの参照マッピングでは、次の手順を実行します。

  1. 検索する Active Directory を探します。 自動または構成可能を使用できます。
  2. Power BI サービスから、Active Directory ユーザーの属性 (メールなど) を参照します。 属性は、firstName.lastName@contoso.com のような受信 UPN 文字列に基づいています。
  3. Active Directory 参照が失敗した場合、UPN を EffectiveUserName として SSAS に渡そうとします。
  4. Active Directory 参照が成功すると、その Active Directory ユーザーの UserPrincipalName が取得されます。
  5. このマッピングにより、Alias@corp.on-prem.contoso のような UserPrincipalName メールが、EffectiveUserName として SSAS に渡されます。

注意

Power BI データ ソース ゲートウェイの構成内で手動 UPN ユーザー マッピングが定義されている場合は、それが適用されてから、UPN 文字列がオンプレミス データ ゲートウェイに送信されます。

Active Directory 参照が実行時に正しく機能するには、ローカル サービス アカウントではなくドメイン アカウントで実行するようにオンプレミス データ ゲートウェイ サービスを変更する必要があります。

  1. 必ず、最新のゲートウェイをダウンロードしてインストールしてください

  2. コンピューター上のオンプレミス データ ゲートウェイ アプリで、[サービス設定]>[サービス アカウントの変更] の順に移動します。 新しいゲートウェイを作成しない場合は、同じコンピューター上でゲートウェイを復元する必要があるため、このゲートウェイの回復キーがあることを確認してください。 変更内容を有効にするには、ゲートウェイ サービスを再起動する必要があります。

  3. ゲートウェイのインストール フォルダー (C:\Program Files\On-premises data gateway) に移動し、管理者として書き込みアクセス許可があることを確認します。 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ファイルを開きます。

  4. AD ユーザーの AD 属性の構成に従って、ADUserNameLookupPropertyADUserNameReplacementProperty の値を編集します。 次の画像の値は例です。 これらの構成では大文字と小文字が区別されるので、必ず AD の値と一致していることを確認してください。

    Screenshot of Active Directory settings.

    ファイルから ADServerPath 構成の値が提供されない場合、ゲートウェイは既定のグローバル カタログを使用します。 ADServerPath には複数の値を指定することができます。 次の例のとおり、値はセミコロンで区切る必要があります。

    <setting name="ADServerPath" serializeAs="String">
        <value> GC://serverpath1; GC://serverpath2;GC://serverpath3</value>
    </setting>
    

    このゲートウェイは、一致を検出するまで左から右に ADServerPath の値を解析します。 ゲートウェイで一致するものが見つからない場合は、元の UPN が使用されます。 ゲートウェイ サービス PBIEgwService を実行しているアカウントが、ADServerPath で指定したすべての AD サーバーにクエリを実行するアクセス許可があることを確認します。

    このゲートウェイでは、次の 2 種類の ADServerPath がサポートされています。

    • WinNT の場合: <value="WinNT://usa.domain.corp.contoso.com,computer"/>
    • グローバル カタログ (GC) の場合: <value> GC://USA.domain.com </value>
  5. 構成の変更を有効にするには、オンプレミスのデータ ゲートウェイ サービスを再起動します。

ライブ Analysis Services データ ソースの認証

Analysis Services をユーザーが操作するたびに、有効なユーザー名がゲートウェイに渡され、次にオンプレミスの Analysis Services サーバーに渡されます。 UPN (通常はクラウドへのサインインに使用するメール アドレス) が、EffectiveUserName 接続プロパティで有効なユーザーとして Analysis Services に渡されます。

データセットがインポート モードの場合、データセット所有者の UPN の EffectiveUserName がゲートウェイによって送信されます。 つまり、データセット所有者の UPN は、EffectiveUserName 接続プロパティの有効なユーザーとして Analysis Services に渡されます。

この電子メール アドレスは、ローカルの Active Directory ドメイン内で定義されている UPN と一致する必要があります。 UPN は、AD アカウントのプロパティです。 サーバーにアクセスするには、Windows アカウントが Analysis Services ロールに存在する必要があります。 Active Directory で一致が見つからない場合は、サインインは成功しません。

ロールベースおよび行レベルのセキュリティ

Analysis Services は、Active Directory アカウントに基づいて、フィルター処理も提供できます。 このフィルター処理は、ロールベースのセキュリティまたは行レベルのセキュリティを使用できます。 ユーザーがモデル データのクエリと表示をできるかどうかは、Windows ユーザー アカウントが属するロールと、動的な行レベルのセキュリティ (構成されている場合) によって異なります。

  • ロールベースのセキュリティ。 モデルでは、ユーザー ロールに基づいてセキュリティが提供されます。 SQL Server Data Tools Business Intelligence ツールでの作成時に、特定のモデル プロジェクトのロールを定義できます。 モデルを展開した後は、SQL Server Management Studio (SSMS) を使用してロールを定義できます。 ロールには、Windows ユーザー名または Windows グループによって割り当てられたメンバーが含まれます。

    ロールは、ユーザーがモデルに対してクエリまたは操作を実行するためのアクセス許可を定義します。 ほとんどのユーザーは、読み取りアクセス許可を持つロールに属します。 その他のロールは項目の処理、データベース機能の管理、他のロールの管理に関するアクセス許可を管理者に与えます。

  • 行レベルのセキュリティ。 モデルでは、動的な行レベルのセキュリティを提供できます。 定義された行レベルのセキュリティは、Analysis Services に固有のものです。 ロールベースのセキュリティでは、すべてのユーザーに少なくとも 1 つのロールが必要ですが、表形式モデルでは動的な行レベルのセキュリティは必要ありません。

    動的なセキュリティでは、上位レベルで、特定テーブル内の特定の行のデータに対してユーザーの読み取りアクセス権が定義されます。 ロールの場合と同様、動的な行レベルのセキュリティは、ユーザーの Windows ユーザー名に依存します。

モデルでのロールと動的な行レベル セキュリティの実装については、この記事では説明しません。 詳細については、表形式モデルのロールに関する記事と、「セキュリティ ロール (Analysis Services - 多次元データ)」を参照してください。 表形式モデルのセキュリティに関するさらに詳細な情報については、『表形式 BI セマンティック モデルのセキュリティ保護』ホワイトペーパーをダウンロードしてください。

Microsoft Entra 認証

Microsoft クラウド サービスでは、Microsoft Entra ID を使用してユーザーを認証します。 Microsoft Entra ID は、ユーザー名とセキュリティ グループを含むテナントです。 通常、ユーザーがサインインに使用する電子メール アドレスはアカウントの UPN と同じです。

ローカルの Active Directory インスタンスのロール

そのユーザーがデータの読み取りアクセス許可を持つロールに属しているかどうかを Analysis Services が判断するために、サーバーは、Microsoft Entra ID からゲートウェイ、Analysis Services サーバーの順に渡された有効なユーザー名を変換する必要があります。 Analysis Services サーバーは、Windows Active Directory ドメイン コントローラー (DC) に有効なユーザー名を渡します。 次に、Active Directory DC によって、有効なユーザー名がローカル アカウントで有効な UPN であることが検証されます。 DC によって、そのユーザーの Windows ユーザー名が Analysis Services サーバーに返されます。

ドメインに参加していない Analysis Services サーバーでは、EffectiveUserName を使用できません。 サインイン エラーを回避するには、Analysis Services サーバーをドメインに参加させる必要があります。

UPN を特定する

自分の UPN がわからないけれども、自分がドメイン管理者ではない場合もあります。 ワークステーションから次のコマンドを実行して、自分のアカウントの UPN を確認できます。

whoami /upn

結果はメール アドレスに似ていますが、これはドメイン アカウントの UPN です。 Analysis Services データ ソースをライブ接続に使用している場合に、この UPN が Power BI へのサインインに使用しているメール アドレスと一致しない場合は、ユーザー名をマップしなければならない場合があります。

オンプレミスの AD を Microsoft Entra ID と同期する

Analysis Services ライブ接続を使用する予定がある場合は、ローカル AD アカウントが Microsoft Entra ID と一致している必要があります。 UPN はアカウント間で一致する必要があります。

クラウド サービスでは、Microsoft Entra ID 内のアカウントのみが使用されます。 Microsoft Entra ID に存在しないローカルの AD インスタンスにアカウントを追加した場合、そのアカウントは使用できません。 ローカルの AD アカウントと Microsoft Entra ID を一致させる方法は複数あります。

  • Microsoft Entra ID にアカウントを手動で追加します。

    アカウント名がローカルの AD アカウントの UPN と一致するアカウントを、Azure portal 上で、または Microsoft 365 管理センター内で作成します。

  • Microsoft Entra Connect Sync を使用して、ローカル アカウントを Microsoft Entra テナントに同期します。

    Microsoft Entra Connect によって、UPN が Microsoft Entra ID とローカルの AD インスタンスの間で一致するようになります。 Microsoft Entra Connect ツールには、ディレクトリ同期と認証の設定のオプションがあります。 オプションには、パスワード ハッシュ同期、パススルー認証、およびフェデレーションが含まれます。 管理者でもローカル ドメイン管理者でもない場合は、構成のサポートについて IT 管理者にお問い合わせください。

    Note

    Microsoft Entra Connect Sync でアカウントを同期させると、Microsoft Entra テナント内に新しいアカウントが作成されます。

データ ソースを使用する

追加した SSAS データ ソースは、ライブ接続またはスケジュールされた更新によって使用できます。

注意

Power BI Desktop とオンプレミス データ ゲートウェイ内のデータ ソースとの間で、サーバーとデータベース名が一致している必要があります。

データセットとゲートウェイ内のデータ ソース間のリンクは、サーバー名とデータベース名に基づいています。 これらの名前は一致している必要があります。 たとえば、Power BI Desktop 内でサーバー名の IP アドレスを指定する場合は、ゲートウェイ構成内のデータ ソースでもその IP アドレスを使用する必要があります。 Power BI Desktop で SERVER\INSTANCE を使用する場合は、ゲートウェイ用に構成されているデータ ソース内でも SERVER\INSTANCE を使用する必要があります。 この要件は、ライブ接続とスケジュールされた更新のどちらにも該当します。

ライブ接続でデータ ソースを使用する

表形式または多次元インスタンスに対してライブ接続を使用することができます。 データに初めて接続するときに、Power BI Desktop でライブ接続を選択します。 Power BI Desktop とゲートウェイ用に構成されているデータ ソースとの間で、サーバーとデータベース名が一致していることを確認します。 また、ライブ接続データセットを発行するには、データ ソース一覧の [ユーザー] の下にユーザーが表示されている必要があります。

Power BI Desktop から、または Power BI サービスでデータを取得してレポートを発行すると、データ接続が機能し始めるはずです。 ゲートウェイ内にデータ ソースを作成してから、接続が使用できるようになるまでには、数分ほどかかることがあります。

スケジュールされた更新でデータ ソースを使用する

ゲートウェイ内に構成されているデータ ソースの [ユーザー] タブの一覧に自分のアカウントが表示されていて、さらにサーバーとデータベース名が一致している場合は、スケジュールされた更新で使用するオプションとして、ゲートウェイが表示されます。

Screenshot of selecting the on-premises gateway to use for scheduled refresh.

Analysis Services ライブ接続の制限事項

  • セル レベルの書式設定および変換機能はサポートされていません。

  • アクションと名前付きセットが Power BI に公開されることはありません。 アクションまたは名前付きセットを含む多次元キューブに接続し、ビジュアルとレポートを作成することはできます。

SKU の要件

サーバーのバージョン 必要な SKU
2012 SP1 CU4 以降 Business Intelligence と Enterprise SKU
2014 Business Intelligence と Enterprise SKU
2016 Standard SKU 以上

他にわからないことがある場合は、 Power BI コミュニティを利用してください。