Effect of revoked permissions on existing AMQP connections #4573
-
I was looking for answers for the following questions
I think I now know the answers from code, but I couldn't find it in the documentation in:
Is this documented somewhere that I missed? If not I am willing to contribute, but would need some guidance on where and how deep as the permission cache makes it a bit tricky. If the If internal authorization is used (and The last scenario I might even consider as a bug: when appreciate your insights and comments |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Modern RabbitMQ versions will close all existing connections when a user or virtual host is deleted. Permissions are cached for N latest operations by channels, and there is a caching authN/authZ backend, but any reasonably realistic client would run into a permission violation exception soon enough. If you really want an app to not be able to access something, delete the credentials it uses. |
Beta Was this translation helpful? Give feedback.
-
Different backends can work very differently from each other, in particular when they rely on external services. Like I said earlier, if you want to revoke a user's permissions effective immediately, delete the user and all of its connections should be closed with a reasonable log message. |
Beta Was this translation helpful? Give feedback.
-
thank you for your very quick response so what you say is
|
Beta Was this translation helpful? Give feedback.
Modern RabbitMQ versions will close all existing connections when a user or virtual host is deleted.
Permissions are cached for N latest operations by channels, and there is a caching authN/authZ backend, but any reasonably realistic client would run into a permission violation exception soon enough.
If you really want an app to not be able to access something, delete the credentials it uses.