用户角色管理

本章节主要说明如何在 ByteHouse 中执行访问控制,以及管理员如何在用户管理、对象访问控制和网络安全方面配置访问控制策略。

为了更好地说明,本文档以 管理员账号(AccountAdmin) 作为示例演示各项功能。

用户管理

创建新用户

您可以在用户管理页面中创建新用户,如下所示。通过切换“强制修改密码”复选框,来设定新用户首次登陆时是否需要更改新密码。

1280

您也可以为新用户补充一些补充信息

828

管理用户

在用户页面,账户或管理员可以查看所有用户。您可以通过选择用户来编辑用户身份信息,重置其密码,以及禁用该用户。

1280

基于角色的对象级访问控制

权限

ByteHouse 中可执行的所有操作都定义了相关权限。例如:查看帐户资源使用情况、创建新用户、从某个表查询数据或将大型数据集加载到 ByteHouse。

与特定资源相关的权限,如创建表(与数据库相关)、插入新数据(与表相关)和运行虚拟仓库(与仓库相关),都会绑定到特定的资源实例或对象。

其他权限,如创建数据库(*注意:数据库是账户级资源)、查看计费状态或创建新服务用户,不会绑定到任何特定对象上。

角色

ByteHouse 中的权限控制是在角色级别执行的。每一位 ByteHouse 用户都可以获得一个或多个角色。
您可以访问“用户管理-角色”页面,查看帐户下可用的所有角色。

1280

角色

在使用 ByteHouse 时,您需要选择一个“ 角色 ”,该活跃角色拥有的权限将限制您的所有行为。

您可以从头像的下拉列表中选择其他“ 角色 ”,以进入与对应“ 角色 ”绑定的权限空间。根据权限空间设置的不同,您的 web 控制台界面也会有所不同。

默认情况下,由星号标记“*”表示的“ 公共角色 ”将分配给帐户下的所有用户。此公共角色也是创建新用户后的“ 默认角色 ”。

Web 控制台
在 ByteHouse web 控制台中,切换角色的面板如下所示:

652

帐户详细信息 页面中,您可以将 默认角色 更改为分配给您的任何角色。每次登录 ByteHouse 时, 前端控制台中的 角色 就是您的默认角色。

1034

CLI 访问

当您使用 CLI 访问 ByteHouse 时

  • 通过以下方式切换角色:
SET ROLE "Role Name A";

-- or --

SET ROLE RoleNameB;
  • 更改默认角色设置:
SET DEFAULT ROLE "Role Name A";

-- or --

SET DEFAULT ROLE RoleNameB;

角色层级

在 ByteHouse 中,角色是按层级进行管理的。父角色将“继承”来自其直接子角色或间接子角色的所有权限。
在下面的示例中,GrandchildRole1 被授予“创建数据库”权限,而 ChildRoleB 被授予“查询表格一”权限。根据角色层级将产生以下结果:

1288

内置角色

在您注册了 ByteHouse 后,系统即为您创建6种内置角色,每个角色都有一些预定义的权限

  • 账户管理员 是ByteHouse账户的根角色。分配到此角色的用户拥有账户下的所有特权和权限。

  • 安全管理员 是账户管理员的直接子角色。拥有此角色的用户将负责所有与权限或特权相关的操作,例如创建新的自定义角色、删除自定义角色、将某些角色分配给用户等。一个特例是安全管理员不能把账户管理员角色分配给其他用户。

  • 用户管理员 是账户管理员的直接子角色。用户管理员可以进行一切有关用户的操作,即用户CRUD。

  • 系统管理员 是帐户管理员的直接子角色。拥有此角色的用户将拥有所有平台资源的权限,如数据库、表、虚拟仓库、在线工作表等。

  • 运维管理员 是账户管理员的直接子角色。该角色没有任何预定义的特权或权限。此角色用于分配给ByteHouse客户工程师以提供客户支持。

  • 公共角色 ,如前述,在ByteHouse中以星号“ * ”表示。这是ByteHouse帐户中特权最少的角色。向此角色授予权限与向此帐户中的所有角色授予相同权限具有相同的效果。

以下是您首次以“帐户管理员”角色登录ByteHouse后,在“用户管理-角色”页面中可以看到的内容。

1220

自定义角色

您可以在角色管理页面中创建自定义角色。所有的自定义角色都是 系统管理员 的直接子角色或间接子角色,并且是公共角色的直接或间接父角色。下例是一个完整的角色层级图:

1492

授予权限

如上所述,ByteHouse 可以在角色级别授予权限。

资源管理权限

对于资源管理权限,您需要定位目标资源,并从其权限管理面板管理其权限。
以数据库为例,从数据库的详细视图中找到权限管理入口:

1280

您可以:

  1. 向以前没有得到过权限的角色授予权限,如标记1所示。

  2. 编辑已得到某些权限的角色的权限,如标记2所示。

标记3是一个特殊选项,它允许得到该权限的角色能够将相同的权限重新授予其他角色。

788

需要注意的一点是系统预定义角色的默认权限,以及从子角色继承的权限不可修改。

资源创建权限

您可以从角色管理页授予或撤销非对象级权限。目前,只有4个资源创建权限开放授权,如下图所示。

1280

分配角色

您可以在角色管理页为用户分配角色。您可以在如下所示的角色详细信息页中搜索用户名,然后单击用户名旁边的“+”号进行分配。

1280