洛小蒙
2019-12-11
797浏览量
如何创建访问控制 (RAM) 策略来授予子账号(sub User)在指定的标签(TAG)下 创建和管理 ECS 中 资源(支持标签的资源)的权限? 该策略必须限制在标签(TAG)级别权限,以便 RAM 子账号可以创建包含特定标签的 ECS 资源,并管理带有标签ECS资源。
使用指定标签(TAG)为子账号(RAM User)限定访问ECS资源的边界,这里指支持标签的ECS资源:实例/磁盘/网卡/安全组/快照/镜像。
控制对ECS资源,比如ECS实例创建必须带某个标签TAG,否则不可以创建,具体操作如下所示
在 访问控制台 或者 或者使用 RAM API CreatePolicy 创建策略
策略如下:
{
"Statement": [
{
"Effect": "Allow",
"Action": "ecs:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ecs:tag/owner": "zhangsan"
}
}
},
{
"Effect": "Allow",
"Action": "ecs:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"vpc:tag/owner": "zhangsan"
}
}
},
{
"Action": [
"ecs:DescribeTagKeys",
"ecs:ListTagResources",
"ecs:DescribeTags",
"ecs:DescribeKeyPairs",
"ecs:DescribeImages",
"ecs:DescribeSecurityGroups",
"ecs:DescribeLaunchTemplates",
"ecs:DescribeDedicatedHosts",
"ecs:DescribeDedicatedHostTypes",
"ecs:ecs:DescribeAutoSnapshotPolicyEx",
"vpc:DescribeVpcs",
"vpc:DescribeVSwitches",
"bss:PayOrder"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ecs:RemoveTags",
"ecs:UntagResources",
"ecs:AddTags",
"ecs:TagResources"
],
"Resource": "*"
}
],
"Version": "1"
}
将已创建的 RAM 策略附加到您希望控制访问的用户或组。您可以使用 RAM 管理控制台、阿里云 CLI、阿里云 API AttachPolicyToUser AttachPolicyToGroup来添加 RAM 策略。
本文没有给VPC创建的权限。使用有VPC创建权限的账号,进入VPC控制台创建VPC
使用APITagResources
给创建出来的VPC/VSwitch都打上强制标签(key=owner value=zhangsan),当然其他标签(key=env, value=test)也可以同时加上,基于本文的RAM策略不影响访问权限。
在 ECS(云服务器)控制台 点击 网络与安全 - 点击 安全组 在安全组列表页面点击 创建安全组 填入对应的参数。
注意此处VPC资源必须是带有特定标签的VPC实例(key=owner value=zhangsan)否则也会没有权限。
如果创建安全组不带特定标签(key=owner value= zhangsan)时,点击创建。
创建失败
如果创建安全组带特定标签(key=owner value= zhangsan)时,点击创建。
创建成功,弹出提醒框
点击查看安全组列表,没有看到创建出来的安全组
在标签指定特定的标签(key=owner value=zhangsan)
也可以点击全局标签设置
出现没有权限报错:我们对于VPC停机不收费查询没有在权限里所以报错,本文跟此配置无关,直接点击确定。
设置特定的标签(key=owner value=zhangsan)点击确认
确认后特定标签在控制台全局范围生效。
在不选择该特定标签过滤的情况下也可以在控制台看到安全组资源。
不带上特定的标签(key=owner value=zhangsan )点击创建。
创建
带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建。
创建成功
设置全局变量后,可以直接查询磁盘列表
在 ECS(云服务器)控制台 点击 实例与镜像 - 点击 实例 在实例列表页面点击 创建实例 填入对应的参数。
注意此处VPC资源(VPC和VSwitch)以及ECS安全组必须是带有特定标签(key=owner value=zhangsan)否则也会因为没有权限创建失败。
选择相关参数,带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建。
创建成功,跳转到支付页面
支付完成后,开始创建资源
已设置全局标签后,查看实例列表
实例相关磁盘
实例相关网卡也可以支持查看。
如果不带上特定的标签(key=owner value=zhangsan 如下图红框位置)点击创建,创建失败。
带上特定的标签(key=owner value=zhangsan )点击创建。
创建成功,设置全局标签后,查看快照列表。
不带上特定的标签(key=owner value=zhangsan )点击创建。
创建失败
带上特定的标签(key=owner value=zhangsan )点击创建。
创建成功。设置全局标签后,查询镜像列表。
不带上特定的标签(key=owner value=zhangsan )点击创建。
创建失败
注意此处VPC资源(VPC和VSwitch)以及ECS安全组必须是带有特定标签(key=owner value=zhangsan)否则也会因为没有权限创建失败。
带上特定的标签(key=owner value=zhangsan )点击创建。
创建成功,设置完全局标签后,查询网卡列表
不带上特定的标签(key=owner value=zhangsan )点击创建。
创建失败。
阿里云ECS资源已存在,可以基于ECS控制台-标签 选择标签编辑器或者基于OOS(运维编排)快速给存量的资源打上指定的标签。后续我也会有相关的如果在事后做到强制标签。
ECS支持跨地域跨资源类型的标签(TAG)操作
如何检查您的资源是否具有您指定的标签?
基于标签批量管理资源
支持标签产品及其文档
标签的最佳实践
通过OOS基于标签批量启动ECS实例实践
如何使用标签控制对ECS 资源的访问?
使用标签检索资源
创建资源标签分组设置
ECS全局标签实践
ECS控制台云资源分组管理---全局标签
标记您的MongoDB数据库实例
标记您的 CDN 资源——域名(domain)
标记您的 OSS 资源
标记您的 RDS 资源
标记您的 SLB 资源
标记您的 ECS 资源
标记您的redis数据库实例
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。