弹性伸缩自定义权限策略参考

如果系统权限策略不能满足您的要求,您可以创建自定义权限策略实现最小授权。使用自定义权限策略有助于实现权限的精细化管控,是提升资源访问安全的有效手段。本文介绍弹性伸缩的自定义权限策略的概念和授权信息。

什么是自定义权限策略

在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。

  • 创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。

  • 已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。

  • 自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。

操作文档

常见自定义权限策略场景及示例

示例1:不允许创建不带标签的伸缩组

例如,仅当创建时为伸缩组1绑定environment:testteam:game1标签后,伸缩组1才可以创建成功。

{
    "Effect": "Allow",
    "Action": "ess:Create*",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "acs:RequestTag/environment": "test",
            "acs:RequestTag/team": "game1"
        }
    }
}

示例2:只允许操作绑定特定标签的伸缩组

例如,伸缩组1绑定了environment:testteam:game1标签,而伸缩组2绑定environment:devteam:game2标签,则以下自定义策略只允许操作伸缩组1。

{
    "Version": "1",
    "Statement": [
        {
            "Action": "ess:*",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/environment": "test",
                    "acs:ResourceTag/Team": "game1"
                }
            }
        },
        {
            "Action": "ess:*",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "acs:ResourceTag/environment": "dev",
                    "acs:ResourceTag/team": "game2"
                }
            }
        },      
        {
           "Effect": "Allow",
           "Action": [
                   "ess:DescribeRegions",
                   "ess:CreateScheduledTask",
                   "ess:ModifyScheduledTask",
                   "ess:DescribeScheduledTasks",
                   "ess:DeleteScheduledTask",
                   "ess:CreateAlarm",
                   "ess:DescribeAlarms",
                   "ess:ModifyAlarm",
                   "ess:EnableAlarm",
                   "ess:DeleteAlarm"
                ],
    "Resource": "*"
      }
   ]
}

示例3:仅允许在特定地域下创建和操作伸缩组

例如,以下自定义权限策略仅允许您在华东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": "*"                       
        }
    ]
}

授权信息参考

使用自定义权限策略,您需要了解业务的权限管控需求,并了解弹性伸缩的授权信息。更多信息,请参见授权信息