Celery / RabbitMQ权限管理 - 交换/队列的配置

时间:2018-04-17 00:05:57

标签: python rabbitmq celery

我有一个带有队列声明的芹菜应用程序。

app.conf.CELERY_QUEUES = (
    Queue('default', routing_key='default'),
    Queue('classifier', routing_key='classifier'),
    Queue('clients', routing_key='clients'),
    Queue('bookings', routing_key='bookings'),
    Queue('ingestor', routing_key='ingestor'),
    Queue('typeahead', routing_key='typeahead')
)

我的DevOps团队最近设置了具有权限的RabbitMQ用户。 enter image description here

他们已经提到他们不打算给用户任何配置权限,因为如果黑客获得这些凭据,他们可以删除队列等。

当我启动芹菜工作者时,它无法授权

  

amqp.exceptions.AccessRefused:Exchange.declare:(403)ACCESS_REFUSED    - 访问'vhost'/'交换'celeryev'拒绝用户'测试'

在测试时,我给了自己明确配置celery *。

这能够解决这个问题,但后来它开始抱怨已经存在的默认/分类器队列的相同问题,并且不需要配置,所以我有几个问题。

1)芹菜是否需要配置权限才能使用?

2)如果没有,为什么要尝试配置已经存在的队列?如图中所示。 enter image description here

3)是否存在实际的安全问题,只需使用'。*'

启用此权限即可 4)有没有办法告诉芹菜只是读写?而不用担心配置任何东西?

如果有任何想法,请告诉我。我一直在使用这个问题作为指导,但还没有想出来。

https://github.com/celery/celery/issues/3895

我正在使用Celery 3.1.24

0 个答案:

没有答案