2013-04-29 15 views
12

Sto tentando di configurare le autorizzazioni utente in RabbitMQ utilizzando rabbitmqctl. La documentazione RabbitMQ http://www.rabbitmq.com/man/rabbitmqctl.1.man.html dà un esempio di base di impostazione di configurazione, scrivere e leggere permesso:Formato autorizzazione utente RabbitMQ

rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*" 

ma non fornisce alcun esempio più dettagliati. Ho esaminato diversi post su questo argomento ma non ho trovato risposte alle mie domande specifiche.

Prima domanda: è necessario concedere autorizzazioni a entrambi gli scambi e le code a cui un utente può scrivere o solo gli scambi? Allo stesso modo per la lettura, è sufficiente specificare le code? La documentazione parla solo di garantire l'accesso alle "risorse".

Seconda domanda: l'esempio precedente utilizza un segno di omissione per contrassegnare l'inizio del nome della risorsa. Se ometto questo, e uso semplicemente "tonyg -. *", Permetterebbe che il testo specificato appaia da qualche parte nel nome della risorsa? Allo stesso modo, se volessi specificare l'intero nome della risorsa, devo aggiustarlo con^e $, come in "^ myqueue $"?

Terza domanda: Dire che voglio specificare più di un modello per una determinata autorizzazione. Posso semplicemente separare i pattern con virgole, qualcosa come

rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*,^test-.*" ".*" ".*" 

È questa la sintassi corretta per questo? Se no, che cos'è?

Quarta domanda: qual è la sintassi richiesta per i nomi di vhost? Gli altri esempi nella pagina del manuale citato non utilizzare una barra che porta, come in

rabbitmqctl add_vhost test 

sono i nomi vhost in qualche modo strutturato, o è la barra solo un altro carattere nel nome?

Grazie per eventuali suggerimenti!

+0

Hai trovato qualcosa di interessante? Voglio qualcosa di simile. Fondamentalmente un "cheat sheet" sarà utile per vedere ad esempio come dare il permesso di creare una coda con un nome specifico o qualcosa di simile – Lukino

+0

@ John Qualche aiuto su questo? Penso che molte persone stiano cercando di dare solo il permesso di lettura a una coda ed è davvero difficile da conoscere dai documenti esistenti. – Gaurav

risposta

4

mi ha colpito lo stesso problema, ma dopo alcuni semplici esperimenti mi si avvicinò con il seguente:

ho aggiunto un vhost chiamato "/ ASX", poi ha aggiunto l'utente "guest" ad esso con successo utilizzando il seguente formato :

rabbitmqctl set_permissions -p /ASX guest ".*" ".*" "." 
Setting permissions for user "guest" in vhost "/ASX" ... 
...done. 

ho anche dovuto eseguire un riavvio di RabbitMQ-server per la modifica abbia effetto.

Problemi correlati