写点什么

YashanDB CHAR_TO_LABEL 函数

作者:YashanDB
  • 2025-04-22
    广东
  • 本文字数:873 字

    阅读完需:约 3 分钟

CHAR_TO_LABEL 函数返回 LBAC 安全策略 policy_name 下标签内容为 label_string 的标签值。label_string 内容必须满足标签内容要求。

若标签内容已存在则直接返回对应的标签值;若标签内容不存在会先自动创建标签,再返回对应的标签值。

本函数仅适用于单机部署中的 HEAP 表。

使用本函数可能需要调用 YLS_ENFORCEMENT、SA_SYSDBA、SA_COMPONENTS、SA_LABEL_ADMIN 等内置高级包,相关权限要求和使用约束还会受限于相应的内置高级包。

policy_name

LBAC 安全策略名称,策略名称大小写不敏感,可查询 DBA_SA_POLICIES 视图获取。

label_tring

标签内容,必须符合标签格式要求且对应的组件均存在,标签内容大小写不敏感。

可参考 SA_LABEL_ADMIN 查看标签格式要求。

可参考 DBA_SA_LEVELS 查看该策略下的级别名。

可参考 DBA_SA_COMPARTMENTS 查看该策略下的范围名。

可参考 DBA_SA_LABELS 查看该策略下的已存在的标签。

示例(单机 HEAP 表)

-- 打开LBACCALL YLS_ENFORCEMENT.ENABLE_YLS;-- 创建LBAC安全策略CALL SA_SYSDBA.CREATE_POLICY('lbac_policy', 'policy_column');-- 创建LBAC级别CALL SA_COMPONENTS.CREATE_LEVEL( 'lbac_policy', 10, 'GENERAL', 'GENERAL');CALL SA_COMPONENTS.CREATE_LEVEL ( 'lbac_policy', 20, 'SENS', 'SENS');CALL SA_COMPONENTS.CREATE_LEVEL ( 'lbac_policy', 30, 'SECRET', 'SECRET');-- 创建LBAC区间CALL SA_COMPONENTS.CREATE_COMPARTMENT ( 'lbac_policy', 10, 'MNG', 'MNG');CALL SA_COMPONENTS.CREATE_COMPARTMENT ( 'lbac_policy', 20, 'QA', 'QA');CALL SA_COMPONENTS.CREATE_COMPARTMENT ( 'lbac_policy', 30, 'RD', 'RD');CALL SA_COMPONENTS.CREATE_COMPARTMENT ( 'lbac_policy', 40, 'TEST', 'TEST');-- 创建标签CALL SA_LABEL_ADMIN.CREATE_LABEL ('lbac_policy', 1001, 'GENERAL:MNG');
SELECT CHAR_TO_LABEL('lbac_policy', 'general:mng') label_tag FROM DUAL; LABEL_TAG --------------------- 1001
-- 删除策略CALL SA_SYSDBA.DROP_POLICY('lbac_policy', TRUE);-- 关闭LBACCALL YLS_ENFORCEMENT.DISABLE_YLS;
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB CHAR_TO_LABEL函数_yashandb_YashanDB_InfoQ写作社区