Tous les produits
Search
Centre de documentation

ApsaraMQ for MQTT:RAM policies for ApsaraMQ for MQTT

Dernière mise à jour :Aug 11, 2026

Resource Access Management (RAM) vous permet de contrôler l'accès à vos ressources ApsaraMQ for MQTT sans partager la paire de clés AccessKey de votre compte Alibaba Cloud avec d'autres utilisateurs. Une paire AccessKey se compose d'un AccessKey ID et d'un AccessKey secret. Vous pouvez créer des utilisateurs RAM et accorder à chacun uniquement les permissions dont il a besoin.

Fonctionnement du contrôle d'accès

ApsaraMQ for MQTT autorise l'accès via des stratégies RAM. Chaque stratégie spécifie les actions qu'un utilisateur RAM peut effectuer sur quelles ressources. Il existe quatre types de ressources :

Type de ressource Description Format de nommage Exemple
Instance Une instance de broker MQTT acs:mq:*:*:instance/{mqttInstanceId} acs:mq:*:*:instance/post-cn-09k1noy****
Topic Un topic de message au sein d'une instance acs:mq:*:*:topic/{mqttInstanceId}/{topic} acs:mq:*:*:topic/post-cn-09k1noy**<b data-pending="uicontrol" id="pending_017209d0">/Topic_</b>**
Group Un groupe de clients au sein d'une instance acs:mq:*:*:groupId/{mqttInstanceId}/{gid} acs:mq:*:*:groupId/post-cn-09k1noy**<b data-pending="uicontrol" id="pending_7dfa6d2e">/GID_</b>**
Rule Une règle de routage des données au sein d'une instance acs:mq:*:*:rule/{mqttInstanceId}/{ruleId} acs:mq:*:*:rule/post-cn-09k1noy**<b data-pending="uicontrol" id="pending_34ea50ef">/111</b>**

Deux types de stratégies sont disponibles :

  • Stratégies système -- Prédéfinies par Alibaba Cloud. Prêtes à l'emploi, mais non modifiables.

  • Stratégies personnalisées -- Définies et maintenues par vos soins. Vous gérez les versions de la stratégie. Elles offrent un contrôle d'accès granulaire au niveau des ressources.

Pour plus de détails sur la syntaxe des stratégies, consultez Structure et syntaxe des stratégies. Pour le format de l'élément resource, voir Resource.

Prérequis pour l'accès aux instances

Avant d'accorder des permissions sur un topic, un group ou une rule, vous devez d'abord accorder l'action mq:MqttInstanceAccess sur l'instance parente. Sans accès au niveau de l'instance, l'utilisateur RAM ne peut pas atteindre les ressources contenues dans cette instance.

Ce prérequis s'applique à toutes les catégories de permissions : opérations de console, appels API et publication/abonnement client.

Référence rapide des autorisations

Utilisez cette référence rapide pour identifier les permissions à accorder avant de consulter les détails complets des stratégies ci-dessous.

Stratégies système (sélection rapide)

Pour la plupart des cas d'utilisation, attachez l'une des stratégies système prédéfinies suivantes à un utilisateur Resource Access Management (RAM). Aucune configuration n'est requise : il suffit d'attacher la stratégie pour l'utiliser.

Stratégie Type d'accès
AliyunMQFullAccess Accès complet en gestion
AliyunMQPubOnlyAccess Accès SDK en publication uniquement
AliyunMQSubOnlyAccess Accès SDK en abonnement uniquement
AliyunMQReadOnlyAccess Accès en lecture seule (console et API)
Remarque

Ces stratégies système s'appliquent également à ApsaraMQ for RocketMQ. L'attachement de l'une de ces stratégies accorde l'accès à la fois à ApsaraMQ for MQTT et à ApsaraMQ for RocketMQ.

Permissions supplémentaires pour la console

Les stratégies système n'incluent pas toutes les permissions nécessaires pour accéder à chaque section de la console ApsaraMQ for MQTT. Accordez les permissions suivantes séparément si nécessaire :

Permission Requise pour
mq:MqttMetaData Accéder à la page Overview de la console ApsaraMQ for MQTT
mq:ListMqttInstance Afficher la liste des instances dans la console

Autorisation exclusive à MQTT

Les stratégies système énumérées ci-dessus couvrent également ApsaraMQ for RocketMQ. Pour accorder un accès exclusif aux ressources ApsaraMQ for MQTT, utilisez plutôt une stratégie personnalisée. Une stratégie personnalisée pour un accès MQTT uniquement inclut généralement :

  • mq:MqttInstanceAccess sur l'instance cible (requis avant d'accorder toute permission au niveau des ressources)

  • mq:PUB ou mq:SUB limité à des topics ou des groups spécifiques, selon les besoins

Stratégies système

ApsaraMQ for MQTT fournit quatre stratégies système par défaut.

Stratégie Description
AliyunMQFullAccess Accès complet en gestion à toutes les opérations ApsaraMQ for MQTT dans la console, équivalent à un compte Alibaba Cloud.
AliyunMQPubOnlyAccess Accès en publication uniquement. Permet de publier des messages via des SDK vers toutes les ressources du compte Alibaba Cloud.
AliyunMQSubOnlyAccess Accès en abonnement uniquement. Permet de s'abonner aux messages via des SDK depuis toutes les ressources du compte Alibaba Cloud.
AliyunMQReadOnlyAccess Accès en lecture seule. Permet d'afficher les informations sur les ressources dans la console ou via des appels API.
Important

ApsaraMQ for MQTT ne dispose pas de ses propres stratégies système indépendantes. Ces stratégies sont partagées avec ApsaraMQ for RocketMQ : l'attachement de l'une de ces stratégies à un utilisateur RAM accorde l'accès aux deux services.

AliyunMQFullAccess et AliyunMQReadOnlyAccess n'incluent pas les permissions permettant d'afficher la liste des instances dans la console. Accordez mq:MqttInstanceAccess séparément pour activer l'accès à la liste des instances. Consultez Actions de gestion des instances .

Actions des stratégies personnalisées

Les stratégies personnalisées vous permettent de spécifier exactement les actions qu'un utilisateur RAM peut effectuer sur des ressources spécifiques. Les sections suivantes répertorient toutes les actions disponibles, regroupées par portée.

Pour des exemples de stratégies personnalisées, consultez Exemples de stratégies d'autorisation.

Actions de publication et d'abonnement client

Ces actions contrôlent la publication et l'abonnement aux messages via les SDK ApsaraMQ for MQTT.

Formats de nommage des ressources :

  • Topic : acs:mq:*:*:topic/{mqttInstanceId}/{topic}

  • Group ID : acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

Action Description
mq:PUB Publier des messages sur un topic
mq:SUB S'abonner aux messages d'un topic
Les permissions de publication et d'abonnement client ne peuvent pas être accordées entre différents comptes Alibaba Cloud.

Actions de gestion des instances

Format de nommage des ressources : acs:mq:*:*:instance/{mqttInstanceId}

Action Description
mq:MqttInstanceAccess Interroger les informations de base de l'instance. Requis avant d'accorder toute permission sur les topics, groups ou rules.
mq:ListMqttInstance Répertorier toutes les instances
mq:UpdateMqttInstance Modifier les informations de l'instance
mq:DeleteMqttInstance Supprimer une instance
mq:UpdateMqttInstanceWarn Mettre à jour les paramètres d'alerte pour une instance
mq:MqttMetaData Accéder à la page Overview et à la page d'accueil de la console ApsaraMQ for MQTT
Après avoir accordé mq:MqttMetaData , accordez également mq:ListMqttInstance afin que l'utilisateur RAM puisse afficher la liste des instances dans la console.

Actions de gestion des topics

Format de nommage des ressources : acs:mq:*:*:topic/{mqttInstanceId}/{topic}

Action Description
mq:CreateMqttTopic Créer un topic
mq:DeleteMqttTopic Supprimer un topic
mq:ListMqttTopic Répertorier les topics
mq:UpdateMqttTopic Mettre à jour la description d'un topic
mq:QueryMqttClientByTopic Interroger les clients abonnés à un topic
mq:QueryMqttMsgTransTrend Interroger les statistiques de messagerie pour un topic
mq:SendMqttMessageByConsole Envoyer un message de test depuis la console

Actions de gestion des groups

Format de nommage des ressources : acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

Action Description
mq:CreateMqttGroupId Créer un group
mq:DeleteMqttGroupId Supprimer un group
mq:ListMqttGroupId Répertorier les groups
mq:QueryMqttClientByClientId Interroger les informations client par ID client
mq:QueryMqttClientByGroupId Interroger les informations client par ID de group
mq:QueryMqttHistoryOnline Interroger les connexions en ligne historiques par ID de group
mq:QueryMqttTraceDevice Tracer un client spécifique
mq:QueryMqttDeviceTrace Interroger les détails d'un client spécifique

Actions de gestion des rules

Format de nommage des ressources : acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}

Lorsque vous accordez des permissions sur les rules, assurez-vous que les instances, topics et groups associés appartiennent tous au même compte Alibaba Cloud.

Action Description
mq:CreateMqttInboundRule Créer une règle de données entrante
mq:DeleteMqttInboundRule Supprimer une règle de données entrante
mq:ListMqttInboundRule Répertorier les règles de données entrantes
mq:UpdateMqttInboundRule Mettre à jour une règle de données entrante
mq:CreateMqttOutboundRule Créer une règle de données sortante
mq:DeleteMqttOutboundRule Supprimer une règle de données sortante
mq:ListMqttOutboundRule Répertorier les règles de données sortantes
mq:UpdateMqttOutboundRule Mettre à jour une règle de données sortante
mq:CreateClientStatusNotifyRule Créer une règle de notification d'état client
mq:DeleteClientStatusNotifyRule Supprimer une règle de notification d'état client
mq:ListClientStatusNotifyRule Répertorier les règles de notification d'état client
mq:UpdateClientStatusNotifyRule Mettre à jour une règle de notification d'état client

Permissions des opérations API

Chaque opération API nécessite mq:MqttInstanceAccess ainsi qu'une ou plusieurs actions supplémentaires. Pour les API liées aux rules, assurez-vous que les instances, topics et groups associés appartiennent tous au même compte Alibaba Cloud.

Gestion des tokens

API Format de nommage des ressources Actions requises
ApplyToken Instance : acs:mq:*:*:instance/{mqttInstanceId}, Topic : acs:mq:*:*:topic/{mqttInstanceId}/{topic} mq:MqttInstanceAccess, mq:ApplyToken
RevokeToken acs:mq:*:*:* mq:MqttInstanceAccess, mq:RevokeToken
QueryToken acs:mq:*:*:* mq:MqttInstanceAccess, mq:QueryToken

Opérations sur les messages

API Actions requises
SendMessage mq:MqttInstanceAccess, mq:SendMessage

Opérations sur les groups

Toutes les opérations API relatives aux groups utilisent les formats de nommage de ressources suivants :

  • Instance : acs:mq:*:*:instance/{mqttInstanceId}

  • Group : acs:mq:*:*:groupId/{mqttInstanceId}/{gid}

API Actions requises
CreateGroupId mq:MqttInstanceAccess, mq:CreateMqttGroupId
DeleteGroupId mq:MqttInstanceAccess, mq:DeleteMqttGroupId
ListGroupId mq:MqttInstanceAccess, mq:ListMqttGroupId
QuerySessionByClientId mq:MqttInstanceAccess, mq:QuerySessionByClientId
BatchQuerySessionByClientIds mq:MqttInstanceAccess, mq:BatchQuerySessionByClientIds

Opérations sur les identifiants de périphérique

API Actions requises
RegisterDeviceCredential mq:MqttInstanceAccess, mq:RegisterDeviceCredential
GetDeviceCredential mq:MqttInstanceAccess, mq:GetDeviceCredential
ListDeviceCredentialClientId mq:MqttInstanceAccess, mq:ListDeviceCredentialClientId
UnRegisterDeviceCredential mq:MqttInstanceAccess, mq:UnRegisterDeviceCredential
RefreshDeviceCredential mq:MqttInstanceAccess, mq:RefreshDeviceCredential

Opérations de trace des messages

API Format de nommage des ressources Actions requises
QueryMqttTraceDevice -- mq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessageOfClient -- mq:MqttInstanceAccess, mq:QueryMqttDeviceTrace
QueryMqttTraceMessagePublish Instance : acs:mq:*:*:instance/{mqttInstanceId} mq:MqttInstanceAccess, mq:QueryMqttPubTrace
QueryMqttTraceMessageSubscribe -- mq:MqttInstanceAccess, mq:QueryMqttSubTrace

Opérations d'authentification personnalisée

API Actions requises
AddCustomAuthIdentity mq:MqttInstanceAccess, mq:AddCustomAuthIdentity
QueryCustomAuthIdentity mq:MqttInstanceAccess, mq:QueryCustomAuthIdentity
UpdateCustomAuthIdentity mq:MqttInstanceAccess, mq:UpdateCustomAuthIdentity
DeleteCustomAuthIdentity mq:MqttInstanceAccess, mq:DeleteCustomAuthIdentity
AddCustomAuthPermission mq:MqttInstanceAccess, mq:AddCustomAuthPermission
QueryCustomAuthPermission mq:MqttInstanceAccess, mq:QueryCustomAuthPermission
UpdateCustomAuthPermission mq:MqttInstanceAccess, mq:UpdateCustomAuthPermission
DeleteCustomAuthPermission mq:MqttInstanceAccess, mq:DeleteCustomAuthPermission
AddCustomAuthConnectBlack mq:MqttInstanceAccess, mq:DeleteCustomAuthConnectBlack
QueryCustomAuthConnectBlack mq:MqttInstanceAccess, mq:QueryCustomAuthConnectBlack
DeleteCustomAuthConnectBlack mq:MqttInstanceAccess, mq:AddCustomAuthConnectBlack

Opérations sur les topics

Toutes les opérations API relatives aux topics utilisent les formats de nommage de ressources suivants :

  • Instance : acs:mq:*:*:instance/{mqttInstanceId}

  • Topic : acs:mq:*:*:topic/{mqttInstanceId}/{topic}

API Actions requises
CreateTopic mq:MqttInstanceAccess, mq:CreateMqttTopic
ListTopics mq:MqttInstanceAccess, mq:SUB, mq:ListMqttTopic
DeleteTopic mq:MqttInstanceAccess, mq:PUB, mq:DeleteMqttTopic
UpdateTopic mq:MqttInstanceAccess, mq:UpdateMqttTopic

Opérations sur les rules

Toutes les opérations API relatives aux rules utilisent les formats de nommage de ressources suivants :

  • Instance : acs:mq:*:*:instance/{mqttInstanceId}

  • Rule : acs:mq:*:*:rule/{mqttInstanceId}/{ruleId}

API Actions requises
CreateMqttInboundRule mq:MqttInstanceAccess, mq:CreateMqttInboundRule
ListMqttInboundRuleInPages mq:MqttInstanceAccess, mq:ListMqttInboundRule
UpdateMqttInboundRule mq:MqttInstanceAccess, mq:UpdateMqttInboundRule
DeleteMqttInboundRule mq:MqttInstanceAccess, mq:DeleteMqttInboundRule
CreateMqttOutboundRule mq:MqttInstanceAccess, mq:CreateMqttOutboundRule
ListMqttOutboundRuleInPages mq:MqttInstanceAccess, mq:ListMqttOutboundRule
UpdateMqttOutboundRule mq:MqttInstanceAccess, mq:UpdateMqttOutboundRule
DeleteMqttOutboundRule mq:MqttInstanceAccess, mq:DeleteMqttOutboundRule
CreateClientStatusNotifyRule mq:MqttInstanceAccess, mq:CreateClientStatusNotifyRule
ListClientStatusNotifyRuleInPages mq:MqttInstanceAccess, mq:ListClientStatusNotifyRule
UpdateClientStatusNotifyRule mq:MqttInstanceAccess, mq:UpdateClientStatusNotifyRule
DeleteClientStatusNotifyRule mq:MqttInstanceAccess, mq:DeleteClientStatusNotifyRule

Opérations de reprise après sinistre

API Actions requises
DisasterDowngrade mq:MqttInstanceAccess, mq:DisasterDowngrade
DisasterRecovery mq:MqttInstanceAccess, mq:DisasterRecovery

Pour la référence API complète, consultez Liste des opérations par fonction.

Voir aussi