Share via


セキュリティ ロール (Analysis Services - 多次元データ)

ロールは、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 サーバー ロールは、Windows ユーザーおよびグループによる Analysis Services インスタンスへの管理アクセスを定義します。このロールのメンバは、Analysis Services インスタンスのすべての Analysis Services データベースおよびオブジェクトにアクセスでき、次のタスクを実行できます。

  • SQL Server Management Studio または Business Intelligence Development Studio を使用して、データベースの作成やサーバーレベルのプロパティの設定など、サーバーレベルの管理機能を実行する。

  • 分析管理オブジェクト (AMO) を使用して、プログラムで管理機能を実行する。

  • Analysis Services のデータベース ロールを保守する。

  • トレースを開始する (プロセス アクセス権を持つデータベース ロールによって実行可能な処理イベントを除く)。

Analysis Services の各インスタンスには、そのインスタンスを管理できるユーザーを定義するサーバー ロールがあります。このロールの名前と ID は Administrators で、データベース ロールとは異なり、サーバー ロールは削除できず、権限を追加または削除することもできません。つまり、ユーザーは Analysis Services のインスタンスのサーバー ロールに含まれているかどうかによって、Analysis Services のインスタンスの管理者であるかどうかが決定されます。関連トピック :管理アクセス権の付与サーバー構成プロパティの設定

データベース ロール

Analysis Services のデータベース ロールは、Analysis Services データベース内のオブジェクトおよびデータへのユーザー アクセスを定義します。データベース ロールは Analysis Services データベース内に個別のオブジェクトとして作成され、そのロールが作成されたデータベースのみに適用されます。Windows ユーザーおよびグループは、管理者によってこのロールに含まれています。管理者は、このロール内の権限も定義します。

ロールの権限は、メンバがデータベース内のオブジェクトとデータだけでなく、データベース自体にアクセスして管理できるようにするものです。各権限には 1 つまたは複数のアクセス権が関連付けられており、アクセス権によってデータベース内の特定のオブジェクトへのアクセスをさらに詳細に制御できるようになっています。関連トピック :権限とアクセス権 (Analysis Services - 多次元データ)ユーザー アクセスの許可

Permission オブジェクト

権限は、各ロールについて、オブジェクト (キューブやディメンションなど) に関連付けられます。権限は、ロールのメンバがオブジェクトに対して実行できる操作を指定します。

Permission クラスは抽象クラスです。そのため、対応するオブジェクトに権限を定義するには、派生クラスを使用する必要があります。オブジェクトごとに権限の派生クラスが定義されます。

権限によって使用可能となるアクションを以下の一覧に示します。

アクション

説明

Process

{true, false}

既定値 = false

true を指定した場合、メンバはこのオブジェクトと、このオブジェクトに含まれる任意のオブジェクトを処理できます。

Process 権限はマイニング モデルには適用されません。MiningModel 権限は常に MiningStructure から継承されます。

ReadDefinition

{None, Basic, Allowed}

既定値 = None

オブジェクトに関連付けられたデータ定義 (ASSL) をメンバが読み取れるかどうかを指定します。

Allowed を指定した場合、メンバはオブジェクトに関連付けられた ASSL を読み取ることができます。

Basic および Allowed は、オブジェクトに含まれるオブジェクトによって継承されます。Allowed は Basic および None をオーバーライドします。

Allowed はオブジェクトの DISCOVER_XML_METADATA で必要です。Basic はリンク オブジェクトおよびローカル キューブを作成するために必要です。

Read

{None, Allowed}

既定値 = None (DimensionPermission の場合は、既定値 = Allowed)

スキーマ行セットおよびデータ コンテンツへの読み取りアクセスがメンバにあるかどうかを指定します。

Allowed を指定した場合は、データベースへの読み取りアクセスが許可され、データベースを検出できるようになります。

キューブに対して Allowed を指定した場合は、CellPermission および CubeDimensionPermission による制限がない限り、スキーマ行セットおよびキューブ コンテンツへの読み取りアクセスが許可されます。

ディメンションに対して Allowed を指定した場合は、CubeDimensionPermission による制限がない限り、ディメンション内のすべての属性への読み取り権限が許可されます。Read (読み取り) 権限は、CubeDimensionPermission の静的継承でのみ使用されます。ディメンションに対して None を指定した場合は、ディメンションが非表示になり、集計可能な属性への既定のメンバのアクセスのみが許可されます。ディメンションに集計不能な属性が含まれる場合はエラーが発生します。

MiningModelPermission に対して Allowed を指定した場合は、スキーマ行セット内のオブジェクトの表示権限と、予測結合の実行権限が許可されます。

   Allowed は、データベース内の任意のオブジェクトに対して読み取りまたは書き込みを行う場合に必要です。

Write

{None, Allowed}

既定値 = None

親オブジェクトのデータへの書き込みアクセスがメンバにあるかどうかを指定します。

DimensionCube、および MiningModel の各サブクラスにアクセスが適用されます。データベースの MiningStructure サブクラスには適用されません。検証エラーが発生します。

Dimension に対して Allowed を指定した場合は、ディメンション内のすべての属性への書き込み権限が許可されます。

Cube に対して Allowed を指定した場合は、Type=writeback として定義された各パーティションについて、キューブのセルへの書き込み権限が許可されます。

MiningModel に対して Allowed を指定した場合は、モデル コンテンツの変更権限が許可されます。

Analysis Services では、MiningStructure に対して Allowed を指定しても特に意味はありません。

注意
Read (読み取り) も Allowed に設定しない限り、Write (書き込み) を Allowed に設定することはできません。

Administer

注意
データベース権限のみ

{true, false}

既定値 = false

メンバがデータベースを管理できるかどうかを指定します。

true を指定した場合は、データベース内のすべてのオブジェクトへのアクセスが許可されます。

メンバは特定のデータベースに対してのみ管理権限を持つことができます。他のデータベースを管理することはできません。