次の方法で共有


データベースのアクセス許可を付与する (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 DatabaseRead Definitionのアクセス許可も選択され、削除できません。

サーバー管理者 (サーバー管理者ロールのメンバー) にも、サーバー上のすべてのデータベースに対する暗黙的なフル コントロールがあります。

Process Database ─ この権限は、データベース レベルで処理を委任するために使用されます。 管理者は、別のユーザーまたはサービスがデータベース内の任意のオブジェクトに対して処理操作を呼び出すことができるロールを作成することで、このタスクをオフロードできます。 または、特定のオブジェクトに対する処理を有効にするロールを作成することもできます。 詳細については、「 プロセスアクセス許可の付与 (Analysis Services)」 を参照してください。

Read Definition ─ このアクセス許可は、オブジェクト メタデータを読み取る機能から、関連付けられているデータを表示する機能を除く権限を付与します。 通常、このアクセス許可は専用処理用に作成されたロールで使用され、SQL Server Data Tools や SQL Server Management Studio などのツールを使用してデータベースを対話形式で処理する機能が追加されます。 Read Definitionしない場合、Process Databaseアクセス許可はスクリプト化されたシナリオでのみ有効です。 SSIS や別のスケジューラを使用して処理を自動化する予定がある場合は、Read DefinitionなしでProcess Databaseロールを作成することをお勧めします。 それ以外の場合は、ユーザー インターフェイスでデータ モデルを視覚化する SQL Server ツールを使用した無人処理と対話型処理の両方をサポートするために、同じ役割で 2 つのプロパティを組み合わせることを検討してください。

フル コントロール (管理者) のアクセス許可

Analysis Services では、データベース管理者は、フル コントロール (管理者) アクセス許可を含むロールに割り当てられた Windows ユーザー ID です。 データベース管理者は、次のような任意のタスクをデータベース内で実行できます。

  • オブジェクトの処理

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

  • ユーザーまたはアクセス許可を追加してデータベース ロールを作成または変更する (フル コントロールアクセス許可を持つロールへのユーザーの追加を含む)

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

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

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

すべてのロールはユーザー定義であるため、この目的専用のロール ("dbadmin" という名前のロールなど) を作成し、それに応じて Windows ユーザー アカウントとグループ アカウントを割り当てることをお勧めします。

SSMS でロールを作成する

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

  2. [ 全般 ] ウィンドウで、DBAdmin などの名前を入力します。

  3. キューブの [フル コントロール (管理者)] チェック ボックスをオンにします。 Process DatabaseRead Definitionが自動的に選択されていることに注意してください。 これらのアクセス許可は、常に Full Controlを含むロールに含まれます。

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

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

データベースの処理

データベースのアクセス許可を付与するロールを定義するときは、 Full Control をスキップして、 Process Databaseのみを選択できます。 この権限はデータベース レベルで設定され、データベース内のすべてのオブジェクトに対する処理を許可します。 プロセス権限の付与について参照してください (Analysis Services)

定義の読み取り

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

こちらもご覧ください

サーバー管理者のアクセス許可の付与 (Analysis Services)プロセスのアクセス許可の付与 (Analysis Services)