如果你在公共预览期(2022 年 8 月 25 日之前)创建了 Unity Catalog 元存储,可以升级到特权模型版本 1.0, 以利用特权继承。 在升级特权模型之前,现有工作负载将继续按原样运行。 Databricks 建议升级到特权模型版本 1.0,以获得特权继承和新功能的好处。
特权模型版本 1.0 中的差异
Unity Catalog 中的特权模型 v1.0 与公共预览版特权模型存在以下差异:
- 特权继承:在特权模型 v1.0 中,特权在子安全对象上继承。 这意味着在授予对目录的某个特权时,会自动向目录中的所有当前架构和未来架构授予该特权。 同样,对架构授予的特权由该架构中所有当前和未来对象继承。 在预览模型中,子安全对象不会继承特权。 有关特权继承的详细信息,请参阅继承模型。 
- ALL PRIVILEGES评估方式不同:在公共预览版特权模型中,- ALL PRIVILEGES在授予特权时向主体授予所有可用特权。 在特权模型 v1.0 中,- ALL PRIVILEGES权限在进行权限检查时扩展到所有可用特权。- 在 Privilege Model v1.0 中,当撤销 - ALL PRIVILEGES时,仅撤销- ALL PRIVILEGES特权本身。 用户保留单独授予他们的任何其他特权。
- CREATE TABLE更新为- CREATE EXTERNAL TABLE:- CREATE TABLE权限不再适用于创建外部表所需的外部位置或存储凭据。 在特权模型 v1.0 中,改为对外部位置和存储凭据授予- CREATE EXTERNAL TABLE特权,以允许用户使用该外部位置或存储凭据创建外部表。
- CREATE已删除:- CREATE权限已删除,并替换为以下更具体的特权:- CREATE CATALOG、- CREATE EXTERNAL LOCATION、- CREATE FUNCTION、- CREATE SCHEMA、- CREATE TABLE、- CREATE MANAGED STORAGE。
- USAGE已删除:- USAGE权限已删除并替换为以下更具体的特权:- USE CATALOG和- USE SCHEMA。
升级到特权模型版本 1.0
警告
不能撤消此操作。
- 将引用 Unity Catalog 的所有工作负载升级为使用 Databricks Runtime 11.3 LTS 或更高版本。 - 必须升级所有群集才能使用 Databricks Runtime 11.3 LTS 或更高版本,并且必须重启任何正在运行的 SQL 仓库。 如果跳过此步骤,在完成升级后,将拒绝旧版 Databricks Runtime 上的工作负载。 
- 作为帐户管理员,登录到帐户控制台。 
- 单击 - 目录。 
- 单击元存储名称。 
- 在“特权模型”下,单击“升级” 
- 单击“升级” 
如果未看到升级选项,则 Unity Catalog 元存储已在使用特权模型 1.0。
升级 SQL 命令(可选)
Databricks 将继续支持使用旧特权模型表示的授权,并自动将其对应到特权模型 v1.0 中的等效授权。 但是,通过 SHOW GRANTS 或 information_schema 数据返回的特权将继续引用特权模型 v1.0。 Databricks 建议升级现有的执行授权的代码,以引用更新的特权模型。
- 将外部位置或存储凭据上的 CREATE TABLE特权替换为CREATE EXTERNAL TABLE特权。
- 将 CREATE权限替换为具体特权CREATE CATALOG、CREATE EXTERNAL LOCATION、CREATE FUNCTION、CREATE SCHEMA或CREATE TABLE。
- 将 USAGE权限替换为具体特权USE CATALOG或USE SCHEMA。
有关 Unity Catalog 特权模型的详细信息,请参阅 Unity Catalog 特权和安全对象