云服务器ECS资源绑定标签后,您可以使用标签为资源做分类并控制访问。本文以ECS实例为例,介绍如何为RAM用户授权特定的策略,使该RAM用户能够通过标签控制ECS实例的访问。
前提条件
已使用阿里云账号创建一个RAM用户,详情请参见创建RAM用户。
背景信息
标签是云资源的标识,可以帮助您从不同的维度对具有相同特征的云资源进行分类、搜索和聚合,使资源管理更加容易。每个云资源均支持绑定多个标签。支持标签的云服务和资源类型,详情请参见支持标签的云服务、支持标签API的资源类型。
阿里云的用户权限是基于策略为管理主体的,您可以根据不同用户的职责配置RAM策略。在策略中,您可以定义多个标签,然后将一个或多个策略授权给RAM用户或用户组。如果要控制RAM用户可以访问哪些资源,您可以创建自定义策略并使用标签来实现访问控制。
默认情况下,资源列表将展示本地域中所有的资源,如果您希望为RAM用户设置查看资源的范围,您可以通过创建自定义策略,利用标签控制RAM用户对资源的访问。
步骤一:创建自定义策略并为RAM用户授权
本步骤将使用阿里云账号创建一个自定义策略UseTagAccessRes(规定了RAM用户需要指定标签owner:zhangsan
和environment:production
后方可访问ECS资源),并将自定义策略UseTagAccessRes授权给RAM用户userTest。
- 使用阿里云账号登录RAM控制台。
- 创建自定义策略UseTagAccessRes。
{
"Statement": [
{
"Effect": "Allow",
"Action": "ecs:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ecs:tag/owner": "zhangsan",
"ecs:tag/environment": "production"
}
}
},
{
"Action": [
"ecs:DescribeTagKeys",
"ecs:DescribeTags"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ecs:DeleteTags",
"ecs:UntagResources",
"ecs:CreateTags",
"ecs:TagResources"
],
"Resource": "*"
}
],
"Version": "1"
}
权限策略 |
内容 |
说明 |
访问带标签资源的权限 |
"ecs:tag/owner": "zhangsan"
"ecs:tag/environment": "production"
|
控制绑定该标签的资源的访问。 |
允许查询标签的接口权限 |
ecs:DescribeTagKeys
ecs:DescribeTags
|
ECS控制台需要支持标签查询的权限。 |
不允许操作标签相关的接口权限 |
ecs:DeleteTags
ecs:UntagResources
ecs:CreateTags
ecs:TagResources
|
权限中不允许出现与操作标签有关的接口,避免用户因修改标签导致没有权限。 |
- 将自定义策略授权给RAM用户userTest。
步骤二:为ECS实例绑定标签
本步骤将使用阿里云账号为ECS实例绑定特定标签。
说明 如果您没有ECS实例,请先创建ECS实例。详情请参见
创建方式导航。
- 登录标签控制台。
- 在左侧导航栏,选择。
- 在顶部菜单栏左上角处,选择地域。
- 在自定义标签页签,单击创建自定义标签。
- 在创建自定义标签对话框,创建
owner:zhangsan
和environment:production
标签,并绑定已有ECS实例。
步骤三:访问带标签的ECS实例
本步骤将使用RAM用户userTest(已授权自定义策略UseTagAccessRes)登录ECS控制台,访问带标签的ECS实例。
- 使用RAM用户登录ECS管理控制台。
- 在左侧导航栏,选择。
- 在顶部菜单栏左上角处,选择地域。
- 在实例页面,单击搜索栏旁边的标签,选择
owner:zhangsan
和environment:production
标签。
- 查看仅绑定了
owner:zhangsan
和environment:production
标签的资源。