All Products
Search
Document Center

Simple Message Queue (formerly MNS):Custom policies for SMQ

Last Updated:Mar 11, 2026

Custom policies grant fine-grained access to Simple Message Queue (formerly MNS) resources. Each policy specifies which actions a RAM identity can perform on which resources, and supports the principle of least privilege.

How custom policies work

Resource Access Management (RAM) supports two types of policies: system policies and custom policies. System policies are predefined by Alibaba Cloud. Custom policies are JSON documents that you create and maintain.

To use a custom policy, attach it to a RAM user, user group, or RAM role. The policy takes effect only after attachment. To delete a custom policy, first detach it from all principals. RAM also provides version management for custom policies, so you can track and roll back changes.

Resource management actions

These actions control resource lifecycle operations available in the SMQ console and through the SMQ API.

Queue management

ActionAPI operationAccess levelResource
mns:ListQueueListQueueListacs:mns:${regionId}:${accountId}:/queues
mns:CreateQueueCreateQueueWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}
mns:DeleteQueueDeleteQueueWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}
mns:GetQueueAttributesGetQueueAttributesReadacs:mns:${regionId}:${accountId}:/queues/${queueName}
mns:SetQueueAttributesSetQueueAttributesWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}

Topic management

ActionAPI operationAccess levelResource
mns:ListTopicListTopicListacs:mns:${regionId}:${accountId}:/topics
mns:CreateTopicCreateTopicWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}
mns:DeleteTopicDeleteTopicWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}
mns:GetTopicAttributesGetTopicAttributesReadacs:mns:${regionId}:${accountId}:/topics/${topicName}
mns:SetTopicAttributesSetTopicAttributesWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}

Subscription management

ActionAPI operationAccess levelResource
mns:ListSubscriptionByTopicListSubscriptionByTopicListacs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions
mns:SubscribeSubscribeWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName}
mns:UnsubscribeUnsubscribeWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName}
mns:GetSubscriptionAttributesGetSubscriptionAttributesReadacs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName}
mns:SetSubscriptionAttributesSetSubscriptionAttributesWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName}

Message operations

These actions control sending and receiving messages through client SDKs. For a complete list, see List of operations by function.

Queue messaging

ActionAPI operationAccess levelResource
mns:SendMessageSendMessage, BatchSendMessageWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}/messages
mns:ReceiveMessageReceiveMessage, BatchReceiveMessageReadacs:mns:${regionId}:${accountId}:/queues/${queueName}/messages
mns:DeleteMessageDeleteMessage, BatchDeleteMessageWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}/messages
mns:PeekMessagePeekMessage, BatchPeekMessageReadacs:mns:${regionId}:${accountId}:/queues/${queueName}/messages
mns:ChangeMessageVisibilityChangeMessageVisibilityWriteacs:mns:${regionId}:${accountId}:/queues/${queueName}/messages
Batch operations share the same action as their single-message counterparts. For example, both SendMessage and BatchSendMessage require the mns:SendMessage action.

Topic messaging

ActionAPI operationAccess levelResource
mns:PublishMessagePublishMessageWriteacs:mns:${regionId}:${accountId}:/topics/${topicName}/messages

Policy examples

Console access

Queue-scoped access

Topic-scoped access

References