本章节主要说明如何在 ByteHouse 中执行访问控制,如何使用火山引擎主账号新建用户、设置用户权限,以及通过赋予用户角色来配置访问控制策略。
需使用火山引擎主账号,管理 IAM 用户的新增/编辑/禁用/授权等操作。
开通 ByteHouse 云数仓版后,您可以使用火山引擎主账号登录火山引擎控制台,根据业务需要创建多个子用户,遵循权限最小原则为不同子用户授予对应人员所需的最小权限。
您可以在火山引擎的访问控制-权限策略页面创建自定义策略,并通过配置策略 Action,配置该策略的权限细项。
访问火山引擎的访问控制-权限策略页面,单击新建自定义策略。
填写策略名称,并使用 JSON 编辑器定义策略的 Action。
您可参考以下代码示例按需填写 Action:
{ "Statement": [ { "Effect": "Allow", "Action": [ "bytehouse:AccountAdmin", "bytehouse:Read", "bytehouse:Update", "bytehouse:Delete", "bytehouse:Create" ], "Resource": [ "*" ] } ] }
参数说明
参数 | 配置说明 |
|---|---|
bytehouse:AccountAdmin | 该参数用于设置用户的角色,支持设置为 AccountAdmin、SystemAdmin 或 |
bytehouse:Read | 该参数控制用户是否拥有登录控制台的权限。如果用户需要登录控制台,则需要配置该权限。 |
bytehouse:Update | 使用当前值,无需配置。 |
bytehouse:Delete | 使用当前值,无需配置。 |
bytehouse:Create | 使用当前值,无需配置。 |
您可以在火山引擎的访问控制-用户页面中创建新用户,配置对控制台的访问权限,并初始化密码,例如“通过用户名创建”的流程如下所示。
在第 2 步的权限设置页面,主账户可以通过关联对应的 IAM 策略为创建的用户增加权限,实现细粒度的访问控制。
针对 ByteHouse 服务,您可以配置以下权限:
通常完成 IAM 用户创建、火山引擎主账号给 IAM 用户完成 IAM 权限策略授权后,对于仅拥有 ByteHouseReadOnlyAccess 权限的 IAM 用户,主账号还需前往 ByteHouse 控制台,对该用户进行资源、数据的细节权限的授权操作。
已拥有 ByteHouse SystemAdmin 角色权限的用户,也可在其他权限较低的 IAM 用户创建完成后,在 ByteHouse 中为对应用户授予权限。
说明
在 ByteHouse 控制台进行授权时,支持直接对 IAM 用户进行授权,也支持先创建用户角色,为角色授权,再将角色权限授予给用户。以下为您介绍直接对 IAM 用户授权的操作说明,通过角色进行授权的操作请参见角色管理。
说明
为用户赋予计算组后,会同时赋予用户该计算组的 USE 权限,您可在资源权限模块修改,详情请参见资源权限管理。
在”权限管理-用户“页面,我们可以通过每个用户右侧的”禁用“按钮来收回用户所有权限。
完成对 IAM 用户赋予角色和相应的权限后,可以通过控制台提供的 IAM 登录链接(如下图)登录该账号,并切换到对应角色对资源进行查看和操作,从而实现数据对象的细粒度权限控制。