在协同使用资源的场景下,根据实际的职责权限,您可以为RAM用户授予不同的权限实现分权管理,从而提高管理效率,降低信息泄露风险。本文为您介绍如何通过资源鉴权控制RAM用户的权限,使RAM用户可以对不同弹性伸缩资源有不同的访问和操作权限。
背景信息
示例场景说明
本文以下列场景作为示例,说明如何实现资源鉴权。
场景描述 | 权限说明 |
例如:
| 只允许操作伸缩组1的部分资源,不允许操作伸缩组2的任何资源。 |
只允许创建某个地域(例如杭州地域)的伸缩组,不允许创建其他地域(例如北京地域)的伸缩组。 |
不支持资源鉴权的API接口说明
为某RAM用户授予资源鉴权的权限策略后,该RAM用户调用下列API接口时不支持使用资源鉴权管理弹性伸缩。
接口 | 不支持资源鉴权 |
DescribeRegions | 是 |
定时任务未绑定伸缩组时:
| 是 |
报警任务未绑定伸缩组时:
| 是 |
操作步骤
操作前,请确保已创建RAM用户。若未创建请您先创建RAM用户,具体操作,请参见创建RAM用户。
场景1:先创建伸缩组,再设置资源级别的鉴权策略
创建2个伸缩组。
具体操作,请参见配置伸缩组。
伸缩组1:例如,伸缩组名称为asg-001,且伸缩组ID为asg-bp17np35ywjwh2cx****。
伸缩组2:例如,伸缩组名称为asg-002,且伸缩组ID为asg-bp1c5pl2qc6ozgbl****。
登录RAM控制台。
创建自定义权限策略。
具体操作,请参见创建自定义权限策略。
本步骤中的自定义权限策略可实现允许您在弹性伸缩控制台或者调用API对该伸缩组asg-001进行查看、修改和删除等操作,而不能对asg-002进行相应操作。
自定义权限策略示例如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:scalinggroup/asg-bp17np35ywjwh2cx****" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992***8:scalinggroup/asg-bp1c5pl2qc6ozgbl****" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] }
将自定义权限策略授权给您希望控制访问的RAM用户。
具体操作,请参见为RAM用户授权。
在弹性伸缩控制台或者调用API对asg-001和asg-002进行查看、修改和删除操作。
您可以对伸缩组asg-001进行正常的查看、修改和删除等操作,而无法对asg-002进行相关操作,错误提示页面如下图所示,表示资源鉴权已生效。
场景2:先设置资源级别的鉴权策略,再创建伸缩组
登录RAM控制台。
创建自定义权限策略。
具体操作,请参见创建自定义权限策略。
本步骤中的自定义权限策略可实现在华东1(杭州)地域,您可以在弹性伸缩控制台或者调用API在该地域下创建伸缩组。而在华北2(北京)地域无法进行相应操作。
自定义权限策略示例如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:*" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-beijing:160998252992****:*" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] }
将自定义策略授权给您希望控制访问的RAM用户。
具体操作,请参见为RAM用户授权。
通过弹性伸缩控制台或者调用API创建伸缩组。
您可以在华东1(杭州)地域下创建伸缩组,而在华北2(北京)地域无法创建伸缩组,错误提示页面如下图所示,表示资源鉴权已生效。
相关文档
通过API方式为RAM用户授权,更多信息,请参见AttachPolicyToUser - 为指定用户添加权限。
通过API方式创建一个自定义权限策略,更多信息,请参见CreatePolicy - 创建一个权限策略。
通过API方式创建一个或多个伸缩组,更多信息,请参见CreateScalingGroup。
如果您需要通过标签鉴权的方式管理弹性伸缩,具体操作,请参见通过标签鉴权精细化管理弹性伸缩。
如果您需要通过创建多个资源组,对云资源进行分组管理,具体操作,请参见通过资源组精细化管理伸缩组。