セキュリティ・フィルタを使用した権限の定義

フィルタは、データ値(セル)に対するセキュリティ・アクセスをコントロールします。データベースの特定の部分のセキュリティのニーズに対応するフィルタを作成します。フィルタを定義する場合は、特定のデータベース・セルに対する制限を指定します。フィルタを保存するときは、他のフィルタと区別するために一意の名前を付けます。その後、これをユーザーまたはグループに割り当てることができます。

たとえば、管理者がREDという名前のフィルタを設計してデータベースと関連付けし、収益情報が含まれるセルへのアクセスを制限するとします。このフィルタをREVIEWERSという訪問者グループに割り当て、このグループのユーザーが、データベースの大部分を読み取ることができても変更はできず、Profitのデータ値にはアクセスできないようにします。

フィルタは、データベース・メンバーに対する1つ以上のアクセス設定で構成されます。次のアクセス・レベルを指定し、それをメンバーのリストから1つのセルまでの範囲のデータに適用できます。

  • なし: 指定したメンバー・リストに対しては、データの取得も更新もできません。

  • 読取り: 指定したメンバー・リストに対しては、データの取得は可能ですが、更新はできません。

  • 書込み: 指定したメンバー・リストに対しては、データの取得および更新が可能です。

  • メタ読取り: 対応するメンバーの指定について、メタデータ(ディメンション名およびメンバー名)の取得および更新が可能です。

ノート:

メタ読取りアクセス・レベルは、他のすべてのアクセス・レベルより優先されます。データに対して追加のフィルタが定義される場合、それらのフィルタは、定義済のすべてのメタ読取りフィルタ内で適用されます。代替変数に対してメタ読取りフィルタを割り当てて、その代替変数を取得しようとすると、未知のメンバーのエラーが発生しますが、代替変数の値は表示されます。これは予期された動作です。パーティション内でメタデータ・セキュリティを完全にオフにはできません。そのため、ソース・データベースでメタデータ・セキュリティを設定しないでください。設定すると、ターゲット・パーティションで正しくないデータが生成される可能性があります。メタデータ・セキュリティがオンで、かつ、子の中に共有メンバーを含むメンバーに対してドリルアップまたは取得を実行すると、共有メンバーのプロトタイプ・メンバーがフィルタされているため、未知のメンバーのエラーが発生します。このエラーを回避するには、共有メンバーのプロトタイプ・メンバーにメタデータ・セキュリティ・アクセス権を付与します。

フィルタ定義で指定されていないすべてのセルは、データベース・アクセス・レベルを継承します。ただし、よりデータ特有のフィルタ定義によって一般的なデータベース・アクセス・レベルよりも詳細な設定が可能になるため、アクセス権は、データベース・レベルで割り当てられたものからフィルタで追加または削除できます。

フィルタ定義の対象にならないデータ値には、ユーザーに対して定義されているアクセス・レベルがデフォルト設定されます。

計算アクセス権は、ユーザーおよびグループに付与された権限によって制御されます。データベースに対する計算アクセス権を持つユーザーは、フィルタによってブロックされず、その計算の実行によって更新されるすべてのデータ要素に影響を及ぼすことができます。

ノート:

MDX計算済メンバーの計算中に、ユーザーにアクセス権のないセルは#MISSINGセルとして扱われます。