最近更新时间:2023.08.22 15:50:14
首次发布时间:2023.08.22 15:50:14
ByteHouse 中所有可以执行的操作都定义了相关权限。
ByteHouse 对于角色的权限包括以下两种:
例如,为了使新创建的角色能够执行查询。 您需要授予以下对象的权限:
在计算组页面,点击需要设置的计算组。
确保角色至少应具有 Operate、 Use、Peek、Describe 权限。
对于对象级别的权限,您需要找到目标资源并通过其自身的权限管理面板来管理其权限。
您可以向以前没有权限的角色授予权限,也可以编辑已授予某些权限的角色的权限。
勾选“重新授予其他人”选项时,被授予权限的角色可以向其他角色重新授予相同的权限。
与数据库权限相似,点击下图中的按钮设置权限。
向表添加新权限
列级访问控制允许用户为列配置权限,保障只有特定用户可以访问。该功能对于限制访问敏感列(如个人身份信息PII)尤其有用。
要提供列级权限,首先需要向用户提供相关的表级权限,如下所示:
列权限 | 所需表权限 |
---|---|
SELECT | SELECT |
INSERT | INSERT |
ALTER | ALTER |
DROP | ALTER |
您可以指定应由特定角色访问的列。如下图,“ demo_role ”被授予 SELECT
和 demo_col_one
的权限。
一旦“ demo_role ”被授予以上权限,“ demo_role ”将能只能从 demo_col_one
这一列进行查询操作。
SELECT demo_col_one FROM demo_db.demo_table -- success! SELECT demo_col_one, demo_col_two FROM demo_db.demo_table -- denied!
要授予用户更多列的额外权限,只需勾选表格中相应的复选框:
例如,通过在 demo_col_two
上添加 SELECT
权限,“ demo_role ”现在也可以从 demo_col_two
执行查询操作:
SELECT demo_col_one FROM demo_db.demo_table -- okay! SELECT demo_col_one, demo_col_two FROM demo_db.demo_table -- access denied!
如要授予特定用户权限,并在包括未来创建的所有列生效,只需点击相应的列标题即可。
此权限应授予可以访问所有列(包括未来可能添加的敏感信息列)的角色。由于开启了 SELECT
权限,“ demo_role ”现在可以使用 SELECT *
来查看所有列的数据。
SELECT demo_col_one from demo_db.demo_table -- okay! SELECT demo_col_one, demo_col_two from demo_db.demo_table -- okay! SELECT * from demo_db.demo_table -- okay!
您可以从角色管理页面授予或撤销非对象级权限。
目前,仅开放授予 4 个此类权限,如下图所示。