文档中心>TI-ONE 训练平台>实践教程>使用 CAM 标签实现子用户间的 TI-ONE 资源隔离

使用 CAM 标签实现子用户间的 TI-ONE 资源隔离

最近更新时间:2024-06-28 10:42:02

我的收藏

总览

一个主账号下有多个子用户或者协作者,主账号希望不同团队成员通过子用户登录,可以看到和操作不同资源。 针对该场景,您可以通过标签授权来实现资源的隔离访问。

场景说明

标签授权需要支持资源级权限控制,TI-ONE 的主要资源已支持,具体所有支持资源级的业务接口清单请查看 支持 CAM 的业务接口。下面以资源组、在线服务为例,假设主账号用户有两个团队使用 TI-ONE 产品,有两个资源组,两个在线服务,对应的信息如下:
资源组 id
在线服务
所属标签
所属组织
rsg-wwb2hgrs
llm_text
team:llm_text
llm_text 团队
rsg-zbqrjvlz
llm_picture
team:llm_picture
llm_picture 团队

前置要求

提前为 llm_text 团队创建 CAM 子用户 llm_text_user, llm_picture 团队创建 CAM 子用户 llm_picture_user。可参考文档:新建子用户

预期效果

资源组和在线服务均实现子用户之间资源隔离
1. 资源组
使用管理员账号查看上海地域资源组列表效果。


使用llm_text_user账号 查看上海地域资源组列表, 只能查看绑定 team:llm_text 标签的资源组:


2. 在线服务
使用管理员账号查看上海地域在线服务列表效果:

使用 llm_text_user 账号 查看上海地域在线服务列表, 只能查看绑定 team:llm_text 标签的在线服务:


注意:
您根据本文档指引,对子账号配置自定义策略,进行资源隔离时,可能会出现使用某个功能提示接口权限不足,请参考文档 常见问题 处理。

操作步骤

第一步:新建标签并为资源组添加标签

1. 新建标签
进入 标签列表页面,单击新建标签 输入标签键和标签值,单击确定即可创建成功


2. 给资源组添加标签
资源组管理 页面选择要打标签的资源组,单击编辑,在标签中选择之前建立的 team 标签键,分别绑定对应标签值,单击确定即可。


3. 给在线服务添加标签
模型服务-在线服务页面选择要打标签的服务,单击编辑标签,在标签中选择之前建立的 team 标签键,分别绑定对应标签值,单击确定即可。



第二步:新建自定义策略

目前TI-ONE部分接口不支持标签鉴权,所以需要设置三个策略,Policy_llm_text_tag 是标签策略,Policy_llm_text_nontag 是不支持标签的TI-ONE接口, Policy_tione_required 是依赖其他云产品接口的策略。

1. 新建自定义策略 Policy_llm_text_tag、Policy_llm_text_nontag
进入 访问管理策略 页面,单击新建自定义策略


选择按标签授权



编辑策略选择 可视化策略生成器。



服务(必选):选择要授权的产品: tione
操作(必选):选择您要授权的操作, 这里默认选“全部操作 (tione:*)”。
选择标签(必选) :选择前面第一步创建的 team 标签键, llm_text标签值。
是否授予不支持标签的接口“resouce”: "*" 权限: 选择 是。
说明
操作中包含该服务所有接口,您可以通过“是否支持按标签授权”筛选查看接口是否支持按标签授权。
是:支持按标签授权接口,将包含关联对应标签资源的操作权限。
否:不支持按标签授权接口,将包含所有资源的操作权限。
单击下一步, 进入关联用户/用户组/角色页面。



策略名称由控制台自动生成,默认为 "policygen" ,后缀数字根据创建日期生成。这里将第一个策略名称修改为 Policy_llm_text_tag, 第二个策略名称修改为 Policy_llm_text_nontag, 单击完成。
2. 新建自定义策略 Policy_tione_required
进入 访问管理策略 页面,单击新建自定义策略。选择按策略语法授权



选择空白模板,单击下一步。



策略名称修改为 Policy_tione_required, 把策略内容,修改为如下内容,单击完成
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": [
"cam:GetRole",
"cam:ListAttachedRolePolicies",
"vpc:DescribeVpcEx",
"vpc:DescribeSubnetEx",
"cls:DescribeLogsets",
"cls:DescribeTopics",
"tcr:DescribeInstances",
"tcr:DescribeNamespaces",
"tcr:DescribeRepositories",
"monitor:GetMonitorData",
"cos:GetService",
"cos:GetObject",
"cos:GetBucket",
"cos:HeadObject",
"cos:OptionsObject",
"tag:DescribeTagKeys",
"tag:DescribeTagValues",
"tag:AttachResourcesTag",
"tag:DetachResourcesTag",
"tag:GetResources",
"cfs:DescribeCfsFileSystems",
"emr:DescribeInstances",
"cvm:DescribeAddresses",
"emr:DescribeInstancesList",
"cfs:DescribeMountTargets",
"goosefs:DescribeFileSystems"
],
"resource": "*"
}
]
}

第三步:策略关联子用户

用户列表页面找到要关联策略权限的子用户 llm_text_user,单击右侧的授权按钮;


选择 Policy_llm_text_tag Policy_llm_text_nontag Policy_tione_required,单击完成即可。
注意:
1. 请确保子用户没有关联 TI-ONE 平台其他的 cam 策略。因 cam 策略是取并集操作,如果有其他 TI-ONE 策略可能会导致资源隔离失败。
2. 如需要关联用户组,请参考文档 授权管理

第四步:验证

用关联策略的子用户 llm_text_user 身份登录 TI 控制台, 子用户仅能查看和操作关联标签 team:llm_text 的资源。符合预期效果。

针对 llm_picture 团队授权也参考上述的授权方法。