ロールは、Analysis Services オブジェクトとデータのセキュリティを管理するために、Microsoft SQL Server Analysis Servicesで使用されます。 基本的な用語では、ロールは、Analysis Services のインスタンスによって管理されるオブジェクトに対して定義された特定のアクセス権とアクセス許可を持つ Microsoft Windows ユーザーとグループのセキュリティ識別子 (SID) を関連付けます。 Analysis Services には、次の 2 種類のロールが用意されています。
サーバー ロール。Analysis Services のインスタンスへの管理者アクセスを提供する固定ロールです。
データベース ロール。管理者以外のユーザーによるオブジェクトやデータへのアクセスを制御するために、管理者によって定義されるロールです。
Microsoft SQL Server Analysis Services セキュリティのセキュリティは、ロールとアクセス許可を使用して管理されます。 ロールはユーザーのグループです。 ユーザー (メンバーとも呼ばれる) はロールに追加したり、ロールから削除したりできます。 オブジェクトに対する権限はロールによって指定されます。ロールのすべてのメンバーは、そのロールが権限を持つオブジェクトを使用できます。 ロールのすべてのメンバーは、オブジェクトに対して等しい権限を持ちます。 権限はオブジェクトに対して適用されます。 各オブジェクトは、そのオブジェクトに対して許可された権限のコレクションを持ちます。複数の異なる権限セットを 1 つのオブジェクトに付与できます。 オブジェクトの権限コレクションに含まれる各権限には、1 つのロールが割り当てられています。
Role オブジェクトと Role Member オブジェクト
ロールは、ユーザー (メンバー) のコレクションを格納するオブジェクトです。 ロール定義は、Analysis Services のユーザーのメンバーシップを確立します。 権限はロールに基づいて割り当てられます。したがって、ユーザーがオブジェクトにアクセスするためには、いずれかのロールのメンバーになる必要があります。
Role オブジェクトは、Name、ID、および Members の各パラメーターで構成されます。 Members は文字列のコレクションです。 各メンバーには "domain\username" という形式のユーザー名が含まれます。 Name はロールの名前を表す文字列です。 ID はロールの一意な識別子を表す文字列です。
サーバー ロール
Analysis Services サーバー ロールは、Analysis Services のインスタンスに対する Windows ユーザーとグループの管理アクセスを定義します。 このロールのメンバーは、Analysis Services のインスタンス上のすべての Analysis Services データベースとオブジェクトにアクセスでき、次のタスクを実行できます。
データベースの作成やサーバー レベルのプロパティの設定など、SQL Server Management StudioまたはSQL Server Data Tools (SSDT) を使用してサーバー レベルの管理機能を実行します。
分析管理オブジェクト (AMO) を使用して、プログラムで管理機能を実行する。
Analysis Services データベース ロールを維持します。
トレースを開始する (プロセス アクセス権を持つデータベース ロールによって実行可能な処理イベントを除く)。
Analysis Services のすべてのインスタンスには、そのインスタンスを管理できるユーザーを定義するサーバー ロールがあります。 このロールの名前と ID は Administrators で、データベース ロールとは異なり、サーバー ロールは削除できず、権限を追加または削除することもできません。 言い換えると、ユーザーが Analysis Services のインスタンスのサーバー ロールに含まれているかどうかに応じて、Analysis Services のインスタンスの管理者であるか、または管理者ではありません。
データベース ロール
Analysis Services データベース ロールは、Analysis Services データベース内のオブジェクトとデータへのユーザー アクセスを定義します。 データベース ロールは Analysis Services データベース内の別のオブジェクトとして作成され、そのロールが作成されたデータベースにのみ適用されます。 Windows ユーザーおよびグループは、管理者によってこのロールに含まれています。管理者は、このロール内の権限も定義します。
ロールの権限は、メンバーがデータベース内のオブジェクトとデータだけでなく、データベース自体にアクセスして管理できるようにするものです。 各権限には 1 つまたは複数のアクセス権が関連付けられており、アクセス権によってデータベース内の特定のオブジェクトへのアクセスをさらに詳細に制御できるようになっています。
Permission オブジェクト
権限は、各ロールについて、オブジェクト (キューブやディメンションなど) に関連付けられます。 権限は、ロールのメンバーがオブジェクトに対して実行できる操作を指定します。
Permission クラスは抽象クラスです。 そのため、対応するオブジェクトに権限を定義するには、派生クラスを使用する必要があります。 オブジェクトごとに権限の派生クラスが定義されます。
Object | クラス |
---|---|
Database | DatabasePermission |
DataSource | DataSourcePermission |
Dimension | DimensionPermission |
Cube | CubePermission |
MiningStructure | MiningStructurePermission |
MiningModel | MiningModelPermission |
権限によって使用可能となるアクションを以下の一覧に示します。
アクション | 値 | 説明 |
---|---|---|
プロセス | {true , false }既定値 = false |
true を指定した場合、メンバーはこのオブジェクトと、このオブジェクトに含まれる任意のオブジェクトを処理できます。Process 権限はマイニング モデルには適用されません。 MiningModel 権限は常に MiningStructure から継承されます。 |
ReadDefinition | {None , Basic , Allowed }既定値 = None |
オブジェクトに関連付けられたデータ定義 (ASSL) をメンバーが読み取れるかどうかを指定します。Allowed を指定した場合、メンバーはオブジェクトに関連付けられた ASSL を読み取ることができます。Basic および Allowed は、オブジェクトに含まれるオブジェクトによって継承されます。 Allowed は Basic および None をオーバーライドします。オブジェクトで DISCOVER_XML_METADATA を使用する場合、 Allowed を指定する必要があります。 リンク オブジェクトとローカル キューブを作成する場合、Basic を指定する必要があります。 |
Read | {None , Allowed }既定値 = None (DimensionPermission の場合は、既定値 = Allowed ) |
スキーマ行セットおよびデータ コンテンツへの読み取りアクセスがメンバーにあるかどうかを指定します。Allowed を指定した場合は、データベースへの読み取りアクセスが許可され、データベースを検出できるようになります。キューブに対して Allowed を指定した場合は、CellPermission および CubeDimensionPermission による制限がない限り、スキーマ行セットおよびキューブ コンテンツへの読み取りアクセスが許可されます。ディメンションに対して Allowed を指定した場合は、CubeDimensionPermission による制限がない限り、ディメンション内のすべての属性への読み取り権限が許可されます。 Read (読み取り) 権限は、CubeDimensionPermission の静的継承でのみ使用されます。 ディメンションに対して None を指定した場合は、ディメンションが非表示になり、集計可能な属性への既定のメンバーのアクセスのみが許可されます。ディメンションに集計不能な属性が含まれる場合はエラーが発生します。MiningModelPermission に対して Allowed を指定した場合は、スキーマ行セット内のオブジェクトの表示権限と、予測結合の実行権限が許可されます。注Allowed は、データベース内の任意のオブジェクトの読み取りまたは書き込みを行うために必要です。 |
Write | {None , Allowed }既定値 = None |
親オブジェクトのデータへの書き込みアクセスがメンバーにあるかどうかを指定します。 Dimension、Cube、および MiningModel の各サブクラスにアクセスが適用されます。 データベースの MiningStructure サブクラスには適用されません。検証エラーが発生します。 Dimension に対して Allowed を指定した場合は、ディメンション内のすべての属性への書き込み権限が許可されます。Cube に対して Allowed を指定した場合は、Type=writeback として定義された各パーティションについて、キューブのセルへの書き込み権限が許可されます。MiningModel に対して Allowed を指定した場合は、モデル コンテンツの変更権限が許可されます。Allowed MiningStructureでは、Analysis Services では特定の意味がありません。 メモ: 読み取りも に Allowed 設定されていない限り、書き込みは に設定できません Allowed |
管理 注: データベースのアクセス許可でのみ | {true , false }既定値 = false |
メンバーがデータベースを管理できるかどうかを指定します。true を指定した場合は、データベース内のすべてのオブジェクトへのアクセスが許可されます。メンバーは特定のデータベースに対してのみ管理権限を持つことができます。他のデータベースを管理することはできません。 |