キューブ権限またはモデル権限の付与 (Analysis Services)

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

キューブまたは表形式モデルは、Analysis Services データ モデルの主要なクエリ オブジェクトです。 アドホック データ探索のために Excel から多次元データまたは表形式データに接続する場合、ユーザーは、通常、最初に、ピボット レポート オブジェクトの基礎となるデータ構造として、特定のキューブまたは表形式モデルを選択します。 このトピックでは、キューブまたは表形式データへのアクセスに必要な権限を付与する方法について説明します。

既定では、サーバー管理者とデータベース管理者を除いて、データベースのクエリ キューブに対する権限を持ちません。 管理者以外がキューブにアクセスするには、キューブが含まれているデータベースのために作成されたロールでのメンバーシップが必要です。 メンバーシップは、Active Directory またはローカル コンピューターに定義された、Windows ユーザー アカウントまたはグループ アカウントに対してサポートされています。 開始する前に、作成するロールではどのアカウントにメンバーシップが割り当てられるかを判別します。

キューブへの Read アクセス権には、そのキューブ内のディメンション、メジャー グループ、およびパースペクティブに対する権限も付属します。 ほとんどの管理者は、キューブ レベルで Read 権限を付与し、特定のオブジェクト、関連するデータ、またはユーザー ID に対する権限を制限します。

連続するソリューションデプロイでロール定義を保持するには、モデルの不可欠な部分としてSQL Server Data Toolsでロールを定義し、データベースの発行後にデータベース管理者にSQL Server Management Studioのロール メンバーシップを割り当てることをお勧めします。 ただし、どちらのツールも両方のタスクに使用できます。 演習を簡略化するために、ロール定義とメンバーシップの両方にSQL Server Management Studioを使用します。

注意

サーバー管理者、またはフル コントロール権限を持つデータベース管理者のみが、ソース ファイルからサーバーへのキューブの配置や、ロールの作成とメンバーへの割り当てを実行できます。 これらのアクセス許可レベルの詳細については、「 Analysis Services インスタンスにサーバー管理者権限を付与する 」および 「データベースアクセス許可の付与 (Analysis Services)」 を参照してください。

手順 1: ロールの作成

  1. SSMS で、Analysis Services に接続します。 この手順に関 するヘルプが必要な場合は、「クライアント アプリケーション (Analysis Services) からの接続」 を参照してください。

  2. オブジェクト エクスプローラーで [データベース] フォルダーを開き、データベースを選択します。

  3. [ロール] を右クリックし、 [新しいロール]を選択します。 ロールがデータベース レベルで作成され、データベース内のオブジェクトに適用されることに注意してください。 データベース間でロールを共有することはできません。

  4. [全般] ペインで、名前を入力し、必要に応じて説明を入力します。 また、このペインには、フル コントロール、データベースの処理、定義の読み取りなど、いくつかのデータベース権限も含まれています。 これらのいずれの権限も、キューブまたは表形式モデルに対するクエリの実行には必要ありません。 これらのアクセス許可の詳細については、「 データベースのアクセス許可の付与 (Analysis Services)」 を参照してください。

  5. 名前および必要に応じて説明を入力した後、次の手順に進みます。

手順 2: メンバーシップの割り当て

  1. [メンバーシップ] ペインで、 [追加] をクリックして、このロールを使用してキューブにアクセスする Windows ユーザー アカウントまたはグループ アカウントを入力します。 Analysis Services では、Windows セキュリティ ID のみがサポートされています。 この手順ではデータベース ログインを作成しないことに注意してください。 Analysis Services では、ユーザーは Windows アカウントで接続します。

  2. 次の手順に進み、キューブ権限を設定します。

    データ ソース ペインをスキップしていることに注意してください。 Analysis Services データの通常のコンシューマーのほとんどには、データ ソース オブジェクトに対する権限は必要ありません。 このアクセス許可を設定するタイミングの詳細については、「 データ ソース オブジェクト (Analysis Services) に対するアクセス許可を付与する」を参照してください。

手順 3: キューブ権限の設定

  1. [キューブ] ペインで、キューブを選択し、 [読み取り] アクセス権または [読み取り/書き込み] アクセス権をクリックします。

    ほとんどの操作は[読み取り] アクセス権で十分です。 [読み取り/書き込み] は、処理ではなく書き戻しにのみ使用します。 この機能の詳細については、「 パーティションの書き戻しの設定 」をご覧ください。

    複数のキューブのほか、[ロールの作成] ダイアログ ボックスで使用可能なその他のオブジェクトも選択できることに注意してください。 キューブに対する権限を付与すると、そのキューブに関連付けられたディメンションおよびパースペクティブへのアクセスが承認されます。 キューブに既に表されているオブジェクトを手動で追加する必要はありません。

    特定のメジャーを使用できないようにするなどの目的で、オブジェクトまたはユーザーによって承認方法を変化させる必要がある場合、特定のオブジェクトやセルに対するアクセスをアトミックに許可または拒否できます。 詳細については、「 ディメンション データへのカスタム アクセスを許可する (Analysis Services)」 および 「セル データへのカスタム アクセスを許可する (Analysis Services)」 を参照してください。

  2. この時点で [OK]をクリックすると、このロールのすべてのメンバーが、指定した権限レベルでキューブにアクセスできるようになります。

    [キューブ] ペインでは、 [ドリルスルーとローカル キューブ]を使用してサーバー キューブからローカル キューブを作成するための権限をユーザーに付与したり、 [ドリルスルー] 権限を使用してドリルスルーのみを許可したりできることに注意してください。

    さらに、このペインでは、キューブに対する [データベースの処理] 権限を付与して、このロールのすべてのメンバーがこのキューブのデータを処理できるようにすることができます。 処理は通常制限付きの操作であるため、そのタスクを管理者に委ねるか、または特にそのタスク用に別途ロールを定義することをお勧めします。 処理アクセス許可のベスト プラクティスの詳細については、「 プロセスアクセス許可の付与 (Analysis Services)」 を参照してください。

手順 4: テスト

  1. Excel を使用して、キューブのアクセス権をテストします。 SQL Server Management Studioを使用することもできます。次に説明するのと同じ手法に従って、管理者以外のユーザーとしてアプリケーションを実行します。

    注意

    Analysis Services 管理者の場合、管理者権限がより権限の小さいロールと結合されるため、個別にロール権限をテストするのが難しくなります。 テストを簡素化するため、テスト対象のロールに割り当てられたアカウントを使用して、SSMS の 2 番目のインスタンスを開くことをお勧めします。

  2. Shift キーを押したまま [Excel] を右クリックして、 [別のユーザーとして実行] オプションにアクセスします。 このロールにメンバーシップがある Windows ユーザー アカウントまたはグループ アカウントの 1 つを入力します。

  3. Excel が開いたら、[データ] タブを使用して Analysis Services に接続します。 別の Windows ユーザーとして Excel を実行しているため、ロールをテストする際には [Windows 認証を使用する] オプションが適切な資格情報の種類です。 この手順に関 するヘルプが必要な場合は、「クライアント アプリケーション (Analysis Services) からの接続」 を参照してください。

    接続に関するエラーが表示された場合は、Analysis Services のポート構成を確認し、サーバーがリモート接続に対応していることを確認します。 ポートの構成については、「 Analysis Services のアクセスを許可するための Windows ファイアウォールの構成 」をご覧ください。

手順 5: スクリプト ロールの定義と割り当て

  1. 最後の手順として、作成したロール定義をキャプチャするスクリプトを生成します。

    SQL Server Data Toolsからプロジェクトを再デプロイすると、プロジェクト内で定義されていないロールまたはロール メンバーシップが上書きされます。 再配置後にロールおよびロール メンバーシップを最も速く再構築する方法は、スクリプトを使用することです。

  2. SSMS で、 [ロール] フォルダーに移動し、既存のロールを右クリックします。

  3. [スクリプト ロール] を[CREATE TO | ファイル] として | 選択します

  4. 拡張子を .xmla にしてファイルを保存します。 スクリプトをテストするには、現在のロールを削除し、SSMS でファイルを開き、F5 キーを押してスクリプトを実行します。

次のステップ

セルまたはディメンション データへのアクセスを制限するようにキューブ権限を調整できます。 詳細については、「 ディメンション データへのカスタム アクセスを許可する (Analysis Services)」 および 「セル データへのカスタム アクセスを許可する (Analysis Services)」 を参照してください。

参照

Analysis Services でサポートされる認証方法
データ マイニング構造およびデータ マイニング モデルに対する権限の付与 (Analysis Services)
データ ソース オブジェクトに対する権限の付与 (Analysis Services)