数据湖计算 DLC 具备完善的访问权限机制,DLC 的权限分为操作权限和数据权限。操作权限由访问管理 CAM 服务进行管理,数据权限由 DLC 权限模块进行管理。
主账号默认拥有 DLC 全部操作权限和数据权限。
若子用户被授予 DLC 数据权限管理的操作权限,则该子用户可以将数据权限授予给其他子用户,可以将该类用户视作“管理员”。
若子用户被授予数据读写权限,则该子用户可以运行有权限数据的查询任务,其数据权限是被“管理员”进行分配。
除主账号外的所有子用户的数据权限都是靠“管理员”进行分配。用户不能查询没有权限的数据。
主账户默认拥有 DLC 全部操作权限。主账号通过访问管理 CAM 将 DLC 的访问权限授予给子用户,使子用户拥有对应的 DLC 操作权限。本文主要对操作权限进行说明。
CAM 权限策略
DLC 当前操作权限依赖访问管理 CAM 实现,支持 DLC 产品提供的预设策略和客户自行管理的自定义策略两种权限管控方式:
预设策略:
DLC 目前定义了两种预设策略:
QcloudDLCFullAccess:数据湖计算 Data Lake Compute(DLC)全读写访问。此策略将包含 DLC 接入 CAM 的所有接口的读写权限,用户可以直接给子账号授予此权限策略,但是可能造成权限过大,请谨慎操作。
QcloudDLCReadOnlyAccess:数据湖计算 Data Lake Compute(DLC)只读访问权限。此策略将包含 DLC 接入 CAM 的所有只读类接口的权限,用户可以直接给子账号授予此权限策略,但将不包含任何更改权限。
注意:
1. QcloudDLCFullAccess 和 QcloudDLCReadOnlyAccess 具体包含的接口可通过访问管理 > 左侧菜单策略 > QcloudDLCFullAccess / QcloudDLCReadOnlyAccess 详情页 > 服务 > 数据湖计算 (dlc) 进行查看。
2. QcloudDLCFullAccess 和 QcloudDLCReadOnlyAccess 仅包含数据湖计算 DLC 产品自身的接口权限,DLC 产品部分能力依赖于其他云产品实现,使用这些能力时,需额外为子账号授予对应产品的接口权限。各产品所需权限接口及授权操作请参见本篇附录。
CAM 自定义策略:
用户可通过 CAM 控制台创建自定义权限策略以实现灵活的权限管理,CAM 提供了三种自定义策略授权方式,以策略生成器方式为例,可参考通过策略生成器创建自定义策略。 操作权限分类
如下表所示,按照 DLC 接口,将 DLC 操作分类如下,具体可参见 API 文档。 |
元数据管理 | 操作 DLC 管理的数据库和表的元数据信息 |
任务管理 | 提交和查看 DLC 任务 |
权限管理 | 管理用户的数据访问权限 |
系统配置 | DLC 服务基础配置 |
预设策略授权操作
本流程以<为子账号授予 QcloudDLCFullAccess >为例,操作步骤为:
1. 创建子用户。
2. 为对应的子用户授予 QcloudDLCFullAccess 权限。具体可参见 子账户通过策略授权。 3. 子用户登录数据湖计算 DLC 控制台并验证权限。若子用户登录控制台并执行数据权限授权操作成功,则 CAM 权限授权生效。
自定义策略授权操作
如果您使用主账号访问数据湖计算 DLC,可以跳过该步骤。子账号需要授权后才能开启 DLC 服务,授权流程为:
2. 创建自定义策略。
在访问管理控制台的 策略 页面,单击新建自定义策略新建策略。 在弹出的选择策略创建方式中,单击按策略语法创建,进入编辑策略页面。
在按策略语法创建页面中,选择空白模板,单击下一步。
在模板中,输入策略名称和描述(建议策略名称为 DLCDataAccess),将如下复制策略粘贴至策略内容。填写完成后,单击完成,即可成功创建自定义策略。拥有该自定义策略权限的子用户,可以登录数据湖计算 DLC 控制台执行 SQL 任务。但无法操作数据权限管理。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"dlc:DescribeStoreLocation",
"dlc:DescribeTable",
"dlc:DescribeViews",
"dlc:CancelTask",
"dlc:CreateDatabase",
"dlc:CreateScript",
"dlc:CreateTable",
"dlc:CreateTask",
"dlc:DeleteScript",
"dlc:DescribeDatabases",
"dlc:DescribeScripts",
"dlc:DescribeTables",
"dlc:DescribeTasks",
"dlc:DescribeQueue",
"dlc:DescribeTaskResult"
],
"resource": [
"*"
]
}
]
}
3. 将自定义策略 DLCDataAccess 绑定给访问数据湖计算 DLC 的子账户后,该子账户可以登录和访问数据湖计算 DLC,具体可参见 子用户权限设置。 附录
DLC 产品部分能力依赖于其他云产品实现,例如云监控、标签等,使用这些能力时,需额外为子账号授予对应产品的接口权限,主账号可按需为子账号授予对应操作权限。相关操作接口如下表所示:
|
数据作业/存储管理 | 对象存储 (COS) | GetService | |
SuperSQL 引擎>集群监控 标准引擎>集群监控 资源组>资源组监控 | 腾讯云可观测平台 (Monitor) | DescribeDashboardMetrics | 查询 Dashboard2.0 指标列表 |
|
| DescribeMonitorProductByIds | 按照 ID 查询监控产品列表 |
|
| DescribeDashboardMetricData | 查询 Dashboard2.0 指标监控数据 |
SuperSQL 引擎 标准引擎 存储管理 | 标签(TAG) | DescribeTagKeys | 查询标签键 |
|
| AttachResourcesTag | 资源批量关联标签 |
|
| DetachResourcesTag | 解绑批量资源关联的标签 |
网络连接配置/元数据管理 | 云数据库 MySQL | DescribeDBInstances | 查询列表 |
| 云数据库 PostgreSQL | DescribeDBInstances | 查询实例列表 |
| 云数据库 SQL Server | DescribeDBInstances | 查询实例列表 |
以在 DLC 控制台页面查看监控所需权限为例,说明主账号为子账号新增腾讯云可观测平台权限流程。
2. 新建自定义策略,这里使用通过策略生成器创建自定义策略方式,操作流程为:访问管理>策略>新建自定义策略>按策略生成器创建,创建详情如下图所示。其他创建流程请参考访问管理 CAM 官方文档说明。 更多接口权限,策略名称,标签设置,关联用户/用户组/角色等内容,可按需额外设置,在此仅展示满足在 DLC 控制台实现监控查看的最小设置方案。
3. 为子账户授予第二步定义的策略。这一步可在创建策略时授权或完成全策略创建后在用户、用户组和角色授权页执行。