5. OLS設定の削除手順#
以下の手順では、OLSのデモで設定したポリシー、ラベル、レベル、ユーザーアクセス権を削除し、そしてOLSを無効化します。
ポリシーの無効化とスキーマからの削除#
指定したポリシーをスキーマから削除します。
スキーマ内のすべての表からポリシーを削除し、ラベル列もオプションで削除します。
BEGIN
SA_POLICY_ADMIN.REMOVE_SCHEMA_POLICY(
policy_name => 'OLS_POL_DEMO',
schema_name => 'HR',
drop_column => TRUE);
END;
/
ユーザーラベルの削除#
指定したユーザーから、OLSポリシーに関連するすべての認可を削除します。
BEGIN
SA_USER_ADMIN.DROP_USER_ACCESS (
policy_name => 'OLS_POL_DEMO',
user_name => 'HR');
SA_USER_ADMIN.DROP_USER_ACCESS (
policy_name => 'OLS_POL_DEMO',
user_name => 'SALES_APP');
END;
/
ラベルの削除#
ポリシー内で作成されたラベルを削除します。
BEGIN
SA_LABEL_ADMIN.DROP_LABEL (
policy_name => 'OLS_POL_DEMO',
label_value => 'SENS');
SA_LABEL_ADMIN.DROP_LABEL (
policy_name => 'OLS_POL_DEMO',
label_value => 'CONF');
SA_LABEL_ADMIN.DROP_LABEL (
policy_name => 'OLS_POL_DEMO',
label_value => 'INTL');
END;
/
レベルの削除#
ポリシーで使用されているレベルを削除します。ただし、データまたはユーザーラベルで使用中のレベルは削除できません。
BEGIN
SA_COMPONENTS.DROP_LEVEL (
policy_name => 'OLS_POL_DEMO',
short_name => 'SENS');
SA_COMPONENTS.DROP_LEVEL (
policy_name => 'OLS_POL_DEMO',
short_name => 'CONF');
SA_COMPONENTS.DROP_LEVEL (
policy_name => 'OLS_POL_DEMO',
short_name => 'INTL');
END;
/
ポリシーの削除#
ポリシーを削除します。削除の前に無効化する必要はありません。
BEGIN
SA_SYSDBA.DROP_POLICY (
policy_name => 'OLS_POL_DEMO',
drop_column => True);
END;
/
OLSの無効化とPDBの再起動#
OLSポリシーの施行を無効にします。 ただし、Database Vaultを使用している場合は無効化しないでください。
EXEC LBACSYS.OLS_ENFORCEMENT.DISABLE_OLS;
状態を確認します。
SQL> col status for a20
SQL> col description for a50
SQL> set lines 100
SQL> SELECT * FROM DBA_OLS_STATUS;
NAME STATUS DESCRIPTION
-------------------- -------------------- --------------------------------------------------
OLS_CONFIGURE_STATUS TRUE Determines if OLS is configured
OLS_ENABLE_STATUS FALSE Determines if OLS is enabled
FALSEとなり、無効化されたことが分かります。
設定を完全に反映させるためにPDBの再起動を行います。
CDBにて実行#
SQL> alter pluggable database freepdb1 close immediate;
SQL> alter pluggable database freepdb1 open;
以上でOracle Label Securityのデモは終了です。