标签(Tag)与访问控制(RAM)相结合,可以实现更加精细化的权限控制。为资源绑定标签后,您可以通过RAM的自定义权限策略指定授权的标签,以此限制RAM身份(RAM用户或RAM角色)仅能对绑定该标签的资源进行访问和操作。使用标签控制资源访问的授权方式更灵活,扩展性更好,当新增资源时,只需要编辑资源的标签,无需批量更改权限策略。本文以RAM用户为例。
支持基于标签授权的资源类型
登录标签控制台,在标签支持的资源类型页面的资源类型鉴权列,查看各资源类型是否支持基于标签的访问控制。

工作原理
基于标签限制RAM用户权限的逻辑如下图所示。
自定义权限策略中是通过条件(Condition)指定授权的标签,标签支持的Condition如下:
| Condition | 说明 | 
| 
 | 请求中传递的标签信息。即用户在调用API的时候,请求参数里面必须携带的标签。 | 
| 
 | 请求访问的资源上绑定的标签信息。即用户在操作某个资源的时候,资源上必须具备的标签。 | 
工作流程
- 创建并绑定标签。 
- 创建自定义权限策略。 - 在RAM控制台创建自定义权限策略,在策略的Condition元素中配置标签授权条件。具体操作,请参见创建自定义权限策略。 - 例如:以下权限策略表示允许对绑定了标签 - owner:alice和- environment:production的ECS实例进行管理操作。- { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } }
- 创建RAM用户并授权。 
最佳实践
| 云服务 | 标签授权示例 | 
| 云服务器ECS | |
| 弹性容器实例ECI | |
| 弹性伸缩ESS | |
| 服务器迁移中心SMC | |
| 云数据库RDS | 
该文章对您有帮助吗?