Au lieu de partager la paire AccessKey de votre compte Alibaba Cloud, créez des utilisateurs Resource Access Management (RAM) et accordez à chacun uniquement les autorisations nécessaires. Les utilisateurs RAM autorisés peuvent ainsi gérer les ressources ApsaraMQ for MQTT dans la console et publier ou s'abonner à des messages via des SDK et des opérations API.
ApsaraMQ for MQTT ne prend pas en charge l'autorisation inter-comptes.
Quand utiliser des utilisateurs RAM
Les membres d'une équipe ont généralement besoin de niveaux d'accès distincts à ApsaraMQ for MQTT :
| Rôle | Autorisations typiques |
|---|---|
| Administrateur de ressources | Créer et gérer des instances, des topics et des groupes |
| Éditeur | Envoyer des messages vers des topics spécifiques |
| Abonné | Consommer des messages provenant de topics spécifiques |
RAM permet au titulaire du compte Alibaba Cloud de :
Créer un utilisateur RAM distinct pour chaque membre de l'équipe au lieu de partager la paire AccessKey du compte
Accorder des autorisations granulaires au niveau de l'instance, du topic ou du groupe
Révoquer les autorisations ou supprimer des utilisateurs RAM à tout moment
Toute utilisation des ressources par les utilisateurs RAM est facturée au compte Alibaba Cloud.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un compte Alibaba Cloud avec ApsaraMQ for MQTT activé
Un accès administratif à la console RAM
Octroi d'autorisations à un utilisateur RAM
Le processus comprend trois étapes : créer un utilisateur RAM, créer éventuellement des politiques personnalisées, puis attacher ces politiques à l'utilisateur.
Créez un utilisateur RAM. Créez un utilisateur RAM pour chaque membre de l'équipe qui doit accéder à ApsaraMQ for MQTT. Consultez la rubrique Création d'un utilisateur RAM.
(Facultatif) Créez des politiques personnalisées. Si les politiques système ne répondent pas à vos exigences, créez des politiques personnalisées pour définir un accès granulaire à des instances, des topics ou des groupes spécifiques. Consultez la rubrique Création de politiques personnalisées. Pour obtenir la liste complète des actions et des ressources disponibles, consultez la rubrique Politiques.
Attachez des politiques à l'utilisateur RAM. Attachez les politiques système ou personnalisées appropriées à l'utilisateur RAM. Consultez la rubrique Octroi d'autorisations à un utilisateur RAM.
Autorisations d'accès à la console
La page Overview de la console ApsaraMQ for MQTT affiche les métadonnées de toutes vos instances. Pour y accéder, accordez les actions suivantes à l'utilisateur RAM :
| Action | Requise pour |
|---|---|
mq:MqttMetaData |
Afficher la page Overview et la page d'accueil, qui affichent les métadonnées des instances |
mq:ListMqttInstance |
Répertorier les instances sur la page Overview |
Vous pouvez utiliser un utilisateur RAM pour accéder à la page Overview et à la page d'accueil uniquement après avoir accordé l'autorisation mq:MqttMetaData à cet utilisateur. Sans cette autorisation, des erreurs sont renvoyées lors de l'accès à ces pages. Pour afficher la liste des instances, vous devez également accorder l'autorisation mq:ListMqttInstance après avoir accédé à la page Overview.
Accès à ApsaraMQ for MQTT en tant qu'utilisateur RAM
Après avoir créé un utilisateur RAM et lui avoir accordé les autorisations appropriées, partagez les identifiants de connexion (nom d'utilisateur et mot de passe) ou la paire AccessKey avec le membre de l'équipe. L'utilisateur RAM peut accéder à ApsaraMQ for MQTT via deux méthodes :
Connexion à la console
Ouvrez la page Connexion utilisateur RAM.
-
Saisissez le nom de connexion de l'utilisateur RAM dans le champ Username et cliquez sur Next. Saisissez le mot de passe et cliquez sur Log On.
RemarqueLe nom de connexion utilise le format
<$username>@<$AccountAlias>ou<$username>@<$AccountAlias>.onaliyun.com, où<$AccountAlias>représente l'alias du compte. Si aucun alias n'est défini, l'ID du compte Alibaba Cloud est utilisé à la place. Sur la page RAM User Center, cliquez sur un service pour accéder à sa console.
Appel d'opérations API
Spécifiez l'AccessKey ID et l'AccessKey Secret de l'utilisateur RAM dans votre code pour authentifier les requêtes API.