腾讯云多模态智能数据湖 TCLake(Tencent Cloud TCLake)基于统一元数据对湖中的数据资产进行访问控制。本文介绍 TCLake 数据权限的可授权对象、权限点、权限绑定逻辑,以及在控制台进行授权、查询、取消授权的操作方法。
基本概念
可授权对象
可授权对象(Securable Object)指可被授予数据权限的元数据对象。TCLake 的可授权对象按层级组织,自上而下依次为数据目录(Catalog)、Schema,以及 Schema 下的数据表(Table)、数据卷(Volume)等。
权限点
权限点(Privilege)是可授予用户或角色的最小授权单元,按用途分为以下三类。
权限点类型 | 说明 |
操作权限 | 对可授权对象执行具体操作的权限,如创建(CREATE)、查询(SELECT)、修改(ALTER)、删除(DROP)等。 |
管理权限 | 管理元数据对象授权关系的权限,即可授权权限(GRANT)。 说明: 添加/删除角色、为角色绑定/解绑用户等角色管理权限仅 Admin 拥有,不可授予其他用户或角色。 |
全部权限(ALL PRIVILEGES) | 一次性授予某对象及其下层资源的全部操作权限。 |
说明:
拥有某个对象的任意一个操作权限,即可浏览该对象的元数据信息。例如拥有某张表的 SELECT TABLE、ALTER TABLE 或 DROP TABLE 任一权限,即可浏览该表元数据。
ALL PRIVILEGES 不包含 GRANT 权限。授予 ALL PRIVILEGES 不会默认授予 GRANT,反之亦然。
拥有 GRANT 权限的用户,可将权限二次授予其他用户或角色。
权限点清单
各可授权对象支持的权限点如下表所示。
说明:
“可绑定对象”列说明该权限点可在哪些层级的对象上授予(在上层对象上授予后,对其下辖的全部同类下层资源生效)。
“依赖权限”列说明该权限点生效所需的前置权限——缺少前置权限时仍可授予,但不会实际生效。
数据目录(Catalog)
权限点 | 可绑定对象 | 依赖权限 | 说明 |
USE CATALOG | Catalog | - | 使用数据目录,是对该目录下对象进行任何操作的前提; |
BROWSE | Catalog | - | 浏览数据目录中的所有元数据对象,不依赖 USE CATALOG |
CREATE SCHEMA | Catalog | USE CATALOG | 在数据目录下创建 Schema |
ALTER CATALOG | Catalog | USE CATALOG | 修改数据目录元数据,如属性、描述 |
DROP CATALOG | Catalog | USE CATALOG | 删除数据目录 |
GRANT | Catalog | - | 管理该目录及其下所有对象的授权 |
ALL PRIVILEGES | Catalog | - | 授予该目录及其下资源的全部操作权限(不含 GRANT) |
Schema
权限点 | 可绑定对象 | 依赖权限 | 说明 |
USE SCHEMA | Catalog、Schema | USE CATALOG | 使用 Schema,是对该 Schema 下对象进行任何操作的前提 |
ALTER SCHEMA | Catalog、Schema | USE CATALOG、USE SCHEMA | 修改 Schema 元数据,如属性、描述 |
DROP SCHEMA | Catalog、Schema | USE CATALOG、USE SCHEMA | 删除 Schema |
CREATE TABLE | Catalog、Schema | USE CATALOG、USE SCHEMA | 在 Schema 下创建表或视图 |
CREATE VOLUME | Catalog、Schema | USE CATALOG、USE SCHEMA | 在 Schema 下创建数据卷 |
GRANT | Schema | USE CATALOG | 管理该 Schema 及其下所有对象的授权 |
ALL PRIVILEGES | Schema | USE CATALOG | 授予该 Schema 及其下资源的全部操作权限(不含 GRANT) |
数据表(Table)
数据表与视图(View)共享同一套权限点,对表授予的权限点同样适用于视图。(其中 INSERT TABLE、DELETE TABLE 涉及数据写入,仅对表生效,视图不涉及)
权限点 | 可绑定对象 | 依赖权限 | 说明 |
SELECT TABLE | Catalog、Schema、Table | USE CATALOG、USE SCHEMA | 查询表或视图数据 |
INSERT TABLE | Catalog、Schema、Table | USE CATALOG、USE SCHEMA | 向表中插入数据(仅表,视图不适用) |
DELETE TABLE | Catalog、Schema、Table | USE CATALOG、USE SCHEMA | 删除表中数据,包括 DELETE、INSERT OVERWRITE 等涉及数据删除的操作(仅表,视图不适用) |
ALTER TABLE | Catalog、Schema、Table | USE CATALOG、USE SCHEMA | 修改表元数据,如名称、属性、描述 |
DROP TABLE | Catalog、Schema、Table | USE CATALOG、USE SCHEMA | 删除表或视图 |
GRANT | Table | USE CATALOG、USE SCHEMA | 管理该表的授权 |
ALL PRIVILEGES | Table | USE CATALOG、USE SCHEMA | 授予该表的全部操作权限(不含 GRANT) |
数据卷(Volume)
读取卷内的路径和文件
权限点 | 可绑定对象 | 依赖权限 | 说明 |
READ VOLUME | Catalog、Schema、Volume | USE CATALOG、USE SCHEMA | |
WRITE VOLUME | Catalog、Schema、Volume | USE CATALOG、USE SCHEMA | 添加、移除或修改卷内的路径和文件 |
ALTER VOLUME | Catalog、Schema、Volume | USE CATALOG、USE SCHEMA | 修改卷元数据 |
DROP VOLUME | Catalog、Schema、Volume | USE CATALOG、USE SCHEMA | 删除卷 |
GRANT | Volume | USE CATALOG、USE SCHEMA | 管理该卷的授权 |
ALL PRIVILEGES | Volume | USE CATALOG、USE SCHEMA | 授予该卷的全部操作权限(不含 GRANT) |
授权操作
TCLake 控制台的数据授权以用户或角色为入口:进入某个用户或角色的权限管理页后,可统一为其添加、查看、删除在各可授权对象上的权限,无需逐类资源重复配置。
使用限制
只有 Admin 或拥有目标对象 GRANT 权限的用户可以发起授权操作。
资源所有者天然拥有该资源的全部权限,无需额外授权,且其权限不可通过取消授权回收。所有者概念详情请参见 权限管理概述。
在上层对象(Catalog、Schema)上授予的权限点会作用于其下层全部同类资源,授权前请确认授权范围。
授权对象
TCLake 数据权限支持授予以下两类主体。
对象类型 | 说明 |
用户 | 已同步至 TCLake 的 CAM 用户或 CAM 角色 |
角色 | TCLake 内置角色或自定义角色 |
新增授权
为指定用户或角色授予可授权对象的权限点。
1. 登录 多模态智能数据湖 TCLake 控制台,选择服务所在地域。
2. 在左侧导航栏选择权限与安全 > 权限管理。
3. 选择用户或角色页签,找到目标用户或角色,单击操作列的管理权限。
4. 在用户权限(角色为 角色权限)页签下,单击添加权限。
5. 在右侧添加权限面板中配置授权信息,单击确定。
配置项 | 说明 |
授权范围 | 选择要授权的对象类型:Catalog、Schema、Table、Volume |
授权内容 | 选择该类型下的具体可授权对象 |
授权详情 | 勾选要授予的权限点(按 Catalog 权限、Schema 权限等分组展示) |
ALL PRIVILEGES | 勾选后一次性授予所选对象及其下层资源的全部操作权限(不含 GRANT) |
GRANT | 勾选后被授权方可继续将权限授予其他主体 |
说明:
在 Catalog 或 Schema 上授予的权限点会自动作用于其下层全部同类资源。例如在 Catalog 上授予 SELECT TABLE,即可查询该 Catalog 下所有数据表,无需逐表授权。
查询授权
1. 在左侧导航栏选择权限与安全 > 权限管理。
2. 选择用户或角色页签,单击目标用户或角色操作列的管理权限。
3. 在用户权限(或 角色权限)页签下,查看该主体已有的授权列表。
取消授权
1. 进入目标用户或角色的用户权限(或 角色权限)页签。
2. 在权限列表中勾选需要取消的授权。
3. 单击批量删除,在弹窗中单击确定。