処理権限の付与 (Analysis Services)
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
管理者は、Analysis Services 処理操作専用のロールを作成して、その特定のタスクを他のユーザーまたは自動スケジューリング処理用のアプリケーションに委任できます。 処理権限はデータベース、キューブ、ディメンション、およびマイニング構造レベルで許可することができます。 非常に大きなキューブまたは表形式データベースで作業している場合を除き、相互に依存関係にあるものなどすべてのオブジェクトを含めて、データベース レベルで処理権限を付与することをお勧めします。
権限は、オブジェクトを権限および Windows ユーザーアカウントまたはグループ アカウントに関連付けるロールによって付与されます。 権限は加算的であることに注意してください。 あるロールによってキューブを処理する権限が付与され、別のロールによって同じユーザーにディメンションを処理する権限が付与される場合、この 2 種類のロールによる権限が組み合わされ、キューブを処理する権限とそのデータベース内の指定のディメンションを処理する権限の両方がユーザーに付与されます。
重要
ロールに Process アクセス許可のみを持つユーザーは、SQL Server Management StudioまたはSQL Server Data Toolsを使用してSQL Server Analysis Servicesに接続したり、オブジェクトを処理したりすることはできません。 これらのツールを使用するには、オブジェクト メタデータにアクセスするための 定義の読み取り 権限が必要となります。 どちらのツールも使用できない場合は、XMLA スクリプトを使用して処理操作を実行する必要があります。
また、テスト目的で 定義の読み取り 権限も付与することをお勧めします。 読み取り定義とデータベースの処理の両方のアクセス許可を持つユーザーは、SQL Server Management Studio内のオブジェクトを対話形式で処理できます。 詳細については、「 オブジェクト メタデータに対する読み取り定義のアクセス許可を付与する (Analysis Services)」 を参照してください。
データベース レベルでの処理権限の設定
ここでは、管理者以外のユーザーがデータベース内のすべてのキューブ、ディメンション、マイニング構造、およびマイニング モデルを処理できるようにする方法について説明します。
SQL Server Management Studioで、SQL Server Analysis Servicesのインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] [新しいロール | ] を右クリックします。 名前と説明を入力します。
[全般] ペインで、 [データベースの処理] チェック ボックスをオンにします。 さらに、[定義の読み取り] を選択して、SQL Server Management StudioなどのSQL Server ツールのいずれかを使用して対話型処理を有効にすることもできます。
[メンバーシップ] ペインで、このデータベースのすべてのオブジェクトを処理する権限のある Windows ユーザー アカウントおよびグループ アカウントを追加します。
[OK] をクリックすると、ロール定義が完了します。
個々のオブジェクトに対する処理権限の設定
個々のキューブ、ディメンション、データ マイニング構造、またはデータ マイニング モデルに対する処理権限を設定できます。
一緒に処理する必要があるオブジェクトを誤って除外した場合は、処理が失敗することがあります (たとえば、キューブに対する処理は有効にしたものの、その関連するディメンションに対する処理は有効にしなかった場合)。 オブジェクトの依存関係は見落とされやすいため、個々のオブジェクトに対する処理権限を設定するときには、徹底的にテストする必要があります。
SQL Server Management Studioで、SQL Server Analysis Servicesのインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] [新しいロール | ] を右クリックします。 名前と説明を入力します。
[全般] ペインで、 [データベースの処理] チェック ボックスをオフにします。 データベース権限によって、ロールのオプションがグレー表示されるか選択不可になることで、下位レベルのオブジェクトに対する権限の設定機能がオーバーライドされます。
技術的には、専用の処理ロール用にデータベース権限は必要ありません。 ただし、データベース レベルで定義を読み取らないと、SQL Server Management Studioでデータベースを表示できないため、テストがより困難になります。
処理する個々のオブジェクトを選択します。
[キューブ] ペインで、各キューブの [処理] チェック ボックスをオンにします。
[ディメンション] ペインで、 [すべてのデータベース ディメンション]を選択し、各ディメンションの [処理] チェック ボックスをオンにします。 あるいは、すべての行を選択し、シフトクリックを使用してチェック ボックスの選択を切り替えます。
[メンバーシップ] ペインで、これらのオブジェクトを処理する権限のある Windows ユーザー アカウントおよびグループ アカウントを追加します。
[OK] をクリックすると、ロール定義が完了します。
処理のテスト
shift キーを押しながらSQL Server Management Studio右クリックし、[別のユーザーとして実行] を選択し、テスト対象のロールに割り当てられた Windows アカウントを使用してSQL Server Analysis Servicesのインスタンスに接続します。
[データベース] フォルダーを開き、データベースを選択します。 アカウントにメンバーシップが付与されているロールで表示可能なデータベースのみが表示されます。
キューブまたはディメンションを右クリックし、 [処理]を選択します。 処理オプションを選択します。 オブジェクトのすべての組み合わせについて、すべてのオプションをテストします。 オブジェクトが見つからないためにエラーが発生した場合は、そのオブジェクトをロールに追加します。
データ マイニング構造に対する処理権限の設定
データ マイニング構造を処理するための権限を付与するロールを作成できます。 これには、すべてのマイニング モデルの処理が含まれます。
マイニング モデルと構造の参照に使用されるドリルスルーおよび読み取り定義のアクセス許可はアトミックであり、同じロールに追加することも、別のロールに分離することもできます。
SQL Server Management Studioで、SQL Server Analysis Servicesのインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] [新しいロール | ] を右クリックします。 名前と説明を入力します。 [全般] ペインで、データベース権限のチェック ボックスがオフであることを確認します。 データベース権限によって、ロールのオプションがグレー表示されるか選択不可になることで、下位レベルのオブジェクトに対する権限の設定機能がオーバーライドされます。
[マイニング構造] ペインで、各マイニング構造の [処理] チェック ボックスをオンにします。
[メンバーシップ] ペインで、このデータベースのすべてのオブジェクトを処理する権限のある Windows ユーザー アカウントおよびグループ アカウントを追加します。
[OK] をクリックすると、ロール定義が完了します。
参照
データベース、テーブル、またはパーティションの処理 (Analysis Services)
多次元モデルの処理 (Analysis Services)
データベース権限の付与 (Analysis Services)
オブジェクト メタデータに対する定義の読み取り権限の付与 (Analysis Services)