文档

消息服务自定义权限策略参考

更新时间:

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

什么是自定义权限策略

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

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

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

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

操作文档

自定义策略

您需要创建的自定义权限策略如下表所示。

权限策略名称

说明

策略内容

RamListRolesPolicy

RAM的ListRoles权限。

{
    "Version":"1",
    "Statement":[
        {
            "Effect":"Allow",
            "Action":"ram:ListRoles",
            "Resource":"acs:ram:*:*:*"
        }
    ]
}

MNSAccessAccountAttr

MNS查看和设置账号属性的权限。

{
    "Version":"1",
    "Statement":[
        {
            "Effect":"Allow",
            "Action":[
                "mns:SetAccountAttributes",
                "mns:GetAccountAttributes"
            ],
            "Resource":"acs:mns:*:*:*"
        }
    ]
}

LogServiceListPolicy

LogService的ListProject和ListLogStore权限。

{
    "Version":"1",
    "Statement":[
        {
            "Effect":"Allow",
            "Action":"log:List*",
            "Resource":"acs:log:*:*:*"
        }
    ]
}

OSSListBuckets

OSS的ListBuckets权限。

{
    "Version":"1",
    "Statement":[
        {
            "Effect":"Allow",
            "Action":"oss:ListBuckets",
            "Resource":"acs:oss:*:*:*"
        }
    ]
}

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

  • 示例一:在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"]
                    }
                }
            }
        ]
    }            
  • 示例二:在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会通知没有权限。

  • 示例三:授予RAM用户队列、主题的可读权限

    授予查看队列、主题、队列属性和主题属性的权限,请按以下示例设置。

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

  • 本页导读