You need to enable JavaScript to run this app.
导航
行权限
最近更新时间:2025.03.19 16:44:26首次发布时间:2025.03.19 16:44:26
我的收藏
有用
有用
无用
无用

ByteHouse企业版为您提供界面化的行权限管控能力,您可以在控制台启用行权限功能后,创建行权限策略并进行授权操作。本文为您介绍ByteHouse行权限的操作要点。

背景信息

ByteHouse支持对数据对象(Data Object,例如数据库、数据表、列、索引、视图、投影等)进行权限(Previlige)和行策略(Row Policy)两个维度同时进行权限管控。
Image

  • 权限(Previlige):表达是否允许用户对于数据对象的增(Insert)、删(Drop)、改(Alter)、查(Select)等操作的抽象策略。
  • 行策略(Row Policy):一种用于控制数据访问的安全策略。允许对表中的数据行施加条件,以便控制不同用户可以访问哪些数据行。这种行级别的安全策略可以用来保护敏感数据,确保只有符合特定条件的用户才能访问某些数据行。

创建行权限策略

进入行权限页面

登录并进入ByteHouse企业版控制台后,单击顶部权限管理页签,在左侧导航栏单击行权限即可进去行权限列表页面,您可以在此页面创建行权限策略并进行授权管理。
Image

开启行权限

  1. 进入行权限列表后,您可以在左上方集群下拉框中选择需要配置的集群。
    如果集群未开启行权限功能,您需要根据界面提示先给集群开启行权限,后续才可选择对应集群创建权限策略。
    Image

    注意

    当前仅2.4以上集群支持开启行权限功能,低版本集群需升级后再打开功能。

  2. 您可以在弹出的侧边栏中开启行权限开关,打开开关后需重启集群才能生效。
    Image

创建行权限策略

  1. 单击页面左上角的创建行权限策略按钮,在弹出的页面中配置行权限策略参数。

  2. 配置基本信息。
    Image

    • 选择待进行行权限管控的集群。集群需已开启行权限功能。
    • 自定义策略名称和描述,用于标识行权限策略。
  3. 配置行权限策略。
    Image

    参数

    配置说明

    数据库 & 数据表

    在下拉列表中选择需要进行权限管控的数据库、数据表。

    行限制

    在行限制输入框中输入行权限管控策略,行权限管控策略通过所选数据表的列字段表达式实现,例如:

    • city = 'shanghai':此行权限策略表示仅能查看city列取值为shanghai的数据。
    • city IN ('shanghai', 'beijing'):此行权限策略表示仅能查看city列取值为shanghaibeijing的数据。
    • description LIKE '%sale%':此行权限策略表示仅能查看description列取值包含sale的数据。

    您可单击上方查看样例查看更多配置样例。

    注意

    • 此处配置的列字段需在选择的数据表中真实存在,否则被授予此行权限策略的用户将查询不到数据,因此请配置正确,不要有大小写不一致、拼写错误等问题。
    • 此处仅支持配置一条列字段表达式,不支持通过逗号、换行等方式配置多条列字段表达式。

    RESTRICTIVE

    选择当有多个行权限策略时,策略间的执行逻辑。默认采用 PERMISSIVE 策略,您可以勾选开启RESTRICTIVE 策略,开启后将应用 RESTRICTIVE 策略。

    • PERMISSIVE策略:系统会尽可能地允许访问。如果任何一个策略允许访问,则访问请求会被批准。
    • RESTRICTIVE策略:系统要求所有相关的权限管控策略都必须允许访问,任何单一策略的拒绝都会导致整个访问请求被拒绝。
  4. 您可以单击操作列的添加按钮,继续添加行限制策略。

    注意

    一个数据表仅支持添加一个行限制策略。

  5. 完成所有行限制策略添加后,单击下方的立即创建,完成行权限策略创建。

授权给用户/角色

创建完成行权限策略后,您可在行权限策略列表页单击后方的权限授予按钮,将权限授予给用户或角色。
Image

编辑/删除行权限策略

您可在行权限策略列表页单击后方编辑删除按钮,对已创建的行权限策略进行编辑或删除操作。
Image