Simple Message Queue (formerly MNS) utilise Alibaba Cloud Resource Access Management (RAM) pour gérer les autorisations. Avec RAM, inutile de partager la paire AccessKey de votre compte Alibaba Cloud avec d'autres utilisateurs : accordez-leur uniquement les autorisations minimales requises. Une paire AccessKey comprend un AccessKey ID et un AccessKey secret. Cette rubrique décrit les politiques RAM et fournit des exemples pour Simple Message Queue (formerly MNS).
Contexte
Dans RAM, une politique définit un ensemble d'autorisations via une syntaxe et une structure spécifiques. Elle décrit précisément l'ensemble des ressources, des actions et des conditions d'autorisation. Pour plus d'informations, consultez la rubrique Structure et syntaxe des politiques.
Simple Message Queue (formerly MNS) prend en charge les types de politiques RAM suivants :
-
Alibaba Cloud crée et gère les mises à jour des politiques système. Vous pouvez les utiliser, mais pas les modifier.
-
Créez, mettez à jour et supprimez des politiques personnalisées, et gérez leurs versions. Modifiez ces politiques et attachez-les aux utilisateurs RAM dans la console RAM.
Politiques système
Le tableau suivant présente les politiques d'autorisation par défaut fournies pour Simple Message Queue (formerly MNS).
|
Policy |
Description |
|
AliyunMNSFullAccess |
Autorise la gestion complète de Simple Message Queue (formerly MNS), avec des droits équivalents à ceux du compte Alibaba Cloud. Un utilisateur RAM auquel cette politique est attachée peut envoyer et s'abonner à tous les messages, et utiliser toutes les fonctionnalités de la console. |
|
AliyunMNSReadOnlyAccess |
Accorde des autorisations en lecture seule sur Simple Message Queue (formerly MNS). Un utilisateur RAM associé à cette politique peut uniquement consulter les informations sur les ressources via la console ou en appelant des opérations API. |
Politiques personnalisées
Définissez des politiques personnalisées pour accorder des autorisations fines. Le tableau ci-dessous répertorie les actions et les ressources utilisables lors de la définition de politiques personnalisées pour Simple Message Queue (formerly MNS).
|
API operation |
Action |
Resource |
|
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 or BatchSendMessage |
mns:SendMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
ReceiveMessage or BatchReceiveMessage |
mns:ReceiveMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
DeleteMessage |
mns:DeleteMessage |
acs:mns:$region:$accountid:/queues/$queueName/messages |
|
PeekMessage or 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 |
Exemples de politiques personnalisées
-
Exemple 1 : Autoriser l'accès depuis des plages CIDR spécifiques
L'exemple ci-dessous montre comment autoriser l'accès à Simple Message Queue (formerly MNS) depuis les plages CIDR 42.120.88.0/24 et 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"] } } } ] } -
Exemple 2 : Refuser l'accès depuis des plages CIDR spécifiques
L'exemple suivant illustre le refus d'accès à Simple Message Queue (formerly MNS) pour toute adresse IP appartenant au bloc 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" ] } } } ] }ImportantDans les politiques RAM, la règle Deny est prioritaire sur la règle Allow. Toute opération d'accès correspondant à une règle Deny échoue. Dans cet exemple, si vous tentez d'accéder à Simple Message Queue (formerly MNS) avec une adresse IP n'appartenant pas au bloc CIDR 42.120.88.0/24, un message d'erreur s'affiche, car vous n'êtes pas autorisé à accéder à MNS.
-
Exemple 3 : Autoriser un utilisateur RAM à afficher les topics et files d'attente MNS
L'exemple ci-après montre comment autoriser un utilisateur RAM à consulter les files d'attente ou topics MNS, ainsi que les paramètres de chaque file d'attente ou topic :
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "mns:ListQueue", "mns:ListTopic", "mns:GetQueueAttributes", "mns:GetTopicAttributes" ], "Resource":"acs:mns:*:*:*" } ] }