5.5.2. Kerberos 자격 증명을 사용하여 클라이언트 인증
AMQ Broker는 SASL( Simple Authentication and Security Layer ) 프레임워크의 GSSAPI 메커니즘을 사용하는 AMQP 연결의 Kerberos 인증을 지원합니다.
브로커는 JAAS( Java Authentication and Authorization Service )를 사용하여 Kerberos 수락자 자격 증명을 획득합니다. Java 설치에 포함된 JAAS 라이브러리는 Kerberos 자격 증명을 인증하는 로그인 모듈 Krb5LoginModule
과 함께 패키지화됩니다. Krb5LoginModule
에 대한 자세한 내용은 Java 공급 업체의 문서를 참조하십시오. 예를 들어 Oracle은 Java 8 문서 의 일부로 Krb5LoginModule
로그인 모듈에 대한 정보를 제공합니다.
사전 요구 사항
- Kerberos 보안 자격 증명을 사용하여 AMQP 연결을 인증하려면 수락자의 GSSAPI 메커니즘을 활성화해야 합니다. 자세한 내용은 5.5.1절. “Kerberos를 사용하도록 네트워크 연결 구성”의 내용을 참조하십시오.
절차
브로커를 중지합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis stop
Windows에서:
<broker_instance_dir>\bin\artemis-service.exe stop
-
<
broker_instance_dir> /etc/login.config
구성 파일을 엽니다. amqp-sasl-gssapi
라는 구성 범위를 추가합니다. 다음 예제에서는 Oracle 및 OpenJDK 버전의 JDK에 있는Krb5LoginModule
의 구성을 보여줍니다.amqp-sasl-gssapi { com.sun.security.auth.module.Krb5LoginModule required isInitiator=false storeKey=true useKeyTab=true principal="amqp/my_broker_host@example.com" debug=true; };
amqp-sasl-gssapi
-
기본적으로 브로커의 GSSAPI 메커니즘 구현은
amqp-sasl-gssapi
라는 JAAS 구성 범위를 사용하여 Kerberos 수락자 자격 증명을 가져옵니다. Krb5LoginModule
-
이 버전의
Krb5LoginModule
은 Oracle 및 OpenJDK 버전의 JDK에서 제공합니다. Java 공급 업체의 문서를 참조하여Krb5LoginModule
의 정규화된 클래스 이름과 사용 가능한 옵션을 확인합니다. useKeyTab
-
Krb5LoginModule
은 보안 주체를 인증할 때 Kerberos 키탭을 사용하도록 구성되어 있습니다. 키탭은 Kerberos 환경의 툴링을 사용하여 생성됩니다. Kerberos 키탭 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오. 보안 주체
-
보안 주체는
amqp/my_broker_host@example.com
로 설정됩니다. 이 값은 Kerberos 환경에서 생성된 서비스 주체에 해당해야 합니다. 서비스 주체 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오.
브로커를 시작합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis run
Windows에서:
<broker_instance_dir>\bin\artemis-service.exe start
5.5.2.1. 대체 구성 범위 사용
AMQP 수락자의 URL에 saslLoginConfigScope
매개변수를 추가하여 대체 구성 범위를 지정할 수 있습니다. 다음 구성 예제에서 매개 변수 saslLoginConfigScope
에는 alternative-sasl-gssapi
값이 제공됩니다. 결과적으로 < broker_instance_dir> /etc/login.config
구성 파일에 선언된 alternative-sasl-gssapi
라는 대체 범위를 사용하는 허용자가 생성됩니다.
<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN;saslLoginConfigScope=alternative-sasl-gssapi` </acceptor>