2013-04-29 6 views
12

rabbitmqctlを使用してRabbitMQでユーザ権限を設定しようとしています。 RabbitMQのドキュメントhttp://www.rabbitmq.com/man/rabbitmqctl.1.man.htmlは書き、構成設定の基本的な例を示し、およびアクセス許可をお読みください。RabbitMQユーザ許可フォーマット

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

をしかし、それ以上の詳細な例を与えるものではありません。私はこのトピックに関するいくつかの記事を見てきましたが、私の特定の質問に対する答えは見つかりませんでした。

最初の質問:ユーザーが書き込むことができるExchangeとキューの両方にアクセス許可を与える必要がありますか?同様に読み取りの場合は、キューを指定するだけで十分ですか?ドキュメントでは、「リソース」へのアクセスを許可する方法について説明しています。

2番目の質問:上記の例では、リソース名の先頭をマークするためにキャレットを使用しています。これを省略し、 "tonyg - 。*"だけを使用すると、指定したテキストをリソース名のどこにでも表示できますか?同様に、リソース名全体を指定したい場合は、 "^ myqueue $"のように^と$をかっこで囲む必要がありますか?

3番目の質問:特定のアクセス許可に複数のパターンを指定したいとします。パターンをコンマなどで区切ることはできますか?

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

これは正しい構文ですか?そうでない場合は、何ですか?

第4質問:仮想ホスト名にはどのような構文が必要ですか?引用されたmanページ上の他の例は

rabbitmqctl add_vhost test 

のように、先頭のスラッシュを使用しない構造化されたいくつかの方法で、バーチャルホスト名で、またはスラッシュが名前にちょうど別の文字ですか?

ありがとうございました!

+0

あなたが何か面白いものを見つけましたか? 私は似たものが欲しいです。基本的には、「チートシート」は、具体的な名前などでキューを作成する権限を与える方法を見てみるのに役立ちます。 – Lukino

+0

@Johnこれに関する助言はありますか?私は多くの人が待ち行列に読み込み許可を与え、既存のドキュメントから知ることは本当に難しいと思っています。 – Gaurav

答えて

4

私は同じ問題を打つが、私は、次のを思い付いたいくつかの簡単な実験後:

私が最初に「/ ASX」と呼ばれるバーチャルホストを追加し、その後、次の形式を使用して成功し、これに「ゲスト」ユーザーを追加しました:

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

また、変更を有効にするためにrabbitmq-serverを再起動する必要がありました。