#SA_USER_ADMIN
SA_USER_ADMIN包提供了一组内置子程序,用于设置、移除用户与LBAC安全策略的关联关系,执行需要LBAC_DBA权限。
该内置高级包仅适用于单机部署。
# SET_USER_LABELS
SA_USER_ADMIN.SET_USER_LABELS (
policy_name IN VARCHAR,
user_name IN VARCHAR,
max_read_label IN VARCHAR,
max_write_label IN VARCHAR DEFAULT NULL,
min_write_label IN VARCHAR DEFAULT NULL,
def_label IN VARCHAR DEFAULT NULL,
row_label IN VARCHAR DEFAULT NULL);
此存储过程用于为用户关联LBAC安全标签,从而建立用户与LBAC安全策略的关联关系。
参数 | 描述 |
---|---|
policy_name | LBAC安全标签所属策略的名称 |
user_name | 用户名 |
max_read_label | 用户的最大读标签。设置用户可以被赋予的最大的读权限标签,包含最大可以设置的级别和范围组合 |
max_write_label | 用户的最大写标签。设置用户可以被赋予的最大的写权限标签,包含最大可以设置的级别和范围组合。需满足如下规则: (1)max_write_label中的level等于max_read_label中的level。 (2)max_write_label的范围内容为 max_read_label范围内容的子集。 (3)若该参数为空,则值为max_read_label。 |
min_write_label | 用户的最小写标签。指定用户的最小写标签,只包含级别。若该参数为空,则值为该策略内的最小等级 |
def_label | 默认会话标签,标签的范围内容是max_read_label范围内容的子集。若该参数为空,则值为max_read_label。 def_label内容,在视图DBA_SA_USER_LABELS中,以default_read标签、default_write标签展现。 * default_read 用户的读权限标签,标签中的等级值为def_label标签的等级制,标签中的范围内容是max_read_label的范围内容和def_label的范围内容的子集。 * default_write 用户的写权限标签,标签中的等级值为def_label标签的等级制,标签中的范围内容是max_write_label的范围内容和def_label的范围内容的子集 |
row_label | 行标签,包含的等级的值不能大于def_label中的等级的值,包含的范围内容是def_label范围的子集 |
示例(单机部署)
BEGIN
SA_USER_ADMIN.SET_USER_LABELS ('lbac_policy', 'sales', 'GENERAL:MNG');
END;
/
# DROP_USER_ACCESS
SA_USER_ADMIN.DROP_USER_ACCESS (
policy_name IN VARCHAR,
user_name IN VARCHAR);
此存储过程用于解除用户与指定LBAC安全策略的关联关系。
参数 | 描述 |
---|---|
policy_name | LBAC安全策略 |
user_name | 用户名 |
示例(单机部署)
BEGIN
SA_USER_ADMIN.DROP_USER_ACCESS ('lbac_policy', 'sales');
END;
/