RabbitMQ用户无权访问管理UI,但可以发布和订阅

时间:2019-03-11 06:00:24

标签: rabbitmq

我们正在使用用户名和密码(而不是admin)访问RabbitMQ。我想知道是否可以创建一个没有管理界面访问权限的用户,但可以发布和订阅主题,这将大大提高我们正在构建的应用程序的安全性,如果凭据遭到破坏,则没人可以通过管理界面登录。 。

有什么方法可以创建没有管理UI访问权限的用户,但仍然可以发布和订阅主题?

RabbitMQ version: 3.7.10
Erlang 21.2.3
protocol: MQTT

2 个答案:

答案 0 :(得分:0)

创建没有必需标签的用户以进行管理访问。在此处记录:https://www.rabbitmq.com/management.html


注意: RabbitMQ团队监视rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。

答案 1 :(得分:0)

如前所述,use std::os::unix::net::UnixDatagram; use std::path::Path; use std::sync::mpsc; use std::str::from_utf8; fn unlink_socket (path: impl AsRef<Path>) { let path = path.as_ref(); if path.exists() { if let Err(e) = std::fs::remove_file(path) { eprintln!("Couldn't remove the file: {:?}", e); } } } static FILE_PATH: &'static str = "/tmp/datagram.sock"; pub fn tcp_datagram_server() { unlink_socket(FILE_PATH); let socket = match UnixDatagram::bind(FILE_PATH) { Ok(socket) => socket, Err(e) => { eprintln!("Couldn't bind: {:?}", e); return; } }; let (tx, _) = mpsc::channel(); let mut buf = vec![0; 1024]; println!("Waiting for client to connect..."); loop { let received_bytes = socket.recv(&mut buf).expect("recv function failed"); println!("Received {:?}", received_bytes); let received_message = from_utf8(&buf).expect("utf-8 convert failed"); tx.send(received_message.to_string()); } } 应该是这种情况下的正确角色

management