#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标签策略的关联关系。
执行成功后,用户的LBAC标签策略信息可通过DBA_SA_USER_LABELS视图获取。
| 参数 | 描述 |
|---|---|
| policy_name | LBAC安全标签所属策略的名称 |
| user_name | 目标用户的名称 |
| max_read_label | 设置目标用户的最大读标签,即该用户被赋予的最高级别的读访问权限,需使用标签内容(label_value)进行指定,可通过DBA_SA_LABELS视图的LABEL字段获取标签内容 |
| max_write_label | 设置目标用户的最大写标签,即该用户被赋予的最高级别的写访问权限,需使用标签内容(label_value)进行指定,可通过DBA_SA_LABELS视图的LABEL字段获取标签内容 设置时需满足如下规则: * 等级:max_write_label的等级必须与max_read_label的等级相等 * 范围:max_write_label的范围必须是max_read_label范围的子集 若该参数为空,则默认复用max_read_label的值 |
| min_write_label | 设置目标用户的最小写标签,即该用户被赋予的最低级别的写访问权限,需使用等级短名称进行指定,可通过DBA_SA_LEVELS视图的SHORT_NAME字段获取等级短名称 若该参数为空,则默认为该策略中的最小等级 |
| def_label | 默认的会话标签,需使用范围短名称进行指定,应设置为max_read_label范围的子集,可通过DBA_SA_COMPARTMENTS视图的SHORT_NAME字段获取范围短名称 若该参数为空,则默认复用max_read_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;
/

