Professional Documents
Culture Documents
Label Security
Label Security
SA_SYSDBA.CREATE_POLICY(
policy_name => 'ols_pol1',
column_name => 'lb_col',
default_options => 'no_control'
);
SA_COMPONENTS.CREATE_LEVEL(
policy_name => 'ols_pol1',
level_num => 3,
short_name => 'S',
long_name => 'secret'
);
SA_COMPONENTS.CREATE_LEVEL(
policy_name => 'ols_pol1',
level_num => 2,
short_name => 'C',
long_name => 'confidential'
);
SA_COMPONENTS.CREATE_LEVEL(
policy_name => 'ols_pol1',
level_num => 1,
short_name => 'UC',
long_name => 'unclassified'
);
SA_LABEL_ADMIN.CREATE_LABEL(
policy_name => 'ols_pol1',
label_tag => 30,
label_value => 'S',
data_label => TRUE
);
SA_LABEL_ADMIN.CREATE_LABEL(
policy_name => 'ols_pol1',
label_tag => 20,
label_value => 'C',
data_label => TRUE
);
SA_LABEL_ADMIN.CREATE_LABEL(
policy_name => 'ols_pol1',
label_tag => 10,
label_value => 'UC',
data_label => TRUE
);
SA_USER_ADMIN.SET_LEVELS(
policy_name => 'ols_pol1',
user_name => 'tim',
max_level => 'UC',
min_level => 'UC',
def_level => 'UC',
row_level => 'UC'
);
END;
/
BEGIN
-- Now we change the policy to enfoce on read by first altering the policy
-- and then removing and applying the policy again
SA_SYSDBA.ALTER_POLICY(
policy_name => 'ols_pol1',
default_options => 'read_control, label_default'
);
SA_POLICY_ADMIN.REMOVE_TABLE_POLICY(
policy_name => 'ols_pol1',
schema_name => 'gov',
table_name => 'flight',
drop_column => false
);
SA_POLICY_ADMIN.APPLY_TABLE_POLICY(
policy_name => 'ols_pol1',
schema_name => 'gov',
table_name => 'flight'
);
END;
/
BEGIN
SA_USER_ADMIN.SET_USER_PRIVS(
policy_name => 'ols_pol1',
user_name => 'scott',
privileges => 'READ'
);
END;
/
BEGIN
SA_SESSION.SET_ROW_LABEL(
policy_name => 'ols_pol1',
label => 'UC'
);
END;
/
BEGIN
SA_SYSDBA.CREATE_POLICY (
policy_name => 'ACCESS_LOCATIONS',
column_name => 'ols_col',
default_options => 'read_control, update_control');
END;
SA_COMPONENTS.CREATE_LEVEL (
policy_name IN VARCHAR2,
level_num IN NUMBER(38),
short_name IN VARCHAR2,
long_name IN VARCHAR2);
SA_COMPONENTS.DROP_COMPARTMENT
BEGIN
SA_COMPONENTS.DROP_COMPARTMENT (
policy_name => 'hr_ols_pol',
short_name => 'FIN');
END;