自定义权限策略参考

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

什么是自定义权限策略

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

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

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

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

操作文档

控制台自定义授权策略

当您使用控制台页面或者OpenAPI访问轻量消息队列(原 MNS)资源时,支持以下自定义权限策略。

队列管理

API

说明

操作(Action)

资源(Resource)

ListQueue

获取队列列表

mns:ListQueue

acs:mns:${regionId}:${accountId}:/queues

CreateQueue

创建队列

mns:CreateQueue

acs:mns:${regionId}:${accountId}:/queues/${queueName}

DeleteQueue

删除队列

mns:DeleteQueue

GetQueueAttributes

获取队列属性

mns:GetQueueAttributes

SetQueueAttributes

设置队列属性

mns:SetQueueAttributes

主题管理

API

说明

操作(Action)

资源(Resource)

ListTopic

获取主题列表

mns:ListTopic

acs:mns:${regionId}:${accountId}:/topics

CreateTopic

创建主题

mns:CreateTopic

acs:mns:${regionId}:${accountId}:/topics/${topicName}

DeleteTopic

删除主题

mns:DeleteTopic

GetTopicAttributes

获取主题属性

mns:GetTopicAttributes

SetTopicAttributes

设置主题属性

mns:SetTopicAttributes

订阅管理

API

说明

操作(Action)

资源(Resource)

ListSubscriptionByTopic

获取订阅列表,若传入Topic名称,则基于主题进行过滤

mns:ListSubscriptionByTopic

acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions

GetSubscriptionAttributes

获取订阅属性

mns:GetSubscriptionAttributes

acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName}

SetSubscriptionAttributes

设置订阅属性

mns:SetSubscriptionAttributes

Subscribe

绑定订阅者到主题上

mns:Subscribe

Unsubscribe

从主题上解绑订阅者

mns:Unsubscribe

常见策略场景及示例

客户端自定义授权策略

当您使用客户端SDK进行消息收发时,轻量消息队列(原 MNS)支持以下自定义权限策略。

队列消息收发

API

说明

操作(Action)

资源(Resource)

SendMessage

发送消息

mns:SendMessage

acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages

BatchSendMessage

批量发送消息

mns:SendMessage

ReceiveMessage

消费消息

mns:ReceiveMessage

BatchReceiveMessage

批量消费消息

mns:ReceiveMessage

DeleteMessage

删除消息

mns:DeleteMessage

BatchDeleteMessage

批量删除消息

mns:DeleteMessage

PeekMessage

查看消息

mns:PeekMessage

BatchPeekMessage

批量查看消息

mns:PeekMessage

ChangeMessageVisibility

修改消息的下次可消费时间

mns:ChangeMessageVisibility

主题消息收发

API

说明

操作(Action)

资源(Resource)

PublishMessage

从主题发布消息

mns:PublishMessage

acs:mns:${regionId}:${accountId}:/topics/${topicName}/messages

常见策略场景及示例