安全策略
安全策略是 Lakehouse 多层次数据访问控制体系——从网络层(谁能连接)、用户层(谁能登录)、权限层(能做什么操作)到数据层(能看到哪些列内容),形成纵深防御。
安全策略体系
Lakehouse 的安全控制分为四个层次,从外到内依次收紧:
| 层次 | 策略类型 | 控制维度 | 典型用途 |
|---|---|---|---|
| 网络层 | 网络策略 | 来源 IP | 只允许公司内网或指定 IP 段访问 |
| 身份层 | 用户管理 | 登录身份 | 创建用户、设置密码、绑定角色 |
| 权限层 | 角色(RBAC) | 操作权限 | 控制用户能对哪些对象执行哪些操作 |
| 数据层 | 动态脱敏 | 列内容 | 敏感列按角色脱敏展示 |
四层策略的关系:网络策略是第一道门(IP 不在白名单直接拒绝连接),用户身份是第二道门(账号密码验证),角色权限控制能做什么,动态脱敏控制敏感列能看到什么。
各策略详解
网络策略
通过 IP 白名单限制访问来源,可以针对整个实例或特定用户设置不同策略。
角色(RBAC)
将权限打包为角色,再将角色授予用户。系统预置了 4 个角色:
| 角色 | 范围 | 权限 |
|---|---|---|
| 账户级 | 管理账户下所有资源 |
| 工作空间级 | 管理工作空间内所有资源 |
| 工作空间级 | 开发任务、使用数据和计算集群 |
| 工作空间级 | 只读查看任务和实例 |
动态脱敏
对敏感列(手机号、身份证等)按用户角色自动脱敏展示,数据存储层不变,脱敏只发生在查询结果返回时。
常见问题
常见问题 1:脱敏策略绑定后忘记验证效果
问题:创建脱敏策略并绑定到列后,用创建者账号查询,发现数据没有脱敏。
原因:创建者通常拥有
account_admin 或 workspace_admin 角色,策略中配置了管理员角色可以看到完整数据。
解决:用普通用户账号验证脱敏效果,而不是用管理员账号。
常见问题 2:网络策略配置错误导致自己被锁定
问题:将网络策略应用到自己的账号,但 IP 配置有误,导致无法登录。
解决:先用另一个管理员账号登录,执行
ALTER USER ... UNSET NETWORK_POLICY 解除策略。配置网络策略前,务必确认当前 IP 在白名单内。
成本影响
安全策略本身不产生额外的存储或计算费用:
- 网络策略、角色、用户:只存储元数据,几乎零成本
- 动态脱敏:在查询结果返回时执行字符串替换,对查询性能影响极小
本章内容
| 页面 | 说明 |
|---|---|
| 网络策略 | IP 白名单配置,实例级和用户级策略 |
| 动态脱敏 | 按角色脱敏展示敏感列,脱敏策略创建与绑定 |
| 用户管理 | 用户创建、密码管理、角色绑定 |
| 角色 | RBAC 角色体系,系统预置角色,自定义角色 |
相关文档
| 文档 | 说明 |
|---|---|
| 用户与权限管理 | 用户层级、生命周期管理、权限最佳实践 |
| 网络策略 SQL 参考 | CREATE/ALTER/DROP NETWORK POLICY 完整语法 |
| 动态脱敏 SQL 参考 | 脱敏策略完整语法 |
| 角色管理 SQL 参考 | GRANT/REVOKE/CREATE ROLE 完整语法 |
联系我们
