5.2.2. 속성 파일을 기반으로 사용자 및 암호 인증 구성
AMQ Broker는 주소를 기반으로 큐에 보안을 적용하기 위한 유연한 역할 기반 보안 모델을 지원합니다. 대기열은 일대일( point-to-point messaging) 또는 다대일(publish-subscribe) 메시징을 위해 주소에 바인딩됩니다. 메시지가 주소로 전송되면 브로커는 해당 주소에 바인딩된 대기열 세트를 조회하고 메시지를 해당 큐 세트로 라우팅합니다.
기본 사용자 및 암호 인증이 필요한 경우 PropertiesLoginModule
을 사용하여 정의합니다. 이 로그인 모듈은 브로커에 로컬로 저장된 다음 구성 파일에 대해 사용자 자격 증명을 확인합니다.
artemis-users.properties
- 사용자 및 해당 암호를 정의하는 데 사용됩니다.
artemis-roles.properties
- 역할을 정의하고 사용자를 해당 역할에 할당하는 데 사용됩니다.
login.config
- 사용자 및 암호 인증 및 게스트 액세스에 대한 로그인 모듈을 구성하는 데 사용됩니다.
artemis-users.properties
파일은 보안을 위해 해시된 암호를 포함할 수 있습니다.
다음 섹션에서는 구성 방법을 보여줍니다.
5.2.2.1. 기본 사용자 및 암호 인증 구성
다음 절차에서는 기본 사용자 및 암호 인증을 구성하는 방법을 보여줍니다.
절차
<
broker-instance-dir> /etc/login.config
구성 파일을 엽니다. 기본적으로 새 AMQ Broker 7.8 인스턴스의 이 파일에는 다음 행이 포함됩니다.activemq { org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient debug=false reload=true org.apache.activemq.jaas.properties.user="artemis-users.properties" org.apache.activemq.jaas.properties.role="artemis-roles.properties"; };
activemq
- 구성의 별칭입니다.
org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule
- 구현 클래스입니다.
sufficient
PropertiesLoginModule
에 필요한 성공 수준을 지정하는 플래그입니다. 설정할 수 있는 값은 다음과 같습니다.-
필수
: 성공하려면 로그인 모듈이 필요합니다. 인증은 성공 또는 실패에 관계없이 지정된 별칭 아래에 구성된 로그인 모듈 목록을 계속 진행합니다. -
requisite
: 성공을 위해서는 로그인 모듈이 필요합니다. 실패는 즉시 애플리케이션으로 제어를 반환합니다. 인증은 지정된 별칭 아래에 구성된 로그인 모듈 목록을 진행하지 않습니다. -
sufficient
: 성공을 위해 로그인 모듈이 필요하지 않습니다. 성공하면 제어가 애플리케이션으로 돌아가고 인증이 더 이상 진행되지 않습니다. 실패한 경우 인증 시도는 지정된 별칭 아래에 구성된 로그인 모듈 목록을 아래로 진행합니다. -
선택 사항
: 성공하려면 로그인 모듈이 필요하지 않습니다. 인증은 성공 또는 실패에 관계없이 지정된 별칭 아래에 구성된 로그인 모듈 목록을 계속 종료합니다.
-
org.apache.activemq.jaas.properties.user
- 로그인 모듈 구현에 대한 사용자 및 암호 세트를 정의하는 속성 파일을 지정합니다.
org.apache.activemq.jaas.properties.role
- 로그인 모듈 구현에 대해 사용자를 정의된 역할에 매핑하는 속성 파일을 지정합니다.
-
<
broker-instance-dir> /etc/artemis-users.properties
구성 파일을 엽니다. 사용자를 추가하고 사용자에게 암호를 할당합니다. 예를 들면 다음과 같습니다.
user1=secret user2=access user3=myPassword
-
<
broker-instance-dir> /etc/artemis-roles.properties
구성 파일을 엽니다. 이전에
artemis-users.properties
파일에 추가한 사용자에게 역할 이름을 할당합니다. 예를 들면 다음과 같습니다.admin=user1,user2 developer=user3
-
<
broker-instance-dir> /etc/bootstrap.xml
구성 파일을 엽니다. 필요한 경우 다음과 같이 파일에 보안 도메인 별칭(이 인스턴스에서 activemq)을 추가합니다.
<jaas-security domain="activemq"/>