Simple Message Queue (formerly MNS) utiliza Alibaba Cloud Resource Access Management (RAM) para gestionar los permisos. Al usar RAM, no es necesario compartir el par de accesskey de su cuenta de Alibaba Cloud con otros usuarios; en su lugar, puede otorgarles únicamente los permisos mínimos obligatorios. Un par de accesskey incluye un AccessKey ID y un AccessKey secret. Este tema describe las políticas de RAM y proporciona ejemplos para Simple Message Queue (formerly MNS).
Contexto
En RAM, una política es un conjunto de permisos que se describen mediante la sintaxis y estructura de políticas. Una política puede describir con precisión el conjunto de recursos autorizados, el conjunto de acciones y las condiciones de autorización. Para obtener más información, consulte Policy structure and syntax.
Simple Message Queue (formerly MNS) admite los siguientes tipos de políticas de RAM:
-
Alibaba Cloud crea las políticas del sistema. Puede utilizar estas políticas, pero no puede modificarlas. Alibaba Cloud se encarga de mantener las actualizaciones de las políticas.
-
Puede crear, actualizar y eliminar políticas personalizadas, así como mantener las actualizaciones de versión de dichas políticas. Puede editar las políticas personalizadas y adjuntarlas a usuarios de RAM en la consola de RAM.
Políticas del sistema
La siguiente tabla describe las políticas de permisos predeterminadas que se proporcionan para Simple Message Queue (formerly MNS).
|
Política |
Descripción |
|
AliyunMNSFullAccess |
Permisos para gestionar Simple Message Queue (formerly MNS), equivalentes a los permisos que posee la cuenta de Alibaba Cloud. Un usuario de RAM al que se adjunte esta política puede enviar y suscribirse a todos los mensajes, además de utilizar todas las funciones de la consola. |
|
AliyunMNSReadOnlyAccess |
Permisos de solo lectura sobre Simple Message Queue (formerly MNS). Un usuario de RAM al que se adjunte esta política solo puede consultar la información de los recursos en la consola o mediante llamadas a operaciones de API. |
Políticas personalizadas
Puede definir políticas personalizadas para otorgar permisos detallados. La siguiente tabla describe las acciones y los recursos que se pueden utilizar para definir políticas personalizadas para Simple Message Queue (formerly MNS).
|
Operación de API |
Acción |
Recurso |
|
OpenService |
mns:OpenService |
acs:mns:$region:$accountid:/commonbuy/openservice |
|
ListQueue |
mns:ListQueue |
acs:mns:$region:$accountid:/queues |
|
CreateQueue |
mns:CreateQueue |
acs:mns:$region:$accountid:/queues/$queueName |
|
DeleteQueue |
mns:DeleteQueue |
acs:mns:$region:$accountid:/queues/$queueName |
|
SetQueueAttributes |
mns:SetQueueAttributes |
acs:mns:$region:$accountid:/queues/$queueName |
|
GetQueueAttributes |
mns:GetQueueAttributes |
acs:mns:$region:$accountid:/queues/$queueName |
|
SendMessage o BatchSendMessage |
mns:SendMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
ReceiveMessage o BatchReceiveMessage |
mns:ReceiveMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
DeleteMessage |
mns:DeleteMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
PeekMessage o BatchPeekMessage |
mns:PeekMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
ChangeMessageVisibility |
mns:ChangeMessageVisibility |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
ListTopic |
mns:ListTopic |
acs:mns:$region:$accountid:/topics |
|
CreateTopic |
mns:CreateTopic |
acs:mns:$region:$accountid:/topics/$topicName |
|
DeleteTopic |
mns:DeleteTopic |
acs:mns:$region:$accountid:/topics/$topicName |
|
SetTopicAttributes |
mns:SetTopicAttributes |
acs:mns:$region:$accountid:/topics/$topicName |
|
GetTopicAttributes |
mns:GetTopicAttributes |
acs:mns:$region:$accountid:/topics/$topicName |
|
ListSubscriptionByTopic |
mns:ListSubscriptionByTopic |
acs:mns:$region:$accountid:/topics/$topicName/subscriptions |
|
Subscribe |
mns:Subscribe |
acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
|
Unsubscribe |
mns:Unsubscribe |
acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
|
SetSubscriptionAttributes |
mns:SetSubscriptionAttributes |
acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
|
GetSubscriptionAttributes |
mns:GetSubscriptionAttributes |
acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
|
PublishMessage |
mns:PublishMessage |
acs:mns:$region:$accountid:/topics/$topicName/messages |
Ejemplos de políticas personalizadas
-
Ejemplo 1: Permitir el acceso desde bloques CIDR específicos
El siguiente ejemplo muestra cómo permitir el acceso a Simple Message Queue (formerly MNS) desde los bloques CIDR 42.120.88.0/24 y 42.120.66.0/24.
{ "Version": "1", "Statement": [ { "Action": "mns:*", "Effect": "Allow", "Resource": "acs:mns:*:*:*", "Condition":{ "IpAddress": { "acs:SourceIp": ["42.120.88.0/24", "42.120.66.0/24"] } } } ] } -
Ejemplo 2: Denegar el acceso desde bloques CIDR específicos
El siguiente ejemplo muestra cómo denegar el acceso a Simple Message Queue (formerly MNS) desde cualquier dirección IP en el bloque CIDR 42.120.88.0/24:
{ "Version":"1", "Statement":[ { "Action":"mns:*", "Effect":"Deny", "Resource":"acs:mns:*:*:*", "Condition":{ "NotIpAddress":{ "acs:SourceIp":[ "42.120.88.0/24" ] } } } ] }ImportanteLa regla Deny tiene mayor prioridad que la regla Allow en las políticas de RAM. Si realiza una operación de acceso especificada en la regla Deny, la operación fallará. En este ejemplo, si utiliza una dirección IP no incluida en el bloque CIDR 42.120.88.0/24 para acceder a Simple Message Queue (formerly MNS), se devolverá un mensaje de error. Esto se debe a que no tiene autorización para acceder a MNS.
-
Ejemplo 3: Autorizar a un usuario de RAM a consultar temas y colas de MNS
El siguiente ejemplo muestra cómo autorizar a un usuario de RAM para consultar las colas o temas de MNS, así como los parámetros de cada cola o tema:
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "mns:ListQueue", "mns:ListTopic", "mns:GetQueueAttributes", "mns:GetTopicAttributes" ], "Resource":"acs:mns:*:*:*" } ] }