Auto-tools/Projects/Pulse: Difference between revisions

Jump to navigation Jump to search
Line 64: Line 64:


Since exchange and queue permissions go together, we'll need exchange and queue naming conventions mixed with restrictive permissions.  Each publishing user, in addition to being restricted to a particular vhost, will also be restricted to a particular set of exchange names.  For example, the BuildBot publisher will have permissions of <code>"^org.mozilla.exchange.build*" "^org.mozilla.exchange.build*" "^org.mozilla.exchange.build*"</code>.  Similarly, we'll need a name convention for queues, e.g. org.mozilla.queue.<username>.<applabel>.  This will both prevent consumer users from writing to exchanges as well as prevent them from consuming from the queues of other users.  For convenience, if a consumer creates a nondurable queue, mozillapulse can assign a random suffix to the user's standard queue name prefix, i.e. org.mozilla.queue.<username>.<random string>, since the user wouldn't be able to create nor access a completely random server-assigned name.
Since exchange and queue permissions go together, we'll need exchange and queue naming conventions mixed with restrictive permissions.  Each publishing user, in addition to being restricted to a particular vhost, will also be restricted to a particular set of exchange names.  For example, the BuildBot publisher will have permissions of <code>"^org.mozilla.exchange.build*" "^org.mozilla.exchange.build*" "^org.mozilla.exchange.build*"</code>.  Similarly, we'll need a name convention for queues, e.g. org.mozilla.queue.<username>.<applabel>.  This will both prevent consumer users from writing to exchanges as well as prevent them from consuming from the queues of other users.  For convenience, if a consumer creates a nondurable queue, mozillapulse can assign a random suffix to the user's standard queue name prefix, i.e. org.mozilla.queue.<username>.<random string>, since the user wouldn't be able to create nor access a completely random server-assigned name.
With this security model, we technically don't really need vhosts, since the names of the queues and exchanges the users can use are so specific.  There may still be a benefit in allowing apps to use the same queue name for different exchanges, though, which would be possible if each exchange has its own vhost.


=== Admin Procedures ===
=== Admin Procedures ===
Confirmed users
1,927

edits

Navigation menu