Wie können Warteschlangen in RabbitMQ in einem Multitenancy-System privat / sicher gemacht werden?
Habe ich gelesen, das Einstieg guide zur Verfügung gestellt von RabbitMQ und haben sogar dazu beigetragen, den sechsten Beispiel gestürmt-amqpso habe ich eine Ahnung von wissen über AMQP.
Allerdings ist die Anleitung nicht vollständig und vermeidet Dinge wie Authentifizierung und Autorisierung.
Gestalten wir ein multitenancy-system, RabbitMQ in einem RPC-Typ von situation. Was ist vielleicht anders über diese Implementierung von RPC ist, dass die remote-Verfahren werden tatsächlich andere Mieter Programme auf dem system.
Grundsätzlich möchte ich zu isolieren, die Daten-Busse, die enthält die folgenden Behauptungen:
- Unserem server nicht liefern Daten an den falschen Mieter-Programm (dieses ist problemlos behandelt und ist relevant, aber nicht hinterfragt).
- Mieter-Programme sind nicht in der Lage sein, zum Lesen von Daten aus Warteschlangen, die nicht die ihrigen.
- Mieter-Programme sind nicht in der Lage zu schreiben, um Warteschlangen, die nicht die ihrigen.
Diese Frage ist unbedingt zu RabbitMQ Sicherheit. Ich weiß, dass RabbitMQ SSL unterstützt, bietet Ende-zu-Ende-Verschlüsselung, und ich weiß, RabbitMQ unterstützt Benutzername/Passwort-Authentifizierung. Ich weiß nicht, ob diese Dinge gelten zu privatisieren-queue-usage (aka ACL), D. H. die Verbindung kann verschlüsselt werden, und der Benutzer kann verifiziert werden, aber der user kann Lesen /schreiben aus allen Warteschlangen.
Kann jemand aufklären mich auf dieses fortgeschrittene Thema? Ich bin zuversichtlich, dass RabbitMQ kann die Unterstützung dieser Art von system, aber nicht gerade positiv. Ich weiß, es gibt Dinge im RabbitMQ, dass ich einfach nicht wissen, z.B. was sind die vhosts und wird Sie in dieser situation zu helfen? Ich weiß nur nicht sehen, die Lösung in meinem aktuellen wissen beschränkt sich auf routing-keys, die Namen der Queues und exchanges.
InformationsquelleAutor der Frage Brian | 2011-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einem multitenancy-system, das Sie machen würde, Warteschlangen sichern durch die Festlegung der Berechtigungen, die Benutzer haben. Lesen Sie die access-control-Bereich der RabbitMQ-admin-guide hier http://www.rabbitmq.com/admin-guide.html
Beginnen Sie, indem Sie alles geschehen im inneren vhosts und blockieren die generische vhost vollständig, d.h. lassen Sie sich nicht jemand erklären, Warteschlangen und Austausch über die vhost "/".
InformationsquelleAutor der Antwort Michael Dillon
Ich glaube diese tutorial zeigt, was Sie zu tun versuchen.
Die Tatsache, dass die callback queue ist exklusiv, auto-löscht, und hat seinen Namen automatisch generiert werden, sollte genug Sicherheit bieten.
InformationsquelleAutor der Antwort daharon
Für Sicherheit in der Rabbitmq-server, gibt es einige Sicherheits-Mechanismus in RabbitMQ:
InformationsquelleAutor der Antwort hien711