次の方法で共有


データベース権限の付与 (Analysis Services)

リレーショナル データベースの知識に基づいて、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 データベースに対して幅広い能力を与える、すべてを含んだ権限です。フル コントロールはデータベース管理者ステータスと同義です。Full Control を選択すると、Process Database 権限と Read Definition 権限も選択され、削除することはできません。

注意

サーバー管理者 (サーバー管理者ロールのメンバー) はサーバー上のあらゆるデータベースに対して、暗黙的なフル コントロールを持っています。

データベースの処理 ─ この権限はデータベース レベルで処理を委任するために使用されます。管理者は、別のユーザーまたはサービスがデータベース内の任意のオブジェクトの処理操作を呼び出すことができるようにするロールを作成することで、このタスクを負荷を軽減できます。あるいは、特定のオブジェクトでの処理が可能なロールを作成することもできます。詳細については、「処理権限の付与 (Analysis Services)」を参照してください。

定義の読み取り ─ この権限は、オブジェクト メタデータを読み取ることができる一方、関連するデータの表示はできない機能を付与します。通常、この権限は専用の処理のために作成されたロールで使用され、SQL Server Data Tools または SQL Server Management Studio といったツールを使用してデータベースを対話的に処理する機能を追加します。Read Definition がない場合、Process Database 権限はスクリプト化された状況でのみ有効です。処理を自動化する (おそらく SSIS または他のスケジューラを使用して) 計画がある場合、Process Database を持ち、Read Definition を持たないロールを作成できます。それ以外では、2 つのプロパティを同じロール内で組み合わせ、一定のユーザー インターフェイスでデータ モデルを可視化する SQL Server ツールを使用し、自動処理と対話処理の両方をサポートすることができます。

フル コントロール (管理者) 権限

Analysis Services において、データベース管理者は、フル コントロール (管理者) 権限を含むロールに割り当てられたいずれかの Windows ユーザー ID です。データベース管理者は以下のように、データベース内の任意のタスクを実行できます。

  • オブジェクトの処理

  • キューブ、ディメンション、メジャー グループ、パースペクティブ、データ マイニング モデルなど、データベース内のすべてのオブジェクトのデータおよびメタデータを読み取る

  • フル コントロール権限も持つロールへのユーザー追加を含め、ユーザーまたは権限の追加により、データベース ロールの作成または変更を行う

  • データベース ロールまたはロール メンバーシップを削除する

  • データベースのアセンブリ (またはストアド プロシージャ) を登録する。

データベース管理者は、サーバー上のデータベースの追加または削除や、同じサーバー上の他のデータベースへの管理者権限の付与はできないことに注意してください。そうした特権はサーバー管理者のみに属します。この権限レベルの詳細については、「サーバーの管理権限の許可 (Analysis Services)」を参照してください。

すべてのロールはユーザー定義なので、特定の目的に専用のロールを作成し (たとえば、"dbadmin" という名前のロール)、次に対応する Windows ユーザーおよびグループ アカウントを割り当てることを推奨します。

SSMS でロールを作成する

  1. SQL Server Management Studio で、Analysis Services のインスタンスに接続し、[データベース] フォルダを開き、データベースを選択して、[ロール] を右クリックして [新しいロール] を選択します。

  2. [全般] ペインで、名前を入力します (DBAdmin など)。

  3. キューブに対して、[フル コントロール (管理者)] チェック ボックスをオンにします。Process Database と Read Definition は自動的に選択されます。これらの権限は両方とも Full Control を含むロールに常に含まれています。

  4. [メンバーシップ] ペインで、このロールを使用して Analysis Services に接続する Windows ユーザーおよびグループ アカウントを入力します。

  5. [OK] をクリックして、ロールの作成を終了します。

[データベースの処理]

データベース権限を付与するロールを定義する場合、[フル コントロール] をスキップして、[データベースの処理] のみを選択できます。この権限はデータベース レベルで設定され、データベース内のすべてのオブジェクトの処理が可能になります。「処理権限の付与 (Analysis Services)」を参照してください。

[定義の読み取り]

[データベースの処理] と同様に、[定義の読み取り] 権限をデータベース レベルで設定すると、データベース内の他のオブジェクトに連鎖的に影響します。定義の読み取り権限をより詳細なレベルで設定する場合、[全般] ペインでデータベース プロパティとしての定義の読み取りを消去する必要があります。詳細については、「オブジェクト メタデータにおける定義の読み取り権限の付与 (Analysis Services)」を参照してください。

関連項目

タスク

サーバーの管理権限の許可 (Analysis Services)

処理権限の付与 (Analysis Services)