ByteHouse 从2.12版本起,支持用户根据需求设置多个环境,在不同环境中的计算、存储、库表、网络、审计和权限完全隔离,可以满足用户对多实例、接入多VPC等需求。本文为您ByteHouse提供的环境管理能力以及多环境管理思路与实践。
多环境管理简介
ByteHouse云数仓是一个SaaS化的云数据仓库服务,客户一个账号只开通一次ByteHouse服务,服务开通后,在ByteHouse内部购买不同的计算组来满足多业务的查询&写入需求。
说明
CDW服务开通后,默认分配一个default环境,这个环境是所有子账号在初始化阶段都可以进入的环境,默认情况下,ByteHouse 所有资源使用 default 环境。

在实际业务场景中,用户希望不同业务、不同环境(开发环境、生产环境)之间资源可以独立隔离;“多环境管理”支持在一个租户下为不同业务隔离出完全独立的运行环境,每个环境下的计算资源、存储资源等完全隔离、独立运行,如下图所示。

此场景下:
- 主账号通常是ByteHouse云数仓管理员,开通ByteHouse服务后,进入ByteHouse控制台,这时系统会默认分配一个default环境:
- 这个default是默认环境,具备任意ByteHouse IAM策略的子账号都有权限进入这个环境。
- 子账号如果仅拥有ByteHouseReadOnly的IAM权限策略权限,则子账号可进入default环境,但是没有任何资源权限和数据权限,主账号可根据 RBAC 策略,授予子账号相应的权限后,子账号才可以访问必要的数据。
- 主账号可创建一个新环境,例如,名为Business_A:
- 子账号初始状态下无权限进入该环境,除非主账号 授予子账号该环境的进入权限。
应用场景
在云数据仓库的实际业务场景里,用户往往会遭遇多业务和多环境共存的繁杂需求。总的来说,多环境典型的应用场景包含以下几个方面:
业务场景 | 场景需求 | 场景示例 |
---|
开发与生产隔离 | 将开发、测试和生产环境完全隔离,避免测试工作对生产业务造成影响。 | 开发环境用于新功能开发与测试,生产环境运行实时查询与分析。开发环境中的性能问题或错误不会干扰生产环境。 |
多业务隔离 | 为不同业务线(如财务、市场、运营)提供独立的环境,避免资源竞争和数据安全问题。 | 财务部门运行月度报表分析,市场部门进行实时广告效果监测,各自使用独立的计算资源和存储空间,不相互干扰。 |
敏感数据保护 | 为不同敏感级别的数据提供隔离的运行环境,确保数据安全和访问权限控制。 | 生产环境存储客户隐私数据,测试环境使用脱敏数据开发新查询逻辑,确保隐私数据不会泄露到非生产环境。 |
故障隔离 | 在环境之间提供独立性,确保某一环境的异常不会影响其他环境的运行。 | 测试环境因错误查询导致性能下降,但生产环境中的业务分析仍保持稳定运行。 |
注意事项
细分 | 注意事项 |
---|
权限要求 | - AccountAdmin角色具有环境的创建、授权、删除权限。
- AccountAdmin角色、SystemAdmin角色具有环境的授权权限。
- 其他子用户必须被授予“环境”权限后,可以访问被授权的环境。
|
default环境 | default环境是系统默认环境,不支持直接删除。 |
新建环境
注意
AccountAdmin角色具有环境的创建、授权、删除权限.
- 在ByteHouse控制台右上角,点击 环境选择下拉框,点击“环境管理”按钮,进入环境管理控制页面。

- 点击右上方“新建环境”按钮,在弹出的页面中填入新建的环境名称,同时可以备注此环境的描述,完成后单击确定。

注意
- 创建成功后,后续环境名称后续不可修改,请您仔细配置环境名称。
- 环境名称须符合下列要求:仅支持小写字母、最多10个字符、不能和已有环境名称重复。
- 系统显示“新建环境成功”则表示操作完成,同时在环境列表中可以看到刚才创建的环境名称。

用户赋权
注意
- AccountAdmin角色、SystemAdmin角色具有环境的授权权限。
- 其他子用户必须被授予“环境”权限后,可以访问被授权的环境;
- 在环境管理页面,您可单击对应环境后的用户赋权按钮,将环境授权给某个子账号。

- 为用户列表中的用户,选择打开或关闭环境权限。对于不同角色,其获得的具体权限如下:

- AccountAdmin: 获得全部权限(管理权限、用户赋权权限、使用权限)。
- System Admin: 获得用户赋权权限、使用权限。
- 其他用户: 开启后有使用权限。
修改环境备注
- 点击环境列表中右侧的“编辑”按钮。

- 修改环境描述后点击“确定”按钮。

删除环境
注意
- 删除环境操作不可逆,请谨慎操作。
- default环境不支持删除。
- 在删除环境之前,请清空资源。资源未清空时,不支持删除环境。

您可以点击“资源”列中的查看详情按钮,可以跳转到租户管理中查看环境下所有资源。 - 环境中的资源清空后,可点击环境列表中右侧对应的“删除”按钮。

- 删除命令执行后,需要等待一段时间,清理该环境下的资源。
