主体
适用于: Databricks SQL Databricks Runtime
主体是元存储已知的用户、服务主体或组。 可以向主体授予特权,使其拥有安全对象。
语法
{ `<user>@<domain-name>` |
`<sp-application-id>` |
group_name |
users |
`account users` }
任何包含特殊字符的对象名称(如连字符或短划线 (-
))都必须用反引号 (` `
) 引起来。 带下划线 (_
) 的对象名称不需要反撇号。 请参阅名称。
参数
<user>@<domain-name>
单个用户。 由于用户名中有 @ 字符,因此必须用反引号 (`) 对标识符进行转义。
<sp-application-id>
服务主体,由其
applicationId
值指定。 由于 ID 中有短划线 (-) 字符,因此必须用反引号 (`) 对标识符进行转义。group_name
一个标识符,用于指定一组用户或组。 如果组名使用特殊字符(如短划线 (-)),则必须使用反引号 (`) 对标识符进行转义。
用户
工作区中的所有用户所属的根组。 不能向 Unity Catalog 中的安全对象授予
users
特权,因为它是工作区本地组。account users
帐户中的所有用户所属的根组。 由于存在空白字符,必须使用反引号 (`) 对标识符进行转义。
工作区本地组和帐户组
Azure Databricks 有帐户组和工作区-本地组的概念,具有特殊行为:
- 帐户组:帐户组可由标识联合工作区的帐户管理员和工作区管理员创建。 可向他们授予访问标识联合工作区的权限,以及针对 Unity Catalog 中的安全对象的特权。
- 工作区本地组只能由工作区管理员创建。 这些组在工作区管理设置页和帐户控制台的工作区“权限”选项卡上被标识为“工作区本地”。 不能将工作区本地组分配给其他工作区,也不能向这些组授予针对 Unity Catalog 中的安全对象的特权。 系统组
users
和admins
为工作区本地组。
示例
-- Granting a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;
-- Granting a privilege to the service principal fab9e00e-ca35-11ec-9d64-0242ac120002
> GRANT SELECT ON TABLE t TO `fab9e00e-ca35-11ec-9d64-0242ac120002`;
-- Revoking a privilege from the general public group.
> REVOKE SELECT ON TABLE t FROM `account users`;
-- Transferring ownership of an object to `some-group`
> ALTER SCHEMA some_schema OWNER TO `some-group`;