Share via


AMO セキュリティ クラス

新規 : 2005 年 12 月 5 日

Microsoft SQL Server 2005 Analysis Services (SSAS) セキュリティのセキュリティは、ロールと権限を使用して管理されます。ロールはユーザーのグループです。ユーザー (メンバとも呼ばれる) はロールに追加したり、ロールから削除したりできます。オブジェクトに対する権限はロールによって指定されます。ロールのすべてのメンバは、そのロールが権限を持つオブジェクトを使用できます。ロールのすべてのメンバは、オブジェクトに対して等しい権限を持ちます。権限はオブジェクトに対して適用されます。各オブジェクトは、そのオブジェクトに対して許可された権限のコレクションを持ちます。複数の異なる権限セットを 1 つのオブジェクトに付与できます。オブジェクトの権限コレクションの権限ごとに 1 つのロールが割り当てられます。

このトピックの内容は次のとおりです。

  • Role オブジェクトと RoleMember オブジェクト
  • Permission オブジェクト

次の図は、このトピックで説明するクラスの関係を示しています。

このトピックで説明された AMO のセキュリティ クラス

Role オブジェクトと RoleMember オブジェクト

ロールは、ユーザー (メンバ) のコレクションを格納するオブジェクトです。ロール定義は、Analysis Services のユーザーのメンバシップを設定します。権限はロールに基づいて割り当てられます。したがって、ユーザーがオブジェクトにアクセスするためには、いずれかのロールのメンバになる必要があります。

Role オブジェクトは、Name、ID、および Members の各パラメータで構成されます。Members は文字列のコレクションです。各メンバには "domain\username" という形式のユーザー名が含まれます。Name はロールの名前を表す文字列です。ID はロールの一意な識別子を表す文字列です。

Role オブジェクトを作成するには、データベースのロール コレクションに新しいオブジェクトを追加し、Update メソッドを使用してサーバー上で Role オブジェクトを更新します。Role オブジェクトは使用する前に更新する必要があります。

Role オブジェクトを削除するには、Role オブジェクトの Drop メソッドを使用します。Remove メソッドを使用してロールをロール コレクションから削除しても、アプリケーションでロールが見えなくなるだけで、サーバーからは削除されません。Role オブジェクトに権限が関連付けられている場合は、このオブジェクトを削除できません。

RoleMember オブジェクトを作成するには、ロールのメンバ コレクションにユーザーを追加し、Update メソッドを使用してサーバー上で Role オブジェクトを更新します。ロールを作成できるのは、Server Administrators または Database Administrators だけです。オブジェクトへの権限が付与され任意のたメンバに対しそのオブジェクトの使用を許可する前に、Role オブジェクトをサーバー上で更新する必要があります。

RoleMember オブジェクトを削除する場合は、コレクションの Remove メソッドを使用してコレクションからこれを削除し、Update メソッドを使用してロールを更新する必要があります。

これらのオブジェクトで使用可能なメソッドおよびプロパティの詳細については、Microsoft.AnalysisServices 名前空間の「Microsoft.AnalysisServices.Role」および「Microsoft.AnalysisServices.RoleMember」を参照してください。

Permission オブジェクト

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

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

オブジェクト クラス

Database

DatabasePermission

DataSource

DataSourcePermission

Dimension

DimensionPermission

Cube

CubePermission

MiningStructure

MiningStructurePermission

MiningModel

MiningModelPermission

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

アクション

説明

Process

{true, false}

既定値 = false

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

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

ReadDefinition

{None, Basic, Allowed}

既定値 = None

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

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

Basic および Allowed は、オブジェクトに含まれるオブジェクトによって継承されます。AllowedBasic および 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 を指定しても特に意味はありません。

ms345094.note(ja-jp,SQL.90).gifメモ :

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

Administer

ms345094.note(ja-jp,SQL.90).gifメモ :

データベース権限のみ

{true, false}

既定値 = false

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

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

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

Permission オブジェクトを作成するには、オブジェクトの権限コレクションに新しい権限オブジェクトを追加し、Update メソッドを使用してサーバー上で Permission オブジェクトを更新します。

Permission オブジェクトを削除する場合は、このオブジェクトの Drop メソッドを使用します。Remove メソッドを使用して権限を権限コレクションから削除しても、アプリケーションで権限が見えなくなるだけで、Permission オブジェクトはサーバーから削除されません。ロールに関連付けられた権限が存在する場合は、ロールを削除できません。

利用可能なメソッドおよびプロパティの詳細については、Microsoft.AnalysisServices 名前空間の「Microsoft.AnalysisServices.Permission」を参照してください。

参照

関連項目

Microsoft.AnalysisServices

概念

AMO セキュリティ オブジェクトのプログラミング
AMO クラスの概要

その他の技術情報

権限とアクセス権 (SSAS)
Analysis Services のセキュリティ保護
Analysis Services の概念とオブジェクト
Analysis Services オブジェクト

ヘルプおよび情報

SQL Server 2005 の参考資料の入手