ByteHouse 将 IAM 用户和数据库用户分离,支持独立创建数据库用户,并为该用户授予资源权限和数据权限。您可使用数据库用户通过 CLI、BI 工具、ELT 工具、IDE 工具、API 等方式访问 ByteHouse 数据库。本文介绍了如何创建和管理数据库用户。
前提条件
仅具有 SystemAdmin 和 AccountAdmin 角色的用户支持管理数据库用户。
注意事项
- 数据库用户为子用户,不可访问火山控制台,最高支持被授予计算组资源的 USE 权限,授予 ALL 权限将无法生效。
- 该功能为 Beta 功能,请联系提交工单或联系 ByteHouse 团队获取白名单权限。
创建数据库用户
登录 ByteHouse 控制台,在权限管理>用户页面中,单击创建用户>创建数据库用户。

在创建数据库用户页面上,配置用户信息。

参数 | 配置说明 |
---|
用户名 | 填写自定义用户名,命名规则如下: - 支持中英文字母、数字、中划线”-“及下划线”_“;
- 最多可设置 64 个字符;
- 不能和已有用户名重复。
|
密码 | 用于数据库用户的密码,需用户自定义,命名规则如下: - 长度需为 8~30 个字符;
- 密码不能以“/”和“$6$”开头;
- 需包含大写字母 A~Z;
- 需包含小写字母 a~z。
|
参数设置 | 为用户配置默认计算组和默认写计算组。为用户赋予计算组后,系统会同时将该计算组的 USE 权限赋予给用户,后续可在权限管理>资源管理模块修改,详见资源权限管理。 - 默认计算组:当前账户的默认计算组,用来处理 SQL 的默认计算资源。
- 默认写计算组:当前环境默认写计算组,用于将数据写入数据库底层存储的默认计算资源。如果当前环境已配置默认写计算组,系统将默认使用该计算组,您无需配置,数据库用户的默认写计算组将自动跟随环境中默认写计算组变更。如果当前环境尚未配置默认写计算组,请先前往租户管理>参数设置页面配置,详见设置默认计算组和默认写计算组。
|
描述 | 为用户添加详细描述信息,最多支持填写 200 个字符。 |
用户信息配置完成后,单击创建。创建完成后,您可在用户列表中查看用户相关信息。
赋予用户权限
步骤一:赋予数据库用户环境权限
- 登录 ByteHouse 控制台,在权限管理>用户页面,单击环境赋权。

- 在环境列表中选择当前环境,单击用户赋权。

- 在用户赋权页面,搜索用户名,为用户赋予环境使用权限。

- 单击确认,完成环境赋权。
步骤二:赋予数据库用户资源和数据权限
您可通过授予角色和直接授权两种方式为用户赋予资源和数据权限。
(可选)准备工作
如果您需要通过授予角色的方式为用户授予权限,请先创建角色,准备好需要授予给用户的角色。
在 ByteHouse 控制台中,通过权限管理>角色路径,单击创建角色,操作详情请参考角色管理。
操作步骤
登录 ByteHouse 控制台,在权限管理>用户页面,单击用户名,进入用户权限管理页面。

您可按需通过授予角色或直接授权为用户授予资源和数据权限。
授权方式 | 操作步骤 |
---|
授予角色 | - 在用户权限管理页面中,切换至授予的角色页签,单击授予角色。
 - 在授予角色页面,选择为用户授予的角色。
- 单击确认,完成授权。
|
直接授权 | - 在资源权限或数据权限页面中,切换至直接授权页签,单击直接授权。
 - 在权限管理页面,为用户赋予相应的计算组资源权限或数据权限。
注意 - 您可为数据库用户赋予默认计算组和默认写计算组 USE 和 VIEW 权限,建议为该用户配置默认计算组和默认写计算组 USE 权限。如果仅授予 VIEW 权限,该用户连接至 ByteHouse 后,将无法执行 SQL 查询。
- 如果该用户后续将用于访问/读写的库表,请按需为该用户授予相关数据权限。
- 单击确定,完成授权。
|
完成用户授权后,您可在资源权限和数据权限页签下,查看用户被授予的权限详情。

您可在授予的角色页签下查看用户已获得授权的角色,可通过撤销按钮取消该用户的某个角色权限。

编辑数据库用户
数据库用户创建完成后,您可重置密码,调整用户参数设置。
重置密码
注意
重置密码可能会导致使用该用户的连接中断,请谨慎操作。
- 在用户列表中,单击用户名对应操作列的重置密码按钮。

- 在侧边弹窗中,输入并确认新密码。
- 单击确认重置,完成密码重置。
调整用户参数设置
- 在用户列表中,单击用户名对应操作列的参数设置按钮。

- 在弹窗中,选择默认计算组。

- 单击确定修改,完成参数设置。
删除数据库用户
- 在用户列表中,单击用户名对应操作列的删除按钮。

- 在弹窗中,输入需删除的用户名称。
- 单击确定删除。
后续步骤:使用数据库用户连接 ByteHouse
您可使用数据库用户和 API Key 通过 CLI、BI 工具、ELT 工具、IDE 工具、API 等方式连接 ByteHouse 数据库,操作详情请参考以下文档: