本文将介绍如何创建火山引擎 IAM 子用户并为其授予 ByteHouse 企业版权限、通过子账户登录 ByteHouse 企业版,以及移除 ByteHouse 企业版权限或删除 IAM 子账户。
背景信息
ByteHouse 企业版当前支持通过 IAM 子用户或数据库用户管理 ByteHouse 权限,二者区别说明如下。子用户是 ByteHouse 权限模型的一部分,更多用户及 ByteHouse 权限模型的说明请参见权限模型。
| 子用户 | 数据库用户 |
|---|
定义 | 由火山引擎主用户使用访问控制服务(IAM)创建的用户。 | ByteHouse 中创建的数据库级别的用户。 |
作用范围 | 集群或引擎级别 | 数据库级别 |
登录方式 | - ByteHouse 企业版控制台
- API、连接驱动、命令行、生态工具连接
| API、连接驱动、命令行、生态工具连接 |
适用场景 | 适用于需控制台操作、跨产品统一管控等场景。 | 适用于需要精细管理数据库内数据访问和操作权限的场景。 |
IAM 子用户创建及管理流程如下:
- 创建子用户&产品授权:火山引擎主用户通过火山引擎 IAM 访问控制服务创建子用户并授予 ByteHouse 企业版产品级权限;
- 同步至 ByteHouse:主用户在 ByteHouse 企业版控制台将 IAM 子用户同步至 ByteHouse;
- 数据授权:主用户通过角色或直接授权方式为子用户授予 ByteHouse 中的数据权限;
- 连接使用:创建子用户并完成授权后,子用户使用访问链接登录 ByteHouse 控制台并使用 ByteHouse 企业版的服务;
- 如果该子用户不再使用,主用户可以移除子用户授权或删除子用户。

创建并使用子用户登录 ByteHouse
适用对象:火山引擎主用户
创建子用户
操作步骤:
- 登录火山引擎 IAM 访问控制设置页面,在左侧导航栏,选择用户管理 > 用户,单击新建用户按钮。

- 选择创建子用户的方式。

- (推荐)通过用户名创建:通过主用户手机号码验证,快速创建子用户。
- 通过手机号或巨量引擎账号邀请:对方会收到邀请,可以自行创建子账号。
- 配置用户基本信息。

- 用户信息:填写子用户的用户名(必选)、手机号、邮箱、显示名称、备注、标签等信息。
- 访问方式:勾选”控制台访问“选项,并为用户分配密码。
说明
您可以根据自身安全策略要求,选择是否启用“下次登录时重置密码”与“登录时开启 MFA 二次身份认证”功能。
- 开启”下次登录时重置密码“功能后,在用户的下次登录时,会弹出修改密码页面,完成后才可进入 ByteHouse 控制台。
- 开启”MFA 二次身份认证“功能后,每次登录时需要通过 TOTP 校验器 APP(如 Google Authenticator 等 ),或者是支持 FIDO Passkey 的终端设备来实现身份验证。具体可参见启用和解绑 MFA 设备。
- 配置基本权限。为用户添加 ByteHouse 企业版的使用权限。

- 当前系统为您预置了 "ByteHouseCEFullAccess" 、"ByteHouseCEStandardAccess"、“ByteHouseCEReadOnlyAccess”、“ByteHouseCEEngineOnlyAccess”权限策略,您可以为用户授权对应权限策略,让用户拥有 ByteHouse 企业版使用权限。
- 限制到项目资源选项请务必勾选全局,否则子用户将无法访问 ByteHouse。
说明
- "ByteHouseCEFullAccess" 策略 : 对应 ByteHouse 权限模型定义的 System Admin 角色,将赋予用户ByteHouse 企业版的全部管理权限;
- "ByteHouseCEStandardAccess" 策略:对应 ByteHouse 权限模型定义的 Query User 角色,将赋予用户ByteHouse 企业版 Default 库的读权限。
- “ByteHouseCEReadOnlyAccess”策略:无角色/权限,可以登录 ByteHouse 控制台,可以看到所有集群。在没有额外数据授权的前提下,无法查看任何集群中的数据。
- “ByteHouseCEEngineOnlyAccess”策略:无角色/权限,不能登录 ByteHouse 控制台。但用户可以被同步到 ByteHouse,可以被授权,可以访问引擎。
创建后,管理员仍可以调整该用户的角色,详细内容请参见 角色管理。
- 完成权限配置后,单击下一步,审阅授予的权限,确认无误后,单击下一步,完成子用户创建。
复制或保存您创建的 IAM 子用户的账号、密码、控制台登录地址信息,并将用户的账号密码等信息提供给使用者。

同步子用户并重置密码
- 登录 ByteHouse 企业版控制台,在权限管理 > 用户页面,将火山引擎 IAM 创建的子用户同步至 ByteHouse。
执行该操作前,请确保已为用户授予 "ByteHouseCEFullAccess"、“ByteHouseCEStandardAccess” 或 “ByteHouseCEReadOnlyAccess” 权限策略。

ByteHouse 当前支持全量同步和增量同步:
- 全量同步:同步赋予 ByteHouse 策略的全量 IAM 子用户,同步时间可能会较长。
- 增量同步:手动快速拉取已有的 IAM 子用户。单击增量同步,从用户名下拉列表中选择创建的子用户名,单击确定,系统将立即同步该子用户至 ByteHouse 用户列表。

- 新建的 IAM 子用户同步至 ByteHouse 后,建议您重置 ByteHouse 连接密码。新建的子用户密码为系统随机生成,建议您为子用户设置高强度密码,以确保账号和数据安全。

为用户授予库表权限
前提条件
- 仅具有 SystemAdmin 角色的用户才可进行此操作。
- SystemAdmin 用户/火山引擎主用户已是最高权限,因此无法增加授权。
通过角色授予权限
- 在 ByteHouse 企业版控制台中,在权限管理 > 用户页面,单击用户名称,进入详情页面。
- 在“授予角色”设置项中单击授予角色,为用户授予角色。如果您尚未设置角色,可参考角色管理配置。

- 选择授予权限的范围、授予的角色,并调整 Admin Option 选项。Admin Option 权限是指是否允许用户将被授予的权限授予其他用户。
如需为用户授予多个集群的角色权限,可单击添加,继续添加。

- 添加角色完成后,单击提交,角色授权将立即生效,您可在授予角色、用户参数和权限中查看已授予的权限。

- (可选)授权后,如需调整授予用户的角色权限,可在“授予角色”设置项中,单击编辑,并在调整后单击提交。
支持调整的权限如下:
- 调整已授予的集群范围、对应的角色及 Admin Option。
- 单击添加,继续添加集群及角色授权。
- 删除集群授权:将鼠标悬浮在对应集群行,单击删除按钮。
直接授权
- 在 ByteHouse 企业版控制台中,在权限管理 > 用户页面,单击用户名称,进入详情页面。
- 滚动鼠标至页面底部,在“权限”设置项中,单击直接授权。

- 在授权页面中,选择赋予的数据权限类型、所属集群、数据库、权限点。如需授予多个数据库权限,可单击添加,继续添加数据库及权限点。权限详情说明请参见支持授予的库表权限说明。

- 权限添加完成后,单击确认,授权将立即生效,您可在用户参数、权限中的直接授权页签下查看已授予的权限。

- (可选)授权后,如需调整授予的权限,在“权限”设置项中,调整授权。支持调整的权限如下:
- 增加授权:单击直接授权,并参考步骤 3、4,增加授权。
- 撤销权限:
- 方式一:展开集群及数据库,单击数据库后的删除按钮,删除对应数据库的权限。
- 方式二:单击直接撤销,在弹窗中选择类型、集群、数据库、权限,并单击确认。
子用户登录
控制台访问
适用对象:火山引擎 IAM 子用户
操作步骤:
- 访问管理员提供的 IAM 用户登录链接,并使用正确的账号密码登录。
- 登录 ByteHouse 企业版控制台后,您可在线使用运维管理和数据管理、查询等功能。

通过第三方工具连接
适用对象:火山引擎 IAM 子用户
ByteHouse 企业版也默认提供了图形界面工具(如 DataGrip、DBeaver 等) 以及常见开发工具 (如 ClickHouse Client、JDBC、Python Driver 等)方式的的数据接入支持,您可以在 ByteHouse 控制台集群管理 > 集群列表 > 集群 > 连接集群页签中查看连接命令及使用说明,或参考官方文档来完成配置与连接。

移除/删除子用户
如果您需要在 ByteHouse 企业版中移除某子用户,可移除该用户的 ByteHouse 数据权限和产品权限。您也可按需删除该火山引擎 IAM 子用户。本节删除/移除权限操作的影响说明如下:
删除操作 | 影响 |
|---|
在 ByteHouse 企业版控制台删除子用户 | 该操作将删除从火山引擎 IAM 访问控制同步至 ByteHouse 的用户,同时删除其在 ByteHouse 中的数据权限。 - 删除后,该子用户仍拥有 ByteHouse 产品权限。
- 若重新同步该 IAM 子用户,该用户可访问 ByteHouse 企业版控制台,但该用户没有任何 ByteHouse 数据权限,如需使用,需再次授予权限。
- 如果该子用户后续不再使用 ByteHouse 企业版服务,您可前往火山引擎 IAM 访问控制页面移除 ByteHouse 企业版产品权限。
|
在火山引擎 IAM 访问控制页面移除 ByteHouse 企业版产品权限 | 删除权限后,该用户将无法访问 ByteHouse 企业版。 |
在火山引擎 IAM 访问控制页面删除 IAM 子用户 | 删除为 IAM 子用户授予的所有火山引擎服务权限。 |
适用对象:火山引擎主用户
操作步骤:
- 删除 ByteHouse 企业版用户。
登录 ByteHouse 企业版控制台,进入权限管理 > 用户页面, 单击用户行右侧对应的删除按钮。删除后,子用户被授予的 ByteHouse 数据权限仍保留,需前往火山引擎 IAM 访问控制页面移除 ByteHouse 相关权限。同步子用户信息后,该用户仍可通过 ByteHouse 企业版控制台登录 ByteHouse 企业版。

- 解除火山引擎 IAM 子用户账号中已授予的 ByteHouseCE 相关权限策略。
登录火山引擎 IAM 访问控制设置页面,在左侧导航栏选择用户管理 > 用户,搜索指定的用户,单击用户名进入用户详情界面,在权限页签中搜索 ByteHouseCE,单击对应权限行的移除权限按钮。

- (可选)删除 IAM 子用户。如果 IAM 子用户下无其他需要保留的火山引擎服务,可以按需删除火山 IAM 子用户。登录火山引擎 IAM 访问控制 设置页面,在左侧导航栏,选择用户管理 > 用户,单击用户行右侧对应的删除按钮。
警告
删除火山 IAM 子用户可能会影响该账号下其他火山引擎服务的正常使用,请谨慎操作。
