XS_DATA_SECURITYパッケージ
XS_DATA_SECURITYパッケージには、データ・セキュリティ・ポリシー、関連データ・レルム制約、列制約およびACLパラメータを作成、管理、削除するためのプロシージャが含まれます。
XS_DATA_SECURITYパッケージのセキュリティ・モデル
XS_DATA_SECURITYパッケージは、SYSスキーマに作成されます。すべてのスキーマのACL、セキュリティ・クラス、セキュリティ・ポリシーなどのスキーマ・オブジェクトを管理できるADMIN_ANY_SEC_POLICYがDBAロールに付与されます。また、ADMIN_ANY_SEC_POLICYを付与されているユーザーは、ENABLE_OBJECT_POLICY、DISABLE_OBJECT_POLICY、APPLY_OBJECT_POLICYおよびREMOVE_OBJECT_POLICYプロシージャをコールできます。
ユーザーは、スキーマに対するRESOURCEロールを付与されている場合に、自身のスキーマ内のスキーマ・オブジェクトを管理できます。RESOURCEロールおよびXS_RESOURCEアプリケーション・ロールには、アプリケーション内のポリシー管理を達成するために、スキーマ内のスキーマ・オブジェクトの管理および権限付与されたスキーマ内のポリシー・アーティファクトの管理に必要な、ADMIN_SEC_POLICY権限が含まれます。
APPLY_SEC_POLICY権限を付与されたユーザーは、スキーマに対するポリシー強制を管理できます。この権限を持つユーザーは、権限付与されたスキーマ内のポリシー強制を管理して、アプリケーション内のポリシー管理を達成できます。
オブジェクト・タイプ、コンストラクタ・ファンクション、シノニムおよび付与
このパッケージには、次のオブジェクト・タイプ、コンストラクタ・ファンクション、シノニムおよびGRANT文が定義されています。
-- Create a type for key
CREATE OR REPLACE TYPE XS$KEY_TYPE AS OBJECT (
primary_key VARCHAR2(130),
foreign_key VARCHAR2(4000),
-- Foreign key type; 1 = col name, 2 = col value
foreign_key_type NUMBER,
-- Constructor function
CONSTRUCTOR FUNCTION XS$KEY_TYPE
(primary_key IN VARCHAR2,
foreign_key IN VARCHAR2,
foreign_key_type IN NUMBER)
RETURN SELF AS RESULT,
MEMBER FUNCTION GET_PRIMARY_KEY RETURN VARCHAR2,
MEMBER FUNCTION GET_FOREIGN_KEY RETURN VARCHAR2,
MEMBER FUNCTION GET_FOREIGN_KEY_TYPE RETURN NUMBER,
);
CREATE OR REPLACE TYPE XS$KEY_LIST AS VARRAY(1000) OF XS$KEY_TYPE;
CREATE OR REPLACE TYPE XS$REALM_CONSTRAINT_TYPE AS OBJECT (
-- Member variables
realm_type NUMBER,
-- Member evaluation rule
realm VARCHAR2(4000),
-- acl list of instance set
acl_list XS$NAME_LIST,
-- isStatic variable for instance set. Stored as INTEGER. No boolean datatype
-- for objects. False is stored as 0 and TRUE is stored as 1
is_static INTEGER,
-- Indicate if the realm is parameterized.
parameterized INTEGER,
-- parent schema name for inherited from
parent_schema VARCHAR2(130),
-- parent object name for inherited from
parent_object VARCHAR2(130),
-- keys for inherited from
key_list XS$KEY_LIST,
-- when condition for inherited from
when_condition VARCHAR2(4000),
-- Constructor function - row_level realm
CONSTRUCTOR FUNCTION XS$REALM_CONSTRAINT_TYPE
(realm IN VARCHAR2,
acl_list IN XS$NAME_LIST,
is_static IN BOOLEAN := FALSE)
RETURN SELF AS RESULT,
-- Constructor function - parameterized row_level realm
CONSTRUCTOR FUNCTION XS$REALM_CONSTRAINT_TYPE
(realm IN VARCHAR2,
is_static IN BOOLEAN := FALSE)
RETURN SELF AS RESULT,
-- Constructor function - master realm
CONSTRUCTOR FUNCTION XS$REALM_CONSTRAINT_TYPE
(parent_schema IN VARCHAR2,
parent_object IN VARCHAR2,
key_list IN XS$KEY_LIST,
when_condition IN VARCHAR2:= NULL)
RETURN SELF AS RESULT,
-- Accessor functions
MEMBER FUNCTION GET_TYPE RETURN NUMBER,
MEMBER FUNCTION GET_REALM RETURN VARCHAR2,
MEMBER FUNCTION GET_ACLS RETURN XS$NAME_LIST,
MEMBER FUNCTION IS_DYNAMIC_REALM RETURN BOOLEAN,
MEMBER FUNCTION IS_STATIC_REALM RETURN BOOLEAN,
MEMBER FUNCTION IS_PARAMETERIZED_REALM RETURN BOOLEAN,
MEMBER FUNCTION GET_KEYS RETURN XS$KEY_LIST,
MEMBER FUNCTION GET_PARENT_SCHEMA RETURN VARCHAR2,
MEMBER FUNCTION GET_PARENT_OBJECT RETURN VARCHAR2,
MEMBER FUNCTION GET_WHEN_CONDITION RETURN VARCHAR2,
MEMBER PROCEDURE SET_REALM(realm IN VARCHAR2),
MEMBER PROCEDURE ADD_ACLS(acl IN VARCHAR2),
MEMBER PROCEDURE ADD_ACLS(acl_list IN XS$NAME_LIST),
MEMBER PROCEDURE SET_ACLS(acl_list IN XS$NAME_LIST),
MEMBER PROCEDURE SET_DYNAMIC,
MEMBER PROCEDURE SET_STATIC,
MEMBER PROCEDURE ADD_KEYS(key IN XS$KEY_TYPE),
MEMBER PROCEDURE ADD_KEYS(key_list IN XS$KEY_LIST),
MEMBER PROCEDURE SET_KEYS(key_list IN XS$KEY_LIST),
MEMBER PROCEDURE SET_PARENT_SCHEMA(parent_schema IN VARCHAR2),
MEMBER PROCEDURE SET_PARENT_OBJECT(parent_object IN VARCHAR2),
MEMBER PROCEDURE SET_WHEN_CONDITION(when_condition IN VARCHAR2)
);
-- Create a list of realm constraint type
CREATE OR REPLACE TYPE XS$REALM_CONSTRAINT_LIST AS VARRAY(1000)
OF XS$REALM_CONSTRAINT_TYPE;
-- Create a type for column(attribute) security
CREATE OR REPLACE TYPE XS$COLUMN_CONSTRAINT_TYPE AS OBJECT (
-- column list
column_list XS$LIST,
-- privilege for column security
privilege VARCHAR2(261),
-- Constructor function
CONSTRUCTOR FUNCTION XS$COLUMN_CONSTRAINT_TYPE
(column_list IN XS$LIST,
privilege IN VARCHAR2)
return SELF AS RESULT,
MEMBER FUNCTION GET_COLUMNS RETURN XS$LIST,
MEMBER FUNCTION GET_PRIVILEGE RETURN VARCHAR2,
MEMBER PROCEDURE ADD_COLUMNS(column IN VARCHAR2),
MEMBER PROCEDURE ADD_COLUMNS(column_list IN XS$LIST),
MEMBER PROCEDURE SET_COLUMNS(column_list IN XS$LIST),
MEMBER PROCEDURE SET_PRIVILEGE(privilege IN VARCHAR2)
);
-- Create a list of column constraint for column security
CREATE OR REPLACE TYPE XS$COLUMN_CONSTRAINT_LIST
IS VARRAY(1000) of XS$COLUMN_CONSTRAINT_TYPE;
XS_DATA_SECURITYサブプログラムの要約
表11-5 XS_DATA_SECURITYサブプログラムの要約
| サブプログラム | 簡単な説明 |
|---|---|
|
新規データ・セキュリティ・ポリシーを作成します。 |
|
|
1つ以上のデータ・レルム制約を既存のデータ・セキュリティ・ポリシーに追加します。 |
|
|
指定されたデータ・セキュリティ・ポリシーのすべてのデータ・レルム制約を削除します。 |
|
|
1つ以上の列制約を指定されたデータ・セキュリティ・ポリシーに追加します。 |
|
|
データ・セキュリティ・ポリシーからすべての列制約を削除します。 |
|
|
指定されたデータ・セキュリティ・ポリシーのACLパラメータを作成します。 |
|
|
指定されたデータ・セキュリティ・ポリシーからACLパラメータを削除します。 |
|
|
指定されたデータ・セキュリティ・ポリシーの説明文字列を設定します。 |
|
|
データ・セキュリティ・ポリシーを削除します。 |
表11-6 表またはビューでデータ・セキュリティ・ポリシーを管理するためのXS_DATA_SECURITYサブプログラムの要約
| サブプログラム | 簡単な説明 |
|---|---|
|
指定された表またはビューのデータ・セキュリティ・ポリシーを有効にします。 |
|
|
指定された表またはビューのデータ・セキュリティ・ポリシーを無効にします。 |
|
|
指定された表またはビューを削除せずに、そこからデータ・セキュリティを削除します。 |
|
|
指定された表またはビューのデータ・セキュリティ・ポリシーを有効または再度有効にします。 |
この項では次のXS_DATA_SECURITYサブプログラムについて説明します。
CREATE_POLICYプロシージャ
CREATE_POLICYプロシージャは、新規データ・セキュリティ・ポリシーを作成します。
構文
XS_DATA_SECURITY.CREATE_POLICY ( name IN VARCHAR2, realm_constraint_list IN XS$REALM_CONSTRAINT_LIST, column_constraint_list IN XS$COLUMN_CONSTRAINT_LIST := NULL, description IN VARCHAR2 :=NULL) ;
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
作成するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
データ・セキュリティ・ポリシーによって保護される行を決定するデータ・レルム制約のリスト。 |
|
|
これはオプションです。保護する属性と権限のリスト。 |
|
|
データ・セキュリティ・ポリシーのオプションの説明。 |
例
次の例は、USER1.EMPLOYEES_DSというデータ・セキュリティ・ポリシーを作成します。データ・レルム制約を使用して、部門番号60および100に関連するデータを保護します。また、SALARY列(属性)へのアクセスは列制約を使用して制限されます。
DECLARE
realm_cons XS$REALM_CONSTRAINT_LIST;
column_cons XS$COLUMN_CONSTRAINT_LIST;
BEGIN
realm_cons :=
XS$REALM_CONSTRAINT_LIST(
XS$REALM_CONSTRAINT_TYPE(realm=> 'DEPARTMENT_ID in (60, 100)',
acl_list=> XS$NAME_LIST('HRACL')));
column_cons :=
XS$COLUMN_CONSTRAINT_LIST(
XS$COLUMN_CONSTRAINT_TYPE(column_list=> XS$LIST('SALARY'),
privilege=> 'VIEW_SENSITIVE_INFO'));
SYS.XS_DATA_SECURITY.CREATE_POLICY(
name=>'USER1.EMPLOYEES_DS',
realm_constraint_list=>realm_cons,
column_constraint_list=>column_cons);
END;APPEND_REALM_CONSTRAINTSプロシージャ
APPEND_REALM_CONSTRAINTSプロシージャは、1つ以上のデータ・レルム制約を既存のデータ・セキュリティ・ポリシーに追加します。
構文
XS_DATA_SECURITY.APPEND_REALM_CONSTRAINTS ( policy IN VARCHAR2, realm_constraint IN XS$REALM_CONSTRAINT_TYPE); XS_DATA_SECURITY.APPEND_REALM_CONSTRAINTS ( policy IN VARCHAR2, realm_constraint_list IN XS$REALM_CONSTRAINT_LIST);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
データ・レルム制約を追加するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
データ・セキュリティ・ポリシーに追加するデータ・レルム制約。 |
|
|
データ・セキュリティ・ポリシーに追加するデータ・レルム制約のリスト。 |
例
次の例は、新規データ・レルム制約をEMPLOYEES_DSデータ・セキュリティ・ポリシーに追加します。
DECLARE
realm_cons XS$REALM_CONSTRAINT_TYPE;
BEGIN
realm_cons :=
XS$REALM_CONSTRAINT_TYPE(realm=> 'DEPARTMENT_ID in (40, 50)',
acl_list=> XS$NAME_LIST('HRACL'));
SYS.XS_DATA_SECURITY.APPEND_REALM_CONSTRAINTS(
policy=>'EMPLOYEES_DS',
realm_constraint=>realm_cons);
END;REMOVE_REALM_CONSTRAINTSプロシージャ
REMOVE_REALM_CONSTRAINTSプロシージャは、データ・セキュリティ・ポリシーからすべてのデータ・レルム制約を削除します。
構文
XS_DATA_SECURITY.REMOVE_REALM_CONSTRAINTS ( policy IN VARCHAR2);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
データ・レルム制約を削除するデータ・セキュリティ・ポリシーの名前。 名前は、 |
例
次の例は、EMPLOYEES_DSデータ・セキュリティ・ポリシーからすべてのデータ・レルム制約を削除します。
BEGIN
SYS.XS_DATA_SECURITY.REMOVE_REALM_CONSTRAINTS('EMPLOYEES_DS');
END; ADD_COLUMN_CONSTRAINTSプロシージャ
ADD_COLUMN_CONSTRAINTSプロシージャは、1つ以上の列制約をデータ・セキュリティ・ポリシーに追加します。
構文
XS_DATA_SECURITY.ADD_COLUMN_CONSTRAINTS ( policy IN VARCHAR2, column_constraint IN XS$COLUMN_CONSTRAINT_TYPE); XS_DATA_SECURITY.ADD_COLUMN_CONSTRAINTS ( policy IN VARCHAR2, column_constraint_list IN XS$COLUMN_CONSTRAINT_LIST);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
属性制約を追加するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
追加する列制約。 |
|
|
追加する列制約のリスト。 |
例
次の例は、COMMISSION_PCT列に対する列制約をEMPLOYEES_DSデータ・セキュリティ・ポリシーに追加します。
DECLARE
column_cons XS$COLUMN_CONSTRAINT_TYPE;
BEGIN
column_cons :=
XS$COLUMN_CONSTRAINT_TYPE(column_list=> XS$LIST('COMMISSION_PCT'),
privilege=> 'VIEW_SENSITIVE_INFO');
SYS.XS_DATA_SECURITY.ADD_COLUMN_CONSTRAINTS(
policy=>'EMPLOYEES_DS',
column_constraint=>column_cons);
END;REMOVE_COLUMN_CONSTRAINTSプロシージャ
REMOVE_COLUMN_CONSTRAINTSプロシージャは、データ・セキュリティ・ポリシーからすべての列制約を削除します。
構文
XS_DATA_SECURITY.REMOVE_COLUMN_CONSTRAINTS ( policy IN VARCHAR2,);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
列制約を削除するデータ・セキュリティ・ポリシーの名前。 名前は、 |
例
次の例は、EMPLOYEES_DSデータ・セキュリティ・ポリシーからすべての列制約を削除します。
BEGIN
SYS.XS_DATA_SECURITY.REMOVE_COLUMN_CONSTRAINTS('EMPLOYEES_DS');
END; CREATE_ACL_PARAMETERプロシージャ
CREATE_ACL_PARAMETERプロシージャは、データ・セキュリティ・ポリシーのACLパラメータを作成します。
構文
XS_DATA_SECURITY.CREATE_ACL_PARAMETER ( policy IN VARCHAR2, parameter IN VARCHAR2, param_type IN NUMBER);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
ACLパラメータを作成する必要のあるデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
作成するACLパラメータの名前。 |
|
|
パラメータのデータ型。これは |
例
次の例は、DEPT_POLICYというACLパラメータをEMPLOYEES_DSデータ・セキュリティ・ポリシーに対して作成します。
BEGIN
SYS.XS_DATA_SECURITY.CREATE_ACL_PARAMETER('EMPLOYEES_DS','DEPT_POLICY',1);
END; DELETE_ACL_PARAMETERプロシージャ
DELETE_ACL_PARAMETERプロシージャは、データ・セキュリティ・ポリシーのACLパラメータを削除します。
構文
XS_DATA_SECURITY.DELETE_ACL_PARAMETER ( policy IN VARCHAR2, parameter IN VARCHAR2, delete_option IN PLS_INTEGER := XS_ADMIN_UTIL.DEFAULT_OPTION);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
ACLパラメータを削除するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
削除するACLパラメータの名前。 |
|
|
使用する削除オプション。次のオプションを使用できます。
|
例
次の例は、デフォルト・オプションを使用してDEPT_POLICY ACLパラメータをEMPLOYEES_DSデータ・セキュリティ・ポリシーから削除します。
BEGIN
SYS.XS_DATA_SECURITY.DELETE_ACL_PARAMETER('EMPLOYEES_DS','DEPT_POLICY',
XS_ADMIN_UTIL.DEFAULT_OPTION);
END; SET_DESCRIPTIONプロシージャ
SET_DESCRPTIONプロシージャは、指定されたデータ・セキュリティ・ポリシーの説明文字列を設定します。
構文
XS_DATA_SECURITY.SET_DESCRIPTION ( policy IN VARCHAR2, description IN VARCHAR2);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
説明を設定するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
指定されたデータ・セキュリティ・ポリシーの説明文字列。 |
例
次の例は、EMPLOYEES_DSデータ・セキュリティ・ポリシーの説明文字列を設定します。
BEGIN
SYS.XS_DATA_SECURITY.SET_DESCRIPTION('EMPLOYEES_DS',
'Data Security Policy for HR.EMPLOYEES');
END; DELETE_POLICYプロシージャ
DELETE_POLICYプロシージャは、データ・セキュリティ・ポリシーを削除します。
構文
XS_DATA_SECURITY.DELETE_POLICY( policy IN VARCHAR2, delete_option IN PLS_INTEGER := XS_ADMIN_UTIL.DEFAULT_OPTION);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
使用する削除オプション。セキュリティ・ポリシーに対して、次のオプションの動作は同じです。
|
例
次の例は、デフォルト・オプションを使用してEMPLOYEES_DSデータ・セキュリティ・ポリシーを削除します。
BEGIN
SYS.XS_DATA_SECURITY.DELETE_POLICY('EMPLOYEES_DS',
XS_ADMIN_UTIL.DEFAULT_OPTION);
END;ENABLE_OBJECT_POLICYプロシージャ
ENABLE_OBJECT_POLICYプロシージャは、指定された表またはビューのデータ・セキュリティ・ポリシーを有効にします。ENABLE_OBJECT_POLICYは、表またはビューに対してACLベースの行レベル・データ・セキュリティ・ポリシーを有効にします。
影響する表に対してインポートまたはエクスポートを実行した後で、またはデバッグの目的で、データ・セキュリティ・ポリシーを有効にすることが必要な場合があります。
現在のユーザーが使用可能な表またはビューのデータ・セキュリティ・ポリシーのステータスを調べるには、DBA_XS_APPLIED_POLICIESデータ・ディクショナリ・ビューを問い合せます。
ポリシーの強制前に、APPLY_SEC_POLICY権限に対するチェックが実行されます。
構文
XS_DATA_SECURITY.ENABLE_OBJECT_POLICY ( policy IN VARCHAR2, schema IN VARCHAR2, object IN VARCHAR2);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
有効にするデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
有効にする表またはビューを含むスキーマの名前。 |
|
|
データ・セキュリティ・ポリシーを有効にする表またはビューの名前。 |
例
次の例は、salesスキーマのproducts表に対してXDSを有効にします。
BEGIN SYS.XS_DATA_SECURITY.ENABLE_OBJECT_POLICY(policy =>'CUST_DS', schema=>'sales', object=>'products'); END;
DISABLE_OBJECT_POLICYプロシージャ
DISABLE_OBJECT_POLICYプロシージャは、指定された表またはビューのデータ・セキュリティ・ポリシーを無効にします。DISABLE_OBJECT_POLICYは、表またはビューに対してACLベースの行レベル・データ・セキュリティ・ポリシーを無効にします。
影響する表に対してインポートまたはエクスポートを実行する場合、またはデバッグの目的で、Real Application Securityを無効にすることが必要な場合があります。
現在のユーザーが使用可能な表またはビューのデータ・セキュリティ・ポリシーのステータスを調べるには、DBA_XS_APPLIED_POLICIESデータ・ディクショナリ・ビューを問い合せます。
ポリシーの強制前に、APPLY_SEC_POLICY権限に対するチェックが実行されます。
構文
XS_DATA_SECURITY.DISABLE_OBJECT_POLICY ( policy IN VARCHAR2, schema IN VARCHAR2, object IN VARCHAR2);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
無効にするデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
無効にする表またはビューを含むスキーマの名前。 |
|
|
データ・セキュリティ・ポリシーを無効にする表またはビューの名前。 |
例
次の例は、salesスキーマのproducts表に対してXDSを無効にします。
BEGIN SYS.XS_DATA_SECURITY.DISABLE_OBJECT_POLICY(policy =>'CUST_DS', schema=>'sales', object=>'products'); END;
REMOVE_OBJECT_POLICYプロシージャ
REMOVE_OBJECT_POLICYプロシージャは、指定された表またはビューを削除せずに、そこからデータ・セキュリティ・ポリシーを削除します。REMOVE_OBJECT_POLICYは、静的データ・レルム制約でENABLE_XDSによって作成されたACLマテリアライズド・ビューを削除します。
現在のユーザーが使用可能な表またはビューのデータ・セキュリティ・ポリシーのステータスを調べるには、DBA_XS_APPLIED_POLICIESデータ・ディクショナリ・ビューを問い合せます。
ポリシーの強制前に、APPLY_SEC_POLICY権限に対するチェックが実行されます。
構文
XS_DATA_SECURITY.REMOVE_OBJECT_POLICY ( policy IN VARCHAR2, schema IN VARCHAR2, object IN VARCHAR2);
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
データ・セキュリティ・ポリシーを削除する表またはビューを含むスキーマの名前。 |
|
|
データ・セキュリティ・ポリシーを削除する表またはビューの名前 |
例
次の例は、salesスキーマのproducts表からCUST_DSデータ・セキュリティ・ポリシーを削除します。
BEGIN SYS.XS_DATA_SECURITY.REMOVE_OBJECT_POLICY(policy=>'CUST_DS', schema=>'sales', object=>'products'); END;
APPLY_OBJECT_POLICYプロシージャ
APPLY_OBJECT_POLICYプロシージャは、指定されたデータベース表またはビューのデータ・セキュリティ・ポリシーを有効または再度有効にします。
現在のユーザーが使用可能な表またはビューのデータ・セキュリティ・ポリシーのステータスを調べるには、DBA_XS_APPLIED_POLICIESデータ・ディクショナリ・ビューを問い合せます。
ポリシーの強制前に、APPLY_SEC_POLICY権限に対するチェックが実行されます。
構文
XS_DATA_SECURITY.APPLY_OBJECT_POLICY ( policy IN VARCHAR2, schema IN VARCHAR2, object IN VARCHAR2, row_acl IN BOOLEAN DEFAULT FALSE, owner_bypass IN BOOLEAN DEFAULT FALSE, statement_types IN VARCHAR2 DEFAULT NULL, aclmv IN VARCHAR2 DEFAULT NULL );
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
有効にするデータ・セキュリティ・ポリシーの名前。 名前は、 |
|
|
有効または再度有効にするリレーショナル表またはビューを含むスキーマの名前。 |
|
|
データ・セキュリティ・ポリシーを有効または再度有効にするリレーショナル表またはビューの名前。 |
|
|
デフォルトは |
|
|
オブジェクトの所有者はデータ・セキュリティ・ポリシーをバイパスできます。デフォルトは |
|
|
タイプは、 アプリケーション・セキュリティにより、表の行を更新する必要があり、同じ表の特定の列への読取りアクセスも制限される場合は、2つの |
|
|
静的ACL情報をメンテナンスするユーザー提供のMV名を指定します。MVには、 |
例
次の例は、HRスキーマのEMP表に対してDEPT_POLICYデータ・セキュリティ・ポリシーを有効にします。
BEGIN
sys.xs_data_security.apply_object_policy(
policy => 'HR.EMPLOYEES_DS',
schema => 'HR',
object => 'EMPLOYEES',
statement_types => 'SELECT',
owner_bypass => true);
END;