#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;
/