此前ECI已经支持通过资源组对资源进行管理,并支持子账号的资源组鉴权。如今ECI又新增了一种新的子账号鉴权方式:Tag鉴权。
1、进入RAM控制台,进入“策略管理”,选择“系统策略”,搜索关键字“ECI”。
打开“AliyunECIFullAccess”,即可看到如下内容:
"Version": "1",
"Statement": [
{
"Action": "eci:*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecs:DescribeSecurityGroups"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DescribeVSwitches",
"vpc:DescribeVpcs",
"vpc:DescribeEipAddresses"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
这是系统生成的ECI full权限。
2、接下来,我们选择“新建授权策略”,选择“AliyunECIFullAccess”为模板,修改内容如下:
{
"Version": "1",
"Statement": [
{
"Action": "eci:*",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"eci:tag/name": "liumi",
"eci:tag/env": "test"
}
}
},
{
"Action": [
"ecs:DescribeSecurityGroups"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DescribeVSwitches",
"vpc:DescribeVpcs",
"vpc:DescribeEipAddresses"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
其实就是在“AliyunECIFullAccess”的基础上,增加了子账号的tag限制(即用户只能操作同时满足name=liumi,env=test的资源。示例中的tag仅做参考,用户可自定义)。这个授权策略意味着,授权的子账号拥有带指定tag的ECI的full权限,而无法操作带其他tag的ECI资源。
3、接下来就是授权,进入“用户管理”,选择需要设置tag权限的子账号,也可以选择新建。
进入“用户授权策略”,选择“编辑授权策略”,选择之前建好的tag策略即可。
以上文中的子账号为例,预期的结果如下:
注:该查询接口鉴权不通过的时候会统一返回空,不报错。
这种情况其实比较复杂
由于用户更新了tag,需要确保用户分别具有更新前后的tag的权限。怎么保证用户具有更新前后的权限?
会想到两种操作:
第一种:直接在现有的权限下两个tag
{
"Version": "1",
"Statement": [
{
"Action": "eci:*",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"eci:tag/name": "liumi",
"eci:tag/env": "test",
"eci:tag/name": "liumi2",
"eci:tag/env": "pre"
}
}
},
{
"Action": [
"ecs:DescribeSecurityGroups"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DescribeVSwitches",
"vpc:DescribeVpcs",
"vpc:DescribeEipAddresses"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
这种做法其实是错误的,这实际上是把权限变小了,导致的结果是前后都不匹配。后面这种做法才是正确的。
第二种,给子账号再添加一个独立的权限:
{
"Version": "1",
"Statement": [
{
"Action": "eci:*",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"eci:tag/name": "liumi2",
"eci:tag/env": "pre"
}
}
},
{
"Action": [
"ecs:DescribeSecurityGroups"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DescribeVSwitches",
"vpc:DescribeVpcs",
"vpc:DescribeEipAddresses"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
这篇文章展示了最常用的Java实用工具类及其最常用的方法。类列表及其方法列表均...
TOP云 (west.cn)12月13日消息,昨天下午双拼 域名 chequan.cn在TOP云过期竞拍...
数据库分布式核心内容无非就是数据切分(Sharding)以及切分后对数据的定位、整...
场景描述 云计算让高性能计算(HPC)可以使用更高带宽和更高计算能力的应用程序...
近几年,大数据已从初期的尝试阶段向数据改变商业规则的阶段迈进,数据对企业的...
操作场景 当您需要对指定保护组下的所有资源停止保护时,可参考本章节执行停止保...
我们一般写应用都需要有后台管理系统,那么uni-app也不例外。 本次内容假设我们...
现在的 服务器租用 、 vps主机租用 越来越便宜了,不少新手站长也能用得起 服务...
经典网络和专有网络互通可以通过建立ClassicLink连接实现网络互通,也可以将经典...
最新内容请参见 阿里云产品如何退订 ,感谢您的支持。...