Comment les files d'attente peuvent être faites privée/sécurité dans RabbitMQ dans un multilocataire système?
J'ai lu le Obtenir Commencé guide fourni par RabbitMQ et ont même contribué à la sixième exemple de pris d'assaut-amqp, j'ai donc une petite idée de la connaissance sur AMQP.
Toutefois, le guide n'est pas exhaustif, et évite des choses comme l'authentification et l'autorisation.
Nous sommes en train de concevoir un multilocataire système qui permettra d'utiliser RabbitMQ dans un RPC-type de situation. Ce qui est peut-être différent à propos de cette mise en œuvre de la RPC, c'est que la distance procédures seront effectivement les autres locataires des programmes sur le système.
En fait, je cherche à isoler le bus de données, qui comprend les assertions suivantes:
- Notre serveur ne de fournir des données pour le mauvais locataire programme (ce qui est facilement manipulé et est pertinente, mais ne remet pas en cause).
- Locataire programmes ne sont pas être en mesure de lire les données à partir des files d'attente qui ne sont pas les leurs.
- Locataire programmes ne sont pas être en mesure d'écrire des files d'attente ne sont pas les leurs.
Cette question est strictement à propos de RabbitMQ de sécurité. Je sais que RabbitMQ prend en charge le protocole SSL, qui fournit de bout en bout le cryptage, et je sais RabbitMQ prend en charge nom d'utilisateur/mot de passe d'authentification. Je ne sais pas si ces choses s'appliquent à la privatisation de la file d'attente d'utilisation (aka ACL), c'est à dire la connexion peut être chiffré, et l'utilisateur peut être vérifiée, mais l'utilisateur peut lire /écrire à partir de toutes les files d'attente.
Quelqu'un peut-il m'éclairer sur ce sujet plus complexe? Je suis convaincu que RabbitMQ pouvez soutenir ce type de système, mais pas exactement positive. Je sais qu'il y a des choses dans RabbitMQ que je ne sais pas à propos, par exemple, ce sont des vhosts et vont-ils vous aider dans cette situation? Je ne vois pas la solution à ma connaissance limitée de routage clés, noms de file d'attente et d'échanges.
Vous devez vous connecter pour publier un commentaire.
Dans un multilocataire système vous ferait files d'attente sécurisé par définir les autorisations des utilisateurs de la. Lire l'accès à la section du contrôle de la RabbitMQ guide de l'administrateur ici http://www.rabbitmq.com/admin-guide.html
Commencer par faire tout se passe à l'intérieur de serveurs virtuels et de bloquer le générique vhost entièrement, c'est à dire ne pas laisser quelqu'un déclarer les files d'attente et les échanges sur les vhost "/".
Je crois cette tutoriel montre ce que vous essayez de faire.
Le fait que le rappel de la file d'attente est exclusif, auto-supprime, et a son nom auto-généré doit fournir suffisamment de sécurité.
exclusive
directive a été suffisant, mais je vais le tester pour voir si elle est. Merci.Pour la sécurité dans le serveur Rabbitmq, il y a quelques mécanisme de sécurité dans RabbitMQ: