Tous les produits
Search
Centre de documentation

ApsaraMQ for RabbitMQ:Permissions

Dernière mise à jour :Oct 09, 2026

ApsaraMQ for RabbitMQ prend en charge deux modes d'authentification et d'autorisation : l'authentification native open source et la gestion des accès via Resource Access Management (RAM). Lorsqu'un client open source se connecte au serveur ApsaraMQ for RabbitMQ, il doit fournir un nom d'utilisateur et un mot de passe pour s'authentifier selon le mode sélectionné. L'accès n'est accordé qu'après une authentification réussie.

Informations générales

ApsaraMQ for RabbitMQ propose deux modes d'authentification et de gestion des permissions : open-source authentication and permission management et Alibaba Cloud Resource Access Management (RAM). Lors de la création d'une instance, vous devez choisir l'un de ces modes. Ce choix est définitif et ne peut pas être modifié ultérieurement. Le tableau suivant compare ces deux modes.

Mode d'authentification

Description

Portée

Avantages et inconvénients

Gestion des authentifications et des autorisations open source

Créez des noms d'utilisateur et des mots de passe personnalisés et attribuez des autorisations aux utilisateurs.

SDK client

  • Avantages :

    • Permet une migration transparente de RabbitMQ open source vers le cloud.

    • Prend en charge une gestion intuitive des autorisations.

    • Offre un contrôle granulaire des autorisations sur les ressources au sein d'un vhost.

  • Inconvénients :

    • Pour renforcer la sécurité, vous devez intégrer PrivateLink dans un environnement intranet. L'utilisation de points de terminaison privés engendre des frais.

Resource Access Management (RAM)

Les noms d'utilisateur et les mots de passe sont générés à partir d'une paire AccessKey (AccessKey ID et AccessKey Secret) issue de RAM. Pour plus d'informations, consultez la section Créer des identifiants statiques ci-dessous.

  • console

  • OpenAPI

  • SDK client

  • Avantages :

    • Les réseaux internes ne nécessitent pas d'intégration avec PrivateLink, et aucun frais n'est facturé.

    • Prend en charge l'autorisation au niveau du vhost, de l'exchange et de la queue.

  • Inconvénients :

    • Une forte dépendance à RAM crée un couplage étroit.

    • La configuration des autorisations est complexe.

    • Nécessite la mise à jour des noms d'utilisateur et des mots de passe côté client lors de la migration depuis RabbitMQ open source.

Remarques

  • Gestion des authentifications et des autorisations open source

    • La gestion des authentifications et des autorisations open source est disponible uniquement pour les instances nouvellement achetées. Les instances existantes ne peuvent pas basculer vers ce mode. Types d'instances pris en charge :

    • Évitez d'utiliser des mots de passe faibles pour prévenir les fuites d'identifiants.

    • Désactivez le compte guest par défaut.

  • Resource Access Management (RAM)

    • Le compte utilisé pour se connecter à la console ApsaraMQ for RabbitMQ doit être un compte Alibaba Cloud ou un utilisateur RAM disposant au minimum des autorisations permettant de consulter, créer et supprimer des noms d'utilisateur et des mots de passe statiques. Pour plus d'informations sur les autorisations liées aux noms d'utilisateur et mots de passe statiques ainsi que sur les opérations d'autorisation, consultez les sections Stratégies d'autorisation RAM et Autorisation du principal RAM et des sous-comptes.

    • Pour créer ou supprimer un nom d'utilisateur et un mot de passe statiques, l'instance doit être à l'état Running.

    • Le système génère un nom d'utilisateur et un mot de passe uniques pour chaque instance, même si vous utilisez la même paire AccessKey.

    • Pour mettre à jour un nom d'utilisateur et un mot de passe statiques, supprimez les identifiants existants et créez-en de nouveaux.

    • Le mot de passe d'un nom d'utilisateur et mot de passe statiques doit contenir simultanément des lettres majuscules, des lettres minuscules, des chiffres et des caractères spéciaux. Cette politique de complexité des mots de passe est appliquée de manière stricte et ne peut pas être désactivée temporairement. Si vous disposez d'une instance existante ou d'un ancien mot de passe ne répondant pas à cette exigence, nous vous recommandons d'ajouter au moins un caractère spécial à votre mot de passe actuel pour le rendre conforme.

Important

Lorsque votre client utilise un SDK pour envoyer et recevoir des messages, nous vous recommandons d'utiliser des connexions persistantes. Cela évite au client d'établir une nouvelle connexion pour chaque message, ce qui pourrait consommer d'importantes ressources réseau et serveur, et déclencher potentiellement la protection contre les attaques SYN flood sur le serveur. Pour plus d'informations, consultez la section Connexion.

Authentification et autorisations open source

Créer un nom d'utilisateur et un mot de passe

  1. Connectez-vous à la console ApsaraMQ for RabbitMQ. Dans le volet de navigation de gauche, cliquez sur Instances.

  2. Dans la barre de navigation supérieure de la page Instances, sélectionnez la région où réside l'instance que vous souhaitez gérer. Ensuite, dans la liste des instances, cliquez sur le nom de l'instance concernée.

  3. Dans le volet de navigation de gauche, cliquez sur Users and Permissions.

  4. Sur la page Users and Permissions, cliquez sur Create Username/Password.

  5. Dans le panneau Create Username/Password, saisissez le Username, le Password et le Confirm Password, puis cliquez sur OK.

Modifier le mot de passe d'un utilisateur

  1. Sur la page Users and Permissions, repérez l'utilisateur dont vous souhaitez modifier le mot de passe. Dans la colonne Actions, cliquez sur Edit.

  2. Dans le panneau Edit Username and Password, saisissez le nouveau Password et le Confirm Password, puis cliquez sur OK.

Supprimer un utilisateur

Avertissement

Si un utilisateur est supprimé, tout client tentant de se connecter à ApsaraMQ for RabbitMQ avec le nom d'utilisateur et le mot de passe de cet utilisateur sera rejeté.

  1. Sur la page Users and Permissions, repérez l'utilisateur que vous souhaitez supprimer. Dans la colonne Actions, cliquez sur Delete.

  2. Dans la boîte de dialogue Delete, cliquez sur OK.

Gestion des autorisations

La gestion des authentifications et des autorisations open source de ApsaraMQ for RabbitMQ s'applique au niveau des vhosts. Les autorisations d'un utilisateur ne sont effectives que dans les vhosts auxquels il est assigné. Le contrôle granulaire des autorisations utilisateur pour les opérations sur les Exchanges et les Queues est mis en œuvre à l'aide d'expressions régulières (Regex). Pour plus d'informations, consultez la section Gestion des authentifications et des autorisations open source.

Ajouter une autorisation

  1. Sur la page Users and Permissions, repérez l'utilisateur auquel vous souhaitez ajouter des autorisations. Dans la colonne Actions, cliquez sur Manage Permissions.

  2. Dans le panneau Manage Permissions, cliquez sur Add Permission.

  3. Dans la liste déroulante, sélectionnez le vhost à configurer, saisissez les expressions régulières correspondant aux opérations pertinentes, puis cliquez sur OK.

    • L'expression régulière correspond aux noms des exchanges et des queues.

    • .* correspond à toutes les ressources.

    • ^$ correspond uniquement à une chaîne vide. Cela remplace tout accès aux ressources et bloque l'utilisateur pour toute opération.

    • '^(amq\.gen.*|amq\.default)$' permet l'accès aux ressources générées par le système et à l'exchange par défaut.

    Important

    Si vous utilisez un point de terminaison public, vous devez également configurer une liste blanche d'adresses IP publiques après avoir défini les autorisations. Si l'instance utilise l'authentification open source et nécessite la configuration de l'ID d'instance lors de la connexion via un point de terminaison public, consultez la section Accéder à une instance avec authentification open source via un point de terminaison public.

Mettre à jour une autorisation

Avertissement

La modification des autorisations d'un utilisateur pour un virtual host peut entraîner des erreurs lors de l'envoi ou de la consommation de messages pour les clients connectés à ce virtual host avec les identifiants de cet utilisateur.

  1. Dans le panneau Manage Permissions, repérez l'autorisation du virtual host que vous souhaitez modifier. Dans la colonne Actions, cliquez sur Update.

  2. Saisissez l'expression régulière mise à jour pour l'opération et cliquez sur OK.

Supprimer une autorisation

Avertissement

Si les autorisations d'un utilisateur pour un virtual host sont supprimées, le serveur rejettera les tentatives de connexion des clients utilisant ces identifiants pour ce virtual host.

  1. Dans le panneau Manage Permissions, repérez l'autorisation du virtual host que vous souhaitez supprimer. Dans la colonne Actions, cliquez sur Delete.

  2. Dans la boîte de dialogue Delete, cliquez sur OK.

Resource Access Management (RAM)

Créer des identifiants statiques

  1. Connectez-vous à la console ApsaraMQ for RabbitMQ. Dans le volet de navigation de gauche, cliquez sur Instances.

  2. Dans la barre de navigation supérieure de la page Instances, sélectionnez la région où réside l'instance que vous souhaitez gérer. Ensuite, dans la liste des instances, cliquez sur le nom de l'instance concernée.

  3. Dans le volet de navigation de gauche, cliquez sur Users and Permissions.

  4. Sur la page Users and Permissions, cliquez sur Create Username/Password.

  5. Dans le panneau Create Username/Password, saisissez l'AccessKey ID et l'AccessKey Secret, puis cliquez sur OK.

    Remarque

    Vous pouvez obtenir l'AccessKey ID et l'AccessKey Secret depuis la console Alibaba Cloud RAM. Pour plus d'informations, consultez la section Créer une paire AccessKey.

    Important

    ApsaraMQ for RabbitMQ ne prend pas en charge l'utilisation directe d'une AccessKey Alibaba Cloud (AccessKey ID et AccessKey Secret) comme identifiant de connexion client. Vous devez d'abord convertir l'AccessKey en identifiants statiques dans la console, puis utiliser le nom d'utilisateur et le mot de passe générés pour authentifier la connexion client. Si vous utilisez directement l'AccessKey comme identifiant de connexion, celle-ci échouera avec l'erreur AuthenticationFailureException: AkDisabled.

    Une fois les identifiants créés, la page Users and Permissions affiche le nouveau nom d'utilisateur et le nouveau mot de passe statiques, le mot de passe étant masqué par défaut. La nouvelle entrée apparaît dans la liste des identifiants avec des colonnes telles que Instance ID, AccessKey, Username, Password et Creation Time. Vous pouvez cliquer sur Delete dans la colonne Actions pour supprimer l'identifiant.

  6. Dans la colonne Password de l'identifiant statique créé, cliquez sur Display pour afficher le mot de passe.

Remarque

Si vous utilisez un nom d'utilisateur et un mot de passe statiques créés à partir de l'AccessKey d'un utilisateur RAM pour vous connecter à ApsaraMQ for RabbitMQ et envoyer/recevoir des messages, assurez-vous que l'utilisateur RAM dispose des autorisations nécessaires pour envoyer et recevoir des messages. Pour plus d'informations, consultez la section Stratégies d'autorisation RAM.

Supprimer des identifiants statiques

Avertissement

Un nom d'utilisateur et un mot de passe statiques deviennent invalides s'ils sont supprimés ou si l'AccessKey utilisée pour les créer est désactivée ou supprimée. Si un client tente de se connecter à ApsaraMQ for RabbitMQ avec ces identifiants statiques, la connexion sera rejetée.

  1. Sur la page Users and Permissions, repérez le nom d'utilisateur et le mot de passe statiques à supprimer, puis dans la colonne Actions, cliquez sur Delete.

  2. Dans la boîte de dialogue Prompt, lisez attentivement le message et cliquez sur OK.

    Le nom d'utilisateur et le mot de passe statiques supprimés n'apparaissent plus sur la page Users and Permissions.

Opérations associées

Après avoir créé un nom d'utilisateur et un mot de passe, votre client peut utiliser directement un client RabbitMQ open source pour se connecter à ApsaraMQ for RabbitMQ. Pour plus d'informations, consultez la section Liste des SDK et exemples de code.