データベース権限の付与 (Analysis Services)
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
リレーショナル データベースのバックグラウンドを持つ方が Analysis Services データベース管理を始める場合に、まず理解する必要があることは、データ アクセスの観点で、データベースは Analysis Services の主要なセキュリティ保護可能なオブジェクトではないということです。
Analysis Services の主要なクエリ構造はキューブ (または表形式モデル) であり、それらの特定のオブジェクトにユーザー権限が設定されます。 リレーショナル データベース エンジンではデータベース ログインおよびユーザー権限 (多くの場合 db_datareader) がデータベース自体に対して設定されるのとは対照的に、Analysis Services データベースは大部分がデータ モデルの主要なクエリ オブジェクトのコンテナーとなります。 キューブまたは表形式モデルのデータ アクセスを有効にすることが目的の場合は、現時点ではデータベースのアクセス許可をバイパスし、次のトピックに進むことができます:キューブまたはモデルのアクセス許可の付与 (Analysis Services)。
Analysis Services のデータベース権限によって、管理機能が使用できるようになります。フル コントロール データベース権限と概要は同じですが、処理操作を委任する場合の粒度が高くなるという特性があります。 Analysis Services データベースの権限レベルは、次の図と説明に示すように、 [ロールの作成] ダイアログ ボックスの [全般] ペインに指定されています。
Analysis Services にはログインがありません。 単にロールを作成し、 [メンバーシップ] ペインで Windows アカウントを割り当てるだけです。 管理者も含めてすべてのユーザーが、Windows アカウントを使用して Analysis Services に接続します。
データベース レベルで指定される権限には、3 つの種類があります。
フル コントロール (管理者) : フル コントロールは、Analysis Services データベースに対して幅広い裁量を持つすべてを網羅した権限であり、たとえば、データベース内の任意のオブジェクトに対してクエリまたは処理を実行したり、ロールのセキュリティを管理したりできます。 フル コントロールは、データベース管理者ステータスと同義です。 [フル コントロール]を選択すると、 [データベースの処理] 権限と [定義の読み取り] 権限も同時に選択され、削除できなくなります。
注意
サーバー管理者 (サーバー管理者ロールのメンバー) も、サーバー上のすべてのデータベースに対して、暗黙的にフル コントロールがあります。
データベースの処理 : この権限は、データベース レベルで処理を委任するために使用します。 管理者は、別のユーザーまたはサービスにデータベース内の任意のオブジェクトに対する処理操作の呼び出しを許可するロールを作成して、このタスクの負担を軽減できます。 また、特定のオブジェクトに対する処理を可能にするロールも作成できます。 詳細については、「 プロセスアクセス許可の付与 (Analysis Services)」 を参照してください。
定義の読み取り : この権限によって、オブジェクト メタデータを読み取ることができるようになりますが、関連するデータを表示することはできません。 通常、このアクセス許可は専用処理用に作成されたロールで使用され、SQL Server Data ToolsやSQL Server Management Studioなどのツールを使用してデータベースを対話的に処理する機能が追加されます。 [定義の読み取り]権限がない場合、 [データベースの処理] 権限は、スクリプト化されたシナリオでのみ有効になります。 SSIS や他のスケジューラなどで処理を自動化する場合は、 [データベースの処理] 権限があり、 [定義の読み取り]権限がないロールを作成することをお勧めします。 それ以外の場合は、2 つのプロパティを同じロールに結合することで、ユーザー インターフェイスにデータ モデルを視覚化する SQL Server ツールを使用して自動処理と対話型処理の両方をサポートすることを検討してください。
フル コントロール (管理者) 権限
SQL Server Analysis Servicesでは、データベース管理者は、フル コントロール (管理者) アクセス許可を含むロールに割り当てられた任意の Windows ユーザー ID です。 データベース管理者は、データベース内で次のようなタスクを実行できます。
オブジェクトを処理します。
キューブ、ディメンション、メジャー グループ、パースペクティブ、データ マイニング モデルなど、データベース内のすべてのオブジェクトのデータおよびメタデータを読み取ります。
フル コントロール権限も持つロールにユーザーを追加するなどユーザーまたは権限を追加して、データベース ロールを作成または変更します。
データベース ロールまたはロール メンバーシップを削除します。
データベースのアセンブリ (またはストアド プロシージャ) を登録します。
データベース管理者は、サーバー上でデータベースを追加または削除したり、同じサーバー上の他のデータベースに管理者権限を付与したりすることはできません。 その特権は、サーバー管理者にのみ属します。 このアクセス許可レベルの詳細については、「 Analysis Services インスタンスにサーバー管理者権限を付与 する」を参照してください。
すべてのロールがユーザー定義であるため、この目的専用のロール (たとえば、"dbadmin" という名前のロール) を作成し、適切な Windows ユーザー アカウントおよびグループ アカウントを割り当てることをお勧めします。
SSMS でのロールの作成
SQL Server Management Studioで、SQL Server Analysis Servicesのインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択して、[ロール] [新しいロール | ] を右クリックします。
[全般] ペインで、DBAdmin などのような名前を入力します。
キューブの [フル コントロール (管理者)] チェック ボックスをオンにします。 [データベースの処理] と [定義の読み取り] が自動的に選択されます。 どちらの権限も、 [フル コントロール]を含むロールに常に含まれます。
[メンバーシップ] ペインで、このロールを使用して Analysis Services に接続する Windows ユーザー アカウントおよびグループ アカウントを追加します。
[OK] をクリックして、ロールの作成を終了します。
Process database (データベースのプロセス)
データベース権限を付与するロールを定義するときは、 [フル コントロール] をスキップし、 [データベースの処理]のみを選択できます。 この権限はデータベース レベルで設定され、データベース内のすべてのオブジェクトに対する処理を許可します。 「プロセスのアクセス許可を付与する (Analysis Services)」を参照してください
[定義の読み取り]
[データベースの処理]と同じく、データベース レベルで [定義の読み取り] 権限を設定すると、データベース内の他のオブジェクトに連鎖的に影響を及ぼします。 よりきめ細かいレベルで定義の読み取り権限を設定する場合は、[全般] ペインでデータベース プロパティとして [定義の読み取り] をオフにする必要があります。 詳細については、「 オブジェクト メタデータに対する読み取り定義のアクセス許可を付与する (Analysis Services)」 を参照してください。
参照
Analysis Services インスタンスにサーバー管理者権限を付与する
処理権限の付与 (Analysis Services)