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 로그인 모듈에 대한 정보를 제공합니다.

사전 요구 사항

절차

  1. 브로커를 중지합니다.

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis stop
    2. Windows에서:

      <broker_instance_dir>\bin\artemis-service.exe stop
  2. < broker_instance_dir> /etc/login.config 구성 파일을 엽니다.
  3. 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 환경에서 생성된 서비스 주체에 해당해야 합니다. 서비스 주체 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오.
  4. 브로커를 시작합니다.

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis run
    2. 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>