データフィルタリングの詳細
読み込みクエリを実行するときに、Data Filtration (データフィルタリング) を使用し、対象の属性に基づいてテーブルとレコードへのアクセスを制御します。
データフィルタリングは、インスタンスの既存のアクセス制御ルール (ACL) と連携して機能するように設計された、独立した形式のアクセス制御です。データフィルタリングは、アドミニストレーターによって定義された対象属性と一致しないテーブルおよびレコードへのアクセスを拒否します。データフィルタリングは、監査、レポート、およびトラブルシューティングを簡易に行えるように設計されています。
これは、アドミニストレーターがインスタンスで有効にできるオプションの機能です。
データフィルタリング機能
- データフィルター
- データフィルターを使用し、レコード内の情報に基づいてアクセス権を付与します。データフィルターは、テーブルフィールドのデータを使用して、ユーザーがレコードを使用できるかどうかを判断します。
- 対象属性ベースの条件ビルダー
- 対象属性を使用して、ユーザーロール、グループ、対象基準、または IP ネットワークアドレスを評価します。
- データフィルタリングで拒否ベースのモデルを使用する
- データフィルタリングでは、拒否ベースのモデルを使用してレコードへのアクセスを制御します。データフィルタリングでは、レコードがデータフィルタリングで定義された基準を満たしていない限り、インスタンスはレコードへのアクセスを拒否します。
- データフィルタリングの適用
- データフィルタリングルールは、読み取り操作のデータベースクエリの後に実行され、ACL の前に評価されます。データフィルタリングルールによって拒否されたレコードは処理されず、ACL ルールによって評価されます。データフィルタリングルールの適用は、読み取り ACL の適用と一致しています。
- データのフィルタリングとレポート
-
データフィルタリングと ACL はどちらも、リストビューレポートの作成時にのみ適用されます。レポートでは、集計データを収集するときにアクセス制御は適用されません。この場合、データフィルタリングも ACL もチェックされません。
集計されたレポートの場合、データフィルタリングは既存の Report_view access control list 動作と連携して機能します。これらのレポートコントロールの構成の詳細については、「Report_view アクセス制御」を参照してください。
- セッションのデバッグ
- データフィルタリングはセッションのデバッグをサポートします。セッションデバッグを使用して、特定のクエリーに適用されるデータフィルタリングレコードを確認します。アドミニストレーターは、この情報を使用してレコードへのユーザーアクセスのトラブルシューティングを行うことができます。
データフィルタリングのコンポーネント
データフィルタリングは、次のレコードタイプを使用して機能します。
- データフィルタリングレコード
- データフィルタリング [sys_df_data_filtration] レコードを作成して、インスタンスのテーブルアクセスを許可します。データフィルタリングレコードには、ルールのスコープと影響を受けるユーザーを制限するための、前述の データフィルター と 対象属性 の条件が含まれています。
- 対象基準レコード
- 対象基準 [sys_df_subject_criteria] レコードは、データフィルタリングルールを使用してアクセスを許可するかどうかを決定するために使用できる特定のユーザー属性を表します。これらの属性は、ユーザーのグループ、ロール、または IP アドレスです。対象基準を作成するには、対象基準レコードと基準入力および基準条件レコードを作成する必要があります。このプロセスの詳細については、「対象基準の作成」を参照してください。
- 基準入力レコードの例
-
図 : 1. admin を含むすべてのロールの基準入力の例 - 対象基準の条件レコード
-
図 : 2. アドミンのみの基準入力を使用した基準条件の例