本文属于【Azure 架构师学习笔记】系列。
本文属于【Azure Databricks】系列。
UC 是Databricks进行数据治理,集中权限管控, 提高大规模数据存储,共享安全性的新工具。通过基于角色的访问控制(Role-based access control)来实现这种控制。所以接下来我们将介绍角色。
角色
Cloud Administrator
负责管理UC, 可以以最高权限进入所有UC 内部的资源及进行配置。并创建其他角色。通知管理UC 运行所需的资源。
Identity Administrator
负责UC 中的用户身份验证, 配置单点登录(Single sign-on, SSO) , 验证机制等。
Account Administrator
负责管理UC 中的用户账号,如增删改账号,授权角色及细分权限如对特定数据的读写。
Metastore Admin
管理UC 的metastore, 对metastore的对象如表,列,分区等进行增删改。同时配置哪些角色可以看到某些资源。
Data Owner
负责UC中的数据管理,如表,数据库(UC中叫作Schema)的增删改。
Workspace Administrator
管理UC的workspace,配置权限。
实体
在UC 中有4类实体:users, Service Principles, Groups, Nested Groups.
用户
这里通常指单独添加进UC的用户,这些用户也可以添加到一个组里面。
Service Principle
作为一个服务用的实体,通常用于自动化操作如备份,传输等。
组
组可以简化用户数量上所带来的授权和管理问题。并且借助Nested Groups可以更好地从技术上展现出公司架构,从而简化管理。
权限
UC 中的权限包含:CREATE, USAGE, SELECT, MODIFY, CREAATE TABLE, READ FILES, WRITE FILES, EXECUTE。
UC数据访问规则
数据访问规则决定谁可以访问,修改和删除UC中的数据资产。默认情况下只有这些资产的owner才可以做,但是也可以通过授权给其他实体来实现。权限可以按需授予到Catalog, Database, Table级别。
上面提到的权限都比较常见,除了USAGE这个, 它允许用户使用这个数据资产。
但是要注意权限并不自动继承, 比如一个用户对一个Database有USAGE权限,不代表这个用户对database中的表也有USAGE的权限,需要再次授权。
要实现用户访问UC中的表,需要:
- USAGE on Catalog
- USAGE on Database
- SELECT on Table