安全策略

安全策略是 Lakehouse 多层次数据访问控制体系——从网络层(谁能连接)、用户层(谁能登录)、权限层(能做什么操作)到数据层(能看到哪些列内容),形成纵深防御。

安全策略体系

Lakehouse 的安全控制分为四个层次,从外到内依次收紧:

层次策略类型控制维度典型用途
网络层网络策略来源 IP只允许公司内网或指定 IP 段访问
身份层用户管理登录身份创建用户、设置密码、绑定角色
权限层角色(RBAC)操作权限控制用户能对哪些对象执行哪些操作
数据层动态脱敏列内容敏感列按角色脱敏展示

四层策略的关系:网络策略是第一道门(IP 不在白名单直接拒绝连接),用户身份是第二道门(账号密码验证),角色权限控制能做什么,动态脱敏控制敏感列能看到什么。

各策略详解

网络策略

通过 IP 白名单限制访问来源,可以针对整个实例或特定用户设置不同策略。

-- 创建网络策略:只允许公司内网访问 CREATE NETWORK POLICY corp_policy ALLOWED_IP_LIST = ('192.168.0.0/16', '10.0.0.0/8'); -- 应用到特定用户(覆盖实例级策略) ALTER USER analyst SET NETWORK_POLICY = corp_policy;

角色(RBAC)

将权限打包为角色,再将角色授予用户。系统预置了 4 个角色:

角色范围权限
account_admin
account_admin
账户级管理账户下所有资源
workspace_admin
workspace_admin
工作空间级管理工作空间内所有资源
workspace_dev
workspace_dev
工作空间级开发任务、使用数据和计算集群
workspace_user
workspace_user
工作空间级只读查看任务和实例

-- 创建自定义角色并授权 CREATE ROLE analyst; GRANT SELECT ON TABLE orders TO ROLE analyst; GRANT ROLE analyst TO USER alice;

动态脱敏

对敏感列(手机号、身份证等)按用户角色自动脱敏展示,数据存储层不变,脱敏只发生在查询结果返回时。

-- 创建脱敏函数:管理员看完整数据,其他角色看脱敏数据 CREATE FUNCTION phone_mask(val STRING) RETURNS STRING -> CASE WHEN array_contains(current_roles(), 'workspace_admin') THEN val ELSE REGEXP_REPLACE(val, '(\\d{3})\\d{4}(\\d{4})', '$1****$2') END; -- 绑定到列(建表时) CREATE TABLE users ( id INT, phone STRING MASK phone_mask ); -- 绑定到已有表的列 ALTER TABLE users CHANGE COLUMN phone SET MASK phone_mask;

常见问题

常见问题 1:脱敏策略绑定后忘记验证效果

问题:创建脱敏策略并绑定到列后,用创建者账号查询,发现数据没有脱敏。

原因:创建者通常拥有

account_admin
account_admin
workspace_admin
workspace_admin
角色,策略中配置了管理员角色可以看到完整数据。

解决:用普通用户账号验证脱敏效果,而不是用管理员账号。

常见问题 2:网络策略配置错误导致自己被锁定

问题:将网络策略应用到自己的账号,但 IP 配置有误,导致无法登录。

解决:先用另一个管理员账号登录,执行

ALTER USER ... UNSET NETWORK_POLICY
ALTER USER ... UNSET NETWORK_POLICY
解除策略。配置网络策略前,务必确认当前 IP 在白名单内。

成本影响

安全策略本身不产生额外的存储或计算费用:

  • 网络策略、角色、用户:只存储元数据,几乎零成本
  • 动态脱敏:在查询结果返回时执行字符串替换,对查询性能影响极小

本章内容

页面说明
网络策略IP 白名单配置,实例级和用户级策略
动态脱敏按角色脱敏展示敏感列,脱敏策略创建与绑定
用户管理用户创建、密码管理、角色绑定
角色RBAC 角色体系,系统预置角色,自定义角色

相关文档

文档说明
用户与权限管理用户层级、生命周期管理、权限最佳实践
网络策略 SQL 参考CREATE/ALTER/DROP NETWORK POLICY 完整语法
动态脱敏 SQL 参考脱敏策略完整语法
角色管理 SQL 参考GRANT/REVOKE/CREATE ROLE 完整语法
联系我们
预约咨询
微信咨询
电话咨询