资源级鉴权指南

最近更新时间:2024-10-15 15:38:41

我的收藏
数据湖计算 DLC 支持基于 CAM 标签的资源级鉴权,您可通过标签来进行 DLC 已有引擎资源和引擎相关 API 权限进行分类管理,从而实现对资源进行多维度分类管理以及精细化授权。
您可根据公司的部门或组织进行标签规划;例如下图,分别对部门 A/B/C 规划好对应的用户名、集群、标签等。标签相关操作请参考:标签



基于腾讯云标签,您在 DLC 的引擎资源和引擎相关 API 权限管理中,可快速实现以下效果:
1. 批量授权:授予子用户某标签下所有资源的权限
如上图中,为属于部门 A 的所有用户,基于 resource_tag 批量授予打上了 tag_A 标签的 DLC 引擎资源及相关操作云 API 权限。
2. 资源管控:创建 DLC 资源时强制绑定固定标签键值
如您希望出现部门 A 用户在创建 DLC 引擎资源时,需要强制打上部门 A 标签,从而避免出现无主公共资源、减少资源浪费,可使用强制打标签功能。
说明:
您可根据业务场景需要,灵活选择并配置上述2种鉴权配置方式的一种或多种。

场景一:授予某个标签键下资源权限

操作场景

若您的公司购买了多个 DLC 计算引擎资源,资源均通过标签分组管理,希望能够授予关联某个标签键下所有资源的权限(resource_tag)。
假设存在以下条件:
企业账号 CompanyExample 下有个子账号用户A
企业账号 CompanyExample 下有个为 Dept_A 的标签键。
企业账号 CompanyExample 希望给子账号 用户A 授予标签键 Dept_A 的所有 DLC 引擎资源和对应云 API 操作权限。

操作步骤

1. 新建标签并为引擎打上标签

进入 标签列表页面,单击新建标签。
说明:
此处及后续流程使用标签 tag_A 举例。



输入标签键和标签值,单击确定即可创建成功。
进入DLC 控制台,进入引擎列表页,单击资源名称进入资源详情页,单击编辑按钮,弹出标签编辑窗口,选择标签进行绑定。详细引擎绑定标签操作可参考 引擎资源关联标签




2. 新建自定义策略

新建自定义策略 Policy_Dept_A1
进入 访问管理策略 页面,单击新建自定义策略
选择按标签授权。
标签策略生成器,赋予用户选择 Dept_A,用户组不填,标签键和标签值选择规划好的对应标签,根据需求添加服务与操作,单击下一步即可。
新建 Policy_Dept_A1 策略,在策略内容中将“action”和“resource”字段,改为如下内容,单击完成即可。
{
"effect": "allow",
"action": [
"dlc:CreateTask",
"dlc:CreateSparkApp"
],
"resource": [
"*"
],
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"tag_A&Dept_A",
"tag_B&Dept_B",
"tag_C&Dept_C",
"tag_D&Dept_D"
]
}
}
}
注意:
resource 字段内容需要根据实际资源来填写,填写规则参见 资源描述方式

3. 子用户赋权并验证

在用户列表页面找到要赋权的子用户,单击右侧的授权按钮;新建子用户请参考:新建子用户
选择 Policy_Dept_A1,单击完成即可。
以子用户身份登录进行验证。 子用户仅能通过标签 tag_A 使用管理 test_A 的引擎资源。

场景二:创建 DLC 引擎资源时强制打标签

操作场景

若您希望您的子账号在购买 DLC 引擎资源时,只能绑定某个标签键值的权限。假设存在以下条件:
企业账号 CompanyExample 下有个子账号用户A
企业账号 CompanyExample 下有个为 Dept_A 的标签键值。
企业账号 CompanyExample 希望子账号用户A在创建 DLC 引擎资源时,需要强制打上 Dept_A 的标签键值。

操作步骤

1. 使用企业账号 CompanyExample 登录 访问管理控制台
2. 在策略页面,单击新建自定义策略 > 按策略语法创建
3. 在选择模板类型下选择空白模板,单击下一步,进入编辑策略页面。



4. 在编辑策略页面,填写下列内容:
策略名称:默认为 policygen-当前日期,推荐您自行定义一个不重复且有意义的策略名称,例如 Developer-request_tag。
描述:可选,自行编写。
策略内容:复制以下内容并填写。
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": "dlc:CreateDataEngine",
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:request_tag": [
"Dept_A"
]
}
}
},
{
"effect": "allow",
"action": "dlc:*",
"resource": "*",
"condition": {
"for_any_value:string_equal": {
"qcs:resource_tag": [
"Dept_A"
]
}
}
}
]
}
说明:
通过 qcs:resource_tag 控制:可以访问所有绑定标签(Dept_A) 的资源。
通过 qcs:request_tag 控制:在创建资源的时候必须绑定标签(Dept_A)才能成功。
5. 单击完成,完成策略的创建。新建的策略将显示在策略列表页。
6. 在策略列表中搜索找到刚才已创建的策略,单击右侧操作列的关联用户/组/角色



7. 在弹出的关联用户/用户组/角色窗口中,搜索勾选子账号 用户A,单击确定完成授权操作。 子账号 用户A 将拥有只能绑定 Dept_A 标签键值的权限。
8. 登录子账号 用户A,在不设置标签不设置对应标签为 Dept_A 的情况下,尝试购买 DLC 计算引擎均会失败。