本文介绍如何使用带IP限制的访问控制。

示例1:在Allow授权中增加IP限制

允许通过42.120.88.0/2442.120.66.0/24两个IP段访问MNS。
{
    "Version": "1",
    "Statement": [
        {
            "Action": "mns:*",
            "Effect": "Allow",
            "Resource": "acs:mns:*:*:*",
            "Condition":{
                "IpAddress": {
                    "acs:SourceIp": ["42.120.88.0/24", "42.120.66.0/24"]
                }
            }
        }
    ]
}            

示例2:在Deny授权中增加IP限制

如果源IP不在42.120.88.0/24中则禁止对MNS执行任何操作。

{
    "Version": "1",
    "Statement": [
        {
            "Action": "mns:*",
            "Effect": "Deny",
            "Resource": "acs:mns:*:*:*",
            "Condition":{
                "NotIpAddress": {
                    "acs:SourceIp": ["42.120.88.0/24"]
                }
            }
        }
    ]
}            
注意 因为Policy的鉴权规则是Deny优先(即如果用户的访问操作命中任意一条Deny规则,则禁止访问),所以访问者从42.120.88.0/24以外的IP地址访问时,消息服务MNS会通知没有权限。

示例3:授予MNS控制台可读权限

仅允许子账号拥有查看队列、主题、队列属性和主题属性的权限。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mns:ListQueue",
        "mns:ListTopic",
        "mns:GetQueueAttributes",
        "mns:GetTopicAttributes"
      ],
      "Resource": "acs:mns:*:*:*"
    }
  ]
}