#SA_SYSDBA

SA_SYSDBA包提供了一组内置子程序,用于创建、删除LBAC安全策略,执行需要LBAC_DBA权限。

该内置高级包仅适用于单机部署。

# CREATE_POLICY

SA_SYSDBA.CREATE_POLICY (
    policy_name IN VARCHAR,
    column_name IN VARCHAR DEFAULT NULL,
    default_options IN VARCHAR DEFAULT NULL);

此存储过程用于创建LBAC安全策略。

参数 描述
policy_name LBAC安全策略的名称
column_name 标签列名,使用默认值NULL时对应的column_name值为policy_name + "_COL"
default_options 强制控制选项名组合,默认值NULL

强制控制选项说明:

名称 描述
READ_CONTROL 1 控制读
INSERT_CONTROL 2 控制插入
UPDATE_CONTROL 4 控制更新
DELETE_CONTROL 8 控制删除
WRITE_CONTROL 14 控制写,INSERT_CONTROL、UPDATE_CONTROL、DELETE_CONTROL的组合

示例(单机部署)

BEGIN
    SA_SYSDBA.CREATE_POLICY ('lbac_policy', 'policy_column', 'READ_CONTROL');
END;
/

# DROP_POLICY

SA_SYSDBA.DROP_POLICY (
    policy_name IN VARCHAR,
    drop_column BOOLEAN DEFAULT FALSE);

此存储过程用于删除LBAC安全策略。

参数 描述
policy_name LBAC安全策略的名称
drop_column 是否删除表的标签列,默认值FALSE

示例(单机部署)

BEGIN
    SA_SYSDBA.DROP_POLICY ('lbac_policy', true);
END;
/

pdf-btn 下载文档
copy-btn 复制链接