全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

安全管理

最近更新时间:2024-09-02 10:20:49

对象权限

数据库对象在创建时会被分配一个所有者。默认情况下,数据库对象的所有者即执行创建语句的数仓用户。

简介

当前,Relyt 提供以下类型的数据库对象:表、视图、函数(包括存储过程)和 Schema。对于大多数类型的对象,初始状态是只有所有者对对象具有全部权限。要允许其他数仓用户使用它,必须授予权限。Relyt 支持以下每种对象类型的权限。

对象类型

权限

表、外部表、视图

SELECT、INSERT、UPDATE、DELETE、TRUNCATE、ALL

SELECT、INSERT、UPDATE、ALL

数据库

CREATE、CONNECT、TEMPORARY、TEMP、ALL

函数

EXECUTE、ALL

Schema

CREATE、USAGE、ALL

每一个数据库对象的权限必须单独授予。例如,将数据库的 ALL 授予数仓用户 A 并不意味着数仓用户 A 可以访问数据库中包含的其他数据库对象。数仓用户 A 只拥有该数据库本身的数据库级所有权限(即 CREATE、CONNECT、TEMPORARY、TEMP)。

使用控制台管理对象权限

Relyt 支持数据库对象所有者通过数仓服务单元控制台管理对象权限,包括权限授予、修改、撤回等。支持授权的数据库对象包括:

  • 数据库

  • Schema

  • 表(包含外部表)

  • 视图

Relyt 控制台不支持直接将函数(包含存储过程)权限授予其他数仓用户。如需将函数权限授予其他数仓用户,请参考下述中“使用 SQL 命令管理对象权限”模块。

将对象权限授予数仓用户

1. 登录数仓服务单元,选择 数据库,选中目标数据库对象(可以是数据库、Schema、表、视图)。

2. 在右侧数据库对象详情页面,点击 + 权限

如数据库对象为表,点击 + 权限 会出现一个下拉列表,支持选择授权层级为表级或者列级。

3. 在弹出的对话框中,按提示完成要授予权限的数仓用户以及要授予的对象权限,点击 确定

授权完成后,在目标对象的 权限 页签会展示最新的权限列表,包含每一个拥有权限的数仓用户及其被授予的权限。

修改数仓用户被授予的对象权限

1. 登录数仓服务单元,选择 数据库,选中目标数据库对象(可以是数据库、Schema、表、视图)。

2. 在默认展示的 权限 页签,找到目标数仓用户名称,点击名称右侧的修改按钮,选中或者去勾选目标对象权限,然后点击右上方确认按钮。

如需撤回该数仓用户在该数据库对象上的所有权限,点击右侧的删除按钮,然后在弹出的确认对话框中,点击 撤销权限 完成操作。

修改完成后,目标数仓用户对应的权限列表会更新为最新的配置。

使用 SQL 命令管理对象权限

要授予数仓用户对数据库对象的权限,使用 GRANT 命令。例如,授予数仓用户 mary@example.com 对表 table1 的 UPDATE 权限:

GRANT UPDATE ON table1 TO "mary@example.com";

再举一个例子,授予数仓用户 mary@example.com 对表 table2 中的列 col1 的 SELECT 和 UPDATE 权限:

GRANT SELECT(col1), UPDATE(col1) ON table2 TO "mary@example.com";

要撤销权限,使用 REVOKE 命令。例如,从数仓用户 mary@example.com 撤销对表 table1 的 DELETE 权限:

REVOKE DELETE on table1 FROM "mary@example.com";

要撤销已授予已删除的数仓用户的权限,使用 DROP OWNED,例如:

DROP OWNED BY "tom@example.com";

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈