RabbitMQ 관리(1) – 다중 임차인 및 권한
vhost는 AMQP 개념의 기초로 클라이언트가 연결할 때 반드시 vhost를 제정해야 한다.RabbitMQ는 기본적으로 생성된 vhost를 "/"로 합니다. 여러 개의 vhost가 필요하지 않거나 vhost의 개념을 잘 이해하지 못하면 이 기본 vhost를 사용하는 것도 매우 합리적입니다. 기본 사용자 이름guest와 비밀번호guest를 사용하면 접근할 수 있습니다.그러나 안전과 편의를 위해 새로운 사용자가 방문할 것을 건의합니다.
rabbitmqctl add_ 사용 가능vhost {vhost} 명령은 새 vhost를 만듭니다. 괄호 안의 매개 변수는 vhost의 이름을 표시합니다.예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl add_vhost vhost1
Creating vhost "vhost1"
```
rabbitmqctl list_vhosts [vhostinfoitem...] vhost 。 vhostinfoitem 2 :
1. name: vhost 。
2. tracing: RabbitMQ trace 。 trace , 10.1 。
:
```
[root@node1 ~]# rabbitmqctl list_vhosts name tracing
Listing vhosts
vhost1 false
/ false
[root@node1 ~]# rabbitmqctl trace_on
Starting tracing for vhost "/"
[root@node1 ~]# rabbitmqctl list_vhosts name tracing
Listing vhosts
vhost1 false
/ true
삭제된 vhost의 명령은: rabbitmqctl delete_vhost {vhost}, 중괄호 안의 매개 변수는 vhost의 이름을 표시합니다.vhost를 삭제하면 다음 모든 대기열, 교환기, 귀속 관계, 사용자 권한, 파라미터, 정책 등 정보를 삭제합니다.예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl delete_vhost vhost1
Deleting vhost "vhost1"
[root@node1 ~]# rabbitmqctl list_vhosts
Listing vhosts
AMQP 프로토콜에는 vhost 레벨에서 실행할 수 있는 권한이 지정되어 있지 않으며 구체적인 응용 프로그램에서 사용자 정의됩니다.RabbitMQ에서 권한 제어는 vhost 단위입니다.사용자를 만들 때, 사용자는 최소한 vhost에 파견되며, 파견된 vhost 내의 대기열, 교환기, 귀속 관계에만 접근할 수 있습니다.따라서 RabbitMQ에서 부여된 권한은 vhost 레벨에서 사용자에게 부여된 권한을 가리킨다.
관련 권한 부여 명령: rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read}.각 매개변수의 의미는 다음과 같습니다.
주: 설정 가능은 대기열과 교환기의 생성 및 삭제와 같은 조작을 가리킨다.쓸 수 있는 것은 소식을 발표하는 것을 가리킨다.읽기 가능 메시지는 메시지를 읽고 전체 대기열을 비우는 등 메시지와 관련된 작업을 가리킨다.
사용자 루트가 가상 호스트 vhost1에 접근할 수 있고 모든 자원에 설정, 쓰기, 읽기 권한이 있습니다.예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl set_permissions -p vhost1 root ".*" ".*" ".*"
Setting permissions for user "root" in vhost "vhost1"
사용자 루트에 가상 호스트 vhost2에 접근할 수 있는 권한을 부여하고 "queue"로 시작하는 자원에 설정 가능한 권한을 가지며 모든 자원에 쓰기 가능하고 읽을 수 있는 권한을 부여합니다. 예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl set_permissions -p vhost2 root "^queue.*" ".*" ".*"
Setting permissions for user "root" in vhost "vhost2"
지우기 권한도 vhost 단계에서 사용자에게 지우기 권한입니다.권한 지우기 명령: rabbitmqctl clear_permissions [-p vhost] {username}.이 중 vhost는 사용자가 접근할 수 없는 가상 호스트의 이름을 설정하는 데 사용되며, 기본값은 "/"입니다.username은 특정 가상 호스트에 액세스할 수 없는 사용자 이름을 나타냅니다.예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl clear_permissions -p vhost1 root
Clearing permissions for user "root" in vhost "vhost1"
RabbitMQ에는 권한 정보를 열거할 수 있는 두 개의 셸 명령이 있습니다.첫 번째 명령은: rabbitmqctl list_permissions [-p vhost], 가상 호스트의 권한을 표시하는 데 사용;두 번째 명령은: rabbitmqctl list_user_permissions {username}, 사용자의 권한을 표시하는 데 사용됩니다.예는 다음과 같습니다.
[root@node1 ~]# rabbitmqctl list_permissions -p vhost1
Listing permissions in vhost "vhost1"
root .* .* .*
[root@node1 ~]# rabbitmqctl list_user_permissions root
Listing permissions for user "root"
/ .* .* .*
vhost1 .* .* .*
세심한 독자들은 이 장에서 사용하는 모든 명령은 rabbitmqctl 도구의 확장 명령이며, rabbitmqctl 도구는 RabbitMQ 중간부품을 관리하는 명령행 도구로 각 RabbitMQ 노드를 연결하여 모든 조작을 수행합니다.노드가 실행되지 않으면 진단 정보가 표시되거나 도착할 수 없거나 일치하지 않는 Erlang cookie(Erlang cookie에 대한 자세한 내용은 7.1장 참조)로 인해 연결을 거부합니다.rabbitmqctl 도구의 표준 구문은 다음과 같습니다.
rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options...]
[-n node] 기본 노드는"rabbit@hostname', 여기 호스트name 은 호스트 이름입니다.이름은'node'입니다.hidden.com 호스트에서 RabbitMQ Erlang node의 노드 이름은 일반적으로rabbit@nodeRABBITMQ_NODENAME 매개변수가 시작할 때 기본값이 아닌 경우hostname -s의 출력은 보통'@'로고 뒤에 있는 것입니다.[-q] -q 로고를 사용하여quiet 모드를 사용하면 메시지의 출력을 차단할 수 있습니다.기본값은 quiet 모드를 열지 않습니다.[-t timeout] 작업 시간 초과 (초)."list"형식의 명령에만 적용됩니다.기본값은 무한대다.다음은 [-q]와 [-t timeout] 매개 변수의 사용법과 효과를 보여 줍니다.
[root@node1 ~]# rabbitmqctl list_vhosts
Listing vhosts
/
[root@node1 ~]# rabbitmqctl list_vhosts -q
/
[root@node1 ~]# rabbitmqctl list_vhosts -q -t 1
/
[root@node1 ~]# rabbitmqctl list_vhosts -q -t 0
Error: {timeout,0.0}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.