データベース権限の付与 (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
権限も選択され、どちらも削除することはできません。
注意
サーバー管理者 (サーバー管理者ロールのメンバー) も、サーバー上のすべてのデータベースに対して、暗黙的にフル コントロールがあります。
Process Database
─ この権限は、データベース レベルで処理を委任するために使用されます。 管理者は、別のユーザーまたはサービスにデータベース内の任意のオブジェクトに対する処理操作の呼び出しを許可するロールを作成して、このタスクの負担を軽減できます。 また、特定のオブジェクトに対する処理を可能にするロールも作成できます。 詳細については、「 プロセスのアクセス許可の付与 (Analysis Services)」 を参照してください。
Read Definition
─ このアクセス許可により、オブジェクト メタデータを読み取る機能から、関連するデータを表示する機能を差し引いた権限が付与されます。 通常、このアクセス許可は専用処理用に作成されたロールで使用され、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 でのロールの作成
SQL Server Management Studioで Analysis Services のインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択して、[ロール | ] [新しいロール] を右クリックします。
[全般] ペインで、DBAdmin などのような名前を入力します。
キューブの [フル コントロール (管理者)] チェック ボックスをオンにします。
Process Database
およびRead Definition
は、自動的にオンになります。 どちらの権限も、Full Control
が含まれているロールに常に含まれています。[メンバーシップ] ペインで、このロールを使用して Analysis Services に接続する Windows ユーザー アカウントおよびグループ アカウントを追加します。
[OK] をクリックして、ロールの作成を終了します。
Process database (データベースのプロセス)
データベースのアクセス許可を付与するロールを定義する場合は、スキップ Full Control
して のみを Process Database
選択できます。 この権限はデータベース レベルで設定され、データベース内のすべてのオブジェクトに対する処理を許可します。 「プロセスのアクセス許可の付与 (Analysis Services)」を参照してください。
[定義の読み取り]
と同様 Process Database
に、データベース レベルでアクセス許可を設定 Read Definition
すると、データベース内の他のオブジェクトにカスケード効果があります。 よりきめ細かいレベルで定義の読み取り権限を設定する場合は、[全般] ペインでデータベース プロパティとして [定義の読み取り] をオフにする必要があります。 詳細については、「 オブジェクト メタデータに対する読み取り定義のアクセス許可を付与する (Analysis Services)」 を参照してください。
参照
サーバー管理者のアクセス許可の付与 (Analysis Services)プロセスのアクセス許可の付与 (Analysis Services)