Unity Catalog的Table ACL及行列级安全规则能否同步至Azure SQL DB?
Unity Catalog权限规则与Azure SQL DB的兼容性问题
核心结论
Unity Catalog中配置的Table ACL、行级/列级安全规则不会自动在导出到Azure SQL DB的表中生效,两者属于完全独立的权限管理体系。
详细说明
- Unity Catalog是Databricks专属的权限管控系统,所有配置的权限规则仅作用于Databricks环境内对UC托管表的访问,无法跨系统同步到Azure SQL DB。
- Azure SQL DB拥有独立的权限模型,依赖自身的SQL权限语句(
GRANT/DENY)、行级安全(RLS)、列级安全(CLS)机制来管控用户访问权限,和Unity Catalog的规则没有联动关系。
对应示例场景
用户userA@contoso.com在Unity Catalog中被限制查看某列,当该表被导出到Azure SQL DB后:
- 如果未在Azure SQL DB中针对
userA配置对应的列级权限限制,只要userA拥有Azure SQL DB中该表的访问权限,就能正常查看被UC限制的列。 - 若要实现和UC一致的权限控制,需要在Azure SQL DB中手动配置:
- 列级安全:执行类似
GRANT SELECT (允许查看的列名) ON [表名] TO [userA@contoso.com];的语句,或创建列级安全策略。 - 行级安全:创建行级安全策略来过滤
userA可访问的行数据。 - 表级ACL:通过
GRANT/DENY语句控制userA对表的整体访问权限。
- 列级安全:执行类似
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

