总览
一个主账号下有多个子用户或者协作者,主账号希望不同团队成员通过子用户登录,可以看到和操作不同资源。 针对该场景,您可以通过标签授权来实现资源的隔离访问。
场景说明
标签授权需要支持资源级权限控制,TI-ONE 的主要资源已支持,具体所有支持资源级的业务接口清单请查看 支持 CAM 的业务接口。下面以资源组、在线服务为例,假设主账号用户有两个团队使用 TI-ONE 产品,有两个资源组,两个在线服务,对应的信息如下:
资源组 id | 在线服务 | 所属标签 | 所属组织 |
rsg-wwb2hgrs | llm_text | team:llm_text | llm_text 团队 |
rsg-zbqrjvlz | llm_picture | team:llm_picture | llm_picture 团队 |
前置要求
预期效果
资源组和在线服务均实现子用户之间资源隔离
1. 资源组
使用管理员账号查看上海地域资源组列表效果。
使用llm_text_user账号 查看上海地域资源组列表, 只能查看绑定 team:llm_text 标签的资源组:
2. 在线服务
使用管理员账号查看上海地域在线服务列表效果:
使用 llm_text_user 账号 查看上海地域在线服务列表, 只能查看绑定 team:llm_text 标签的在线服务:
注意:
操作步骤
第一步:新建标签并为资源组添加标签
1. 新建标签
2. 给资源组添加标签
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"
:
"*"
}
]
}
第三步:策略关联子用户
选择 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 团队授权也参考上述的授权方法。