5.3.2. 사용자 및 역할 기반 권한 부여 구성
5.3.2.1. 권한 설정 링크 복사링크가 클립보드에 복사되었습니다!
권한은 broker.xml
구성 파일의 < security-setting
> 요소를 통해 큐(주소 기반)에 대해 정의됩니다. 구성 파일의 < security-
>의 여러 인스턴스를 정의할 수 있습니다. 정확한 주소 일치를 지정하거나 숫자 기호(settings> 요소에서 <security-
setting#
) 및 별표(*
) 와일드카드 문자를 사용하여 와일드카드 일치를 정의할 수 있습니다.
주소와 일치하는 큐 세트에 다양한 권한을 부여할 수 있습니다. 이러한 권한은 다음 표에 표시되어 있습니다.
사용자가…을 허용하도록 허용 | 이 매개변수 사용… |
---|---|
주소 생성 |
|
주소 삭제 |
|
일치하는 주소에 있는 영구 큐 생성 |
|
일치하는 주소에 있는 내구성 큐 삭제 |
|
순서가 지정되지 않은 큐를 일치하는 주소 아래에 생성 |
|
순서가 지정되지 않은 큐를 일치하는 주소 아래에 삭제 |
|
일치하는 주소로 메시지를 보냅니다. |
|
일치하는 주소에 바인딩된 큐의 메시지 사용 |
|
관리 주소로 관리 메시지를 전송하여 관리 작업 호출 |
|
일치하는 주소로 바인딩된 큐 검색 |
|
각 권한에 대해 권한이 부여된 역할 목록을 지정합니다. 지정된 사용자에게 역할이 모두 있는 경우 해당 주소 집합에 대한 권한이 부여됩니다.
다음 섹션에서는 권한에 대한 몇 가지 구성 예제를 보여줍니다.
5.3.2.1.1. 단일 주소에 대한 메시지 프로덕션 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 단일 주소에 대한 메시지 프로덕션 권한을 구성하는 방법을 보여줍니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. <
security-
추가합니다.settings> 요소에 단일 <security-setting
> 요소를일치
키의 경우 주소를 지정합니다. 예를 들면 다음과 같습니다.<security-settings> <security-setting match="my.destination"> <permission type="send" roles="producer"/> </security-setting> </security-settings>
<security-settings> <security-setting match="my.destination"> <permission type="send" roles="producer"/> </security-setting> </security-settings>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 구성에 따라
producer
역할의 멤버는 주소my.destination
에 대한 권한을보냅니다
.
5.3.2.1.2. 단일 주소에 대한 메시지 사용 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 단일 주소에 대한 메시지 사용 권한을 구성하는 방법을 보여줍니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. <
security-
추가합니다.settings> 요소에 단일 <security-setting
> 요소를일치
키의 경우 주소를 지정합니다. 예를 들면 다음과 같습니다.<security-settings> <security-setting match="my.destination"> <permission type="consume" roles="consumer"/> </security-setting> </security-settings>
<security-settings> <security-setting match="my.destination"> <permission type="consume" roles="consumer"/> </security-setting> </security-settings>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 구성에 따라
consumer
역할의 멤버는my.destination
.destination에 대한 권한을사용합니다
.
5.3.2.1.3. 모든 주소에 대한 전체 액세스 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 모든 주소 및 관련 큐에 대한 전체 액세스를 구성하는 방법을 보여줍니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. <
security-
추가합니다.settings> 요소에 단일 <security-setting
> 요소를일치
키의 경우 모든 주소에 대한 액세스를 구성하려면 숫자 기호(#
) 와일드카드 문자를 지정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 구성에 따라 모든 권한이 모든 큐에 대한 guest 역할의 구성원에게 부여됩니다. 이는 모든 사용자에게
게스트
역할을 할당하도록 익명 인증이 구성된 개발 시나리오에서 유용할 수 있습니다.
추가 리소스
- 보다 복잡한 사용 사례 구성에 대한 자세한 내용은 5.3.2.1.4절. “여러 보안 설정 구성” 을 참조하십시오.
5.3.2.1.4. 여러 보안 설정 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 절차에서는 일치하는 주소 집합에 대해 여러 보안 설정을 개별적으로 구성하는 방법을 보여줍니다. 이 섹션에서는 모든 주소에 대한 전체 액세스 권한을 부여하는 방법을 보여주는 이 섹션의 이전 예제와는 대조됩니다.
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. <
security-
추가합니다.settings> 요소에 단일 <security-setting
> 요소를일치하는 주소 집합에 설정을 적용하려면 일치
키의 경우 숫자 기호(#
) 와일드카드 문자를 포함합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow match=globalqueues.europe.#
-
숫자 기호(
#
) 와일드카드 문자는 브로커가 "모든 단어 시퀀스로 해석됩니다. 마침표(.
. )로 구분됩니다. 이 예에서 보안 설정은 globalqueues.europe 문자열으로 시작하는 모든 주소에 적용됩니다. permission type="createDurableQueue"
-
admin
역할이 있는 사용자만 globalqueues.europe 문자열로 시작하는 주소에 바인딩된 내구성 대기열을 생성하거나 삭제할 수 있습니다. permission type="createNonDurableQueue"
-
admin
역할,게스트
또는europe-users
가 있는 모든 사용자는 globalqueues.europe 문자열로 시작하는 주소에 바인딩된 임시 대기열을 생성하거나 삭제할 수 있습니다. 권한 유형="send"
-
admin
또는europe-users
역할이 있는 모든 사용자는 globalqueues.europe 문자열로 시작하는 주소에 바인딩된 큐에 메시지를 보낼 수 있습니다. permission type="consume"
-
역할
admin
또는europe-users
가 있는 모든 사용자는 globalqueues.europe 문자열으로 시작하는 주소로 바인딩된 큐의 메시지를 사용할 수 있습니다.
(선택 사항) 다른 보안 설정을 보다 좁은 주소 세트에 적용하려면 다른 <
security-setting
> 요소를 추가합니다.일치
키의 경우 보다 구체적인 텍스트 문자열을 지정합니다. 예를 들면 다음과 같습니다.<security-setting match="globalqueues.europe.orders.#"> <permission type="send" roles="europe-users"/> <permission type="consume" roles="europe-users"/> </security-setting>
<security-setting match="globalqueues.europe.orders.#"> <permission type="send" roles="europe-users"/> <permission type="consume" roles="europe-users"/> </security-setting>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 번째
security-setting
요소에서globalqueues.europe.orders.#
일치는 첫 번째security-setting
요소에 지정된globalqueues.europe.#
일치 항목보다 더 구체적입니다.globalqueues.europe.orders.#
과 일치하는 모든 주소의 경우createDurableQueue
,deleteDurableQueue
,createNonDurableQueue
,deleteNonDurableQueue
는 파일의 첫 번째security-setting
요소에서 상속 되지 않습니다. 예를 들어globalqueues.europe.orders.plastics
주소의 경우 존재하는 유일한 권한은europe-users
에게 전송
및소비
됩니다.따라서 한
security-setting
블록에 지정된 권한이 다른 보안 설정 블록에서 상속되지 않으므로 해당 권한을 지정하지 않고 특정security-setting
블록에서 권한을 효과적으로 거부할 수 있습니다.
5.3.2.1.5. 사용자를 사용하여 큐 구성 링크 복사링크가 클립보드에 복사되었습니다!
큐가 자동으로 생성되면 연결된 클라이언트의 사용자 이름이 큐에 할당됩니다. 이 사용자 이름은 큐의 메타데이터로 포함됩니다. 이름은 JMX 및 AMQ Broker 관리 콘솔에 의해 노출됩니다.
다음 절차에서는 브로커 구성에 수동으로 정의된 큐에 사용자 이름을 추가하는 방법을 보여줍니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. 지정된 큐의 경우
사용자
키를 추가합니다. 값을 할당합니다. 예를 들면 다음과 같습니다.<address name="ExampleQueue"> <anycast> <queue name="ExampleQueue" user="admin"/> </anycast> </address>
<address name="ExampleQueue"> <anycast> <queue name="ExampleQueue" user="admin"/> </anycast> </address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 구성에 따라
admin
사용자는 대기열ExampleQueue
에 할당됩니다.
- 큐에서 사용자를 구성해도 해당 큐의 보안 의미 체계는 변경되지 않으며 해당 큐의 메타데이터에만 사용됩니다.Configuring a user on a queue does not change any of the security semantics for that queue - it is only used for metadata on that queue.
사용자 간 매핑과 보안 관리자 라는 구성 요소에서 처리하는 역할 간의 매핑입니다. 보안 관리자는 브로커에 저장된 속성 파일에서 사용자 자격 증명을 읽습니다. 기본적으로 AMQ Broker는
org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
보안 관리자를 사용합니다. 이 기본 보안 관리자는 JAAS 및 Red Hat JBoss EAP(JBoss Enterprise Application Platform) 보안과의 통합을 제공합니다.사용자 지정 보안 관리자를 사용하는 방법은 5.6절. “사용자 정의 보안 관리자 사용” 을 참조하십시오.