オブジェクトと操作に対するアクセスの承認 (Analysis Services)

Analysis Services データベース内のキューブ、ディメンション、マイニング モデルへの管理者以外のユーザーによるアクセスは、1 つ以上のデータベース ロールのメンバーシップを通じて許可されます。 Analysis Services 管理者は、これらのデータベース ロールを作成し、Analysis Services オブジェクトに対する読み取り権限または読み取り/書き込み権限を与え、Microsoft Windows のユーザーとグループを各ロールに割り当てます。

Analysis Services では、ユーザーまたはグループが属している各データベース ロールに関連付けられている権限を組み合わせて、特定の Windows ユーザーまたはグループに有効な権限を判断します。 その結果、1 つのデータベース ロールでディメンション、メジャー、または属性を表示するためのユーザーまたはグループ権限を付与していなくても、別のデータベース ロールでそのユーザーまたはグループ権限を付与している場合、そのユーザーまたはグループにはオブジェクトを表示する権限が与えられます。

重要な注意事項重要

Analysis Services サーバー管理者ロールのメンバーと、フル コントロール (管理者) 権限を持つデータベース ロールのメンバーは、データベースのすべてのデータとメタデータにアクセスでき、特定のオブジェクトを表示するのにその他の権限を必要としません。 さらに、Analysis Services サーバー ロールのメンバーに対してデータベースのオブジェクトへのアクセスを拒否することはできず、データベース内でフル コントロール (管理者) 権限を持つ Analysis Services データベース ロールのメンバーに対してそのデータベース内のオブジェクトへのアクセスを拒否することもできません。 処理などの特別な管理操作は、より低い権限を持つ別のロールによって承認できます。 詳細については、「処理権限の付与 (Analysis Services)」を参照してください。

データベースに定義されているロールの一覧

管理者は、SQL Server Management Studio で簡単な DMV クエリを実行することにより、サーバー上で定義されているすべてのロールの一覧を取得できます。

  1. SSMSで、データベースを右クリックし、[新しいクエリ] | [MDX] を選択します。

  2. 次のクエリを入力し、F5 キーを押して実行します。

    Select * from $SYSTEM.DBSCHEMA_CATALOGS
    

    結果には、データベース名、説明、ロール名、最終変更日が含まれます。 この情報を開始ポイントとして使用することにより、個々のデータベースに移動して、特定のロールのメンバーシップと権限を確認できます。

Analysis Services 認証の概要

このセクションでは、権限を構成するときの基本的なワークフローについて説明します。

手順 1 :サーバーの管理

最初の手順として、サーバー レベルで管理者権限を持つユーザーを決定します。 インストール時に、1 つ以上の Windows アカウントを Analysis Services サーバー管理者として指定するには、SQL Server をインストールするローカル管理者が必要です。 サーバー管理者は、サーバー上の任意のオブジェクトを表示、変更、削除する権限や、関連付けられたデータを表示する権限を含め、サーバーに対して可能なすべての権限を持っています。 インストールが完了すると、サーバー管理者はアカウントを追加または削除して、このロールのメンバーシップを変更できます。 この権限レベルの詳細については、「サーバーの管理権限の許可 (Analysis Services)」をご覧ください。

手順 2 :データベースの管理

次に、表形式または多次元ソリューションを作成した後で、それをサーバーにデータベースとして配置します。 サーバー管理者は、該当するデータベースのフル コントロール権限を持つロールを定義して、データベース管理タスクを委任できます。 このロールのメンバーは、データベース内のオブジェクトを処理したり、オブジェクトのクエリを実行できます。また、データベース自体の内部にあるキューブ、ディメンション、その他のオブジェクトにアクセスするためのロールを追加で作成することもできます。 詳細については、「データベース権限の付与 (Analysis Services)」を参照してください。

手順 3 :クエリや処理のワークロードのために、キューブまたはモデルへのアクセスを有効にします。

既定では、サーバーおよびデータベース管理者だけがキューブまたは表形式モデルにアクセスできます。 これらのデータ構造を組織内の他のユーザーも利用できるようにするには、Read 特権を指定する権限とともに Windows のユーザーおよびグループ アカウントをキューブまたはモデルにマップする追加のロール割り当てが必要です。 詳細については、「キューブまたはモデル権限の付与 (Analysis Services)」を参照してください。

処理タスクは、他の管理機能から分離できます。これによって、サーバーおよびデータベース管理者は、このタスクを他のユーザーに委任したり、スケジュール設定ソフトウェアを実行するサービス アカウントを指定して自動処理を構成することができます。 詳細については、「処理権限の付与 (Analysis Services)」を参照してください。

注意

ユーザーは、Analysis Services のデータ読み込み元である、基になるリレーショナル データベースのリレーショナル テーブルへの権限は必要とせず、Analysis Services のインスタンスを実行しているコンピューターでのファイル レベルの権限も必要としません。

手順 4 (オプション):内部のキューブ オブジェクトへのアクセスを許可または拒否する

Analysis Services には、データ モデル内のディメンション メンバーやセルを含む個々のオブジェクトに対する権限を設定するためのセキュリティ設定が用意されています。 詳細については、「ディメンション データへのカスタム アクセス権の付与 (Analysis Services)」および「セル データへのカスタム アクセス権の付与 (Analysis Services)」を参照してください。

ユーザー ID に応じて権限を変更することもできます。 これは、通常、動的なセキュリティと呼ばれ、UserName (MDX) 関数を使って実装されます。

ベスト プラクティス

権限をより適切に管理するため、次のようなアプローチをお勧めします。

  1. ロールを管理するユーザーがロールで許可される権限をすぐに理解できるように、職務 (たとえば、dbadmin、cubedeveloper、processadmin) ごとにロールを作成します。 他の場所で説明したように、モデル定義でロールを定義すると、その後のソリューション配置中にこれらのロールを保持できます。

  2. Active Directory 内に対応する Windows セキュリティ グループを作成し、該当する個々のアカウントが必ず含まれるように Active Directory 内でそのセキュリティ グループを管理します。 この場合、セキュリティ グループのメンバーシップは、組織内のアカウント メンテナンスに使われるツールやプロセスに既に習熟しているセキュリティ担当者に任されます。

  3. モデルがソース ファイルからサーバーに再配置されるたびにロールの割り当てをすばやく複製できるように、SQL Server Management Studio でスクリプトを生成します。 スクリプトをすばやく生成する方法の詳細については、「キューブまたはモデル権限の付与 (Analysis Services)」をご覧ください。

  4. ロールのスコープとメンバーシップを反映した名前付け規則を採用します。 ロールの名前は設計ツールと管理ツールにのみ表示されるため、キューブのセキュリティ担当者が理解しやすい名前付け規則を使ってください。 たとえば、「processadmin-windowsgroup1」は、個々の Windows ユーザー アカウントが windowsgroup1 セキュリティ グループのメンバーである組織内のユーザーに対する読み取りアクセスと処理権限を示します。

    アカウント情報を含めることで、さまざまなロールでどのアカウントが使われているかを把握しやすくなります。 ロールは追加式になっているため、windowsgroup1 に関連付けられたロールを組み合わせることで、そのセキュリティ グループに属するユーザーにとって有効な権限セットを構成できます。

  5. キューブ開発者は、開発中のモデルとデータベースに対するフル コントロール権限が必要ですが、データベースを実稼働サーバーに展開した後は、読み取り権限だけで済みます。 開発、テスト、運用環境への配置を含むすべてのシナリオで、ロールの定義と割り当てを開発することを忘れないでください。

このようなアプローチを使うことで、モデル内のロール定義やロール メンバーシップの変動が最小限に抑えられ、ロール割り当ての表示機能によってキューブ権限をより簡単に実装および管理できるようになります。

関連項目

タスク

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

概念

ロールと権限 (Analysis Services)

Analysis Services でサポートされる認証方法