Zugriff verweigert für Benutzer rabbitmq & Sellerie
Ich erstelle vhost:
rabbitmqctl add_vhost test
Dann Benutzer:
rabbitmqctl add_user user 123456
Dann nehme ich die Berechtigungen, die dem Benutzer:
rabbitmqctl set_permissions -p test user "test" "test" "test"
Ich verwende Sellerie, in tasks.py:
app = Celery('tasks', broker='amqp://user:123456@localhost/test', backend='amqp://user:123456@localhost/test')
Dann habe ich ausgeführt:
celery -A tasks worker --loglevel=info
Habe ich Fehler:
amqp.exceptions.AccessRefused: Exchange.declare: (403) ACCESS_REFUSED - access to exchange 'celeryev' in vhost 'test' refused for user 'user'
Wie, dass zu beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf set_permissions hier: https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#Access%20control
Beim Aufruf set_permissions Sie auf der Durchreise sind "test" für das konfigurieren, Lesen und schreiben, so dass Ihre Benutzer werden in der Lage sein, verwenden Sie nur eine queue/exchange mit dem Namen "test"
Werfen Sie auch einen Blick auf diesen link: https://www.rabbitmq.com/access-control.html
celeryev
im set_permissions und ich habe den Fehler mit exchangereply.celery.pidbox
, also ich benutze jetzt '.*' und es funktioniert. Funktioniert das speichern oder muss ich die Verwendung regulärer Ausdruck 'Sellerie'?Wenn Sie immer noch Fehler bitte überprüfen Sie, dass Sie die richtige Anführungszeichen (ist mir passiert)
statt
Sicher sein, die Liste der Berechtigungen von Benutzern in Ihrer vhostpath (standardmäßig /)
Als Lexsoul genannten doppelten Anführungszeichen werden können, der falsche Typ,
zum Beispiel:
und hat nicht funktioniert also habe ich versucht:
dann
Und für mich gearbeitet.
Ich nochmals die zuvor details in Bezug auf die Zuschüsse.
Problem :
verursacht ein Kanal Ausnahme access_refused: Zugriff auf exchange 'Antworten.Sellerie.pidbox'
Lösung :
rabbitmqctl clear_permissions -p Umwelt Benutzername
rabbitmqctl set_permissions -p-Umgebung skberge "." "." ".*"