基于标签授权与鉴权
概述
百度智能云提供了公共的标签管理服务,便于为云上的资源做分组管理,你可以为你的账户内资源规划好标签,对需要关联的资源或是同一项目内的资源加上相同的标签,以提升资源管理的效率。
对于已经加上标签的资源,你可以使用IAM的基于标签授权,快速为具备关联关系的资源配置自定义策略,并授予给需要该标签下资源权限的用户,当前已支持标签授权的服务请参考目前已支持的产品线
基于标签的权限特性
基于标签授权和鉴权可以为你提供如下权限管理特性,以帮助提升你的管理效率:
- 分组授权:具备关联关系的不同服务实例的快速授权;
- 在服务不具备“添加或创建”等无中生有创建资源的权限情况下,实现无中生有的操作并使被授权用户自动获得其所创建资源的权限;
常见的使用场景
场景一. 某大型企业客户不同服务资源的分组管理
某大型企业客户在新建项目的配置中,需要同时为60台BCC、120块CDS磁盘进行权限规划,在使用标签授权管理之前,只能通过手动维护BCC和CDS的磁盘关系,手动为多个用户分配资源权限,极其影响效率。使用标签授权后,用户只需在创建BCC、CDS时,为关联的资源加上相同的标签,通过标签授权的方式,快速为用户分配权限,同时,对于未来此项目中新增的BCC、CDS资源,只要加上相同的标签,其子用户可以自动获得新开机器的权限,极大提升了管理效率。
场景二. 某大型企业客户期望其子用户可以创建CDN域名并自动获得其所创建域名权限
某大型企业客户管理员,期望将域名管理的权限分配到子用户账号手中,详细需求如下:
- 子用户能够自行添加域名,并自动拥有其添加的域名权限;
- 子用户之间的域名资源相互隔离,如子用户A在不被授权的情况下,无法看到子用户B添加的域名;
- 主用户可以查看和管理所有子用户添加的域名;
标签授权可以满足如上的产品需求,具体的操作方式如下:
Step1. 管理员用户规划标签,比如给子用户A规划标签Key: department/Value: 123,给用户B规划标签Key: department/Value: 456,并在标签管理中建立对应标签;
Step2. 管理员用户进入IAM多用户访问控制 > 策略管理,点击创建策略,选择创建策略的方式为基于标签创建;
Step3. 管理员用户填写策略的基本信息,如命名策略为policy_for_user_A_with_tag123, 在权限配置内选择标签Key: department/Value: 123,选择服务 “内容分发网络 CDN”,选择操作管理权限,资源范围默认展示拥有该标签属性的所有资源,点击完成保存;
Step4. 管理员用户按照Step3流程创建基于tag456的策略policy_for_user_B_with_tag456;
Step5. 管理员用户创建子用户A,如UserA,并为UserA授予策略 policy_for_user_A_with_tag123的权限;管理员用户创建子用户B,如UserB,并为UserB授予策略 policy_for_user_B_with_tag456的权限;
Step6. 子用户UserA登录控制台,进入CDN,选择域名管理 > 新添加域名,如添加域名为“cloud.baidu.com”, 在向导步骤3“标签”处,默认绑定标签Key: department/Value: 123,点击完成即完成域名创建,并且子用户UserA 拥有了管理域名cloud.baidu.com 权限,且子用户UserA 无其他域名任何权限,如需给子用户UserA其他域名的访问权限,需要管理员用户在IAM中额外授权。子用户UserB同理。
基于标签鉴权
本质上标签是权限策略的一种条件或属性,基于标签的策略属于用户自定义策略,且在权限类型上,隶属于基于资源的策略,用户被授予标签资源权限时的鉴权评估逻辑符合策略鉴权评估逻辑。