5.5. 인증 및 권한 부여에 Kerberos 사용


AMQP 프로토콜을 사용하여 메시지를 전송하고 수신할 때 클라이언트는 SASL( Simple Authentication and Security Layer ) 프레임워크에서 GSSAPI 메커니즘을 사용하여 AMQ Broker에서 인증하는 Kerberos 보안 자격 증명을 보낼 수 있습니다. Kerberos 자격 증명은 인증된 사용자를 LDAP 디렉터리 또는 텍스트 기반 속성 파일에 구성된 할당된 역할에 매핑하여 권한 부여에 사용할 수도 있습니다.

SASL을 TLS( Transport Layer Security )와 함께 사용하여 메시징 애플리케이션을 보호할 수 있습니다. SASL은 사용자 인증을 제공하며 TLS는 데이터 무결성을 제공합니다.

중요
  • AMQ Broker가 Kerberos 자격 증명을 인증하고 인증하기 전에 Kerberos 인프라를 배포하고 구성해야 합니다. Kerberos 배포에 대한 자세한 내용은 운영 체제 설명서를 참조하십시오.

  • Oracle 또는 IBM JDK 사용자는 JCE(Java Cryptography Extension)를 설치해야 합니다. 자세한 내용은 Oracle 버전의 JCE 또는 IBM 버전의 JCE 설명서를 참조하십시오.

다음 절차에서는 인증 및 권한 부여를 위해 Kerberos를 구성하는 방법을 보여줍니다.

5.5.1. Kerberos를 사용하도록 네트워크 연결 구성

AMQ Broker는 SASL( Simple Authentication and Security Layer ) 프레임워크의 GSSAPI 메커니즘을 사용하여 Kerberos 보안 자격 증명과 통합됩니다. AMQ Broker에서 Kerberos를 사용하려면 각 수락자가 GSSAPI 메커니즘을 사용하도록 Kerberos 자격 증명을 사용하는 클라이언트를 인증하거나 승인해야 합니다.

다음 절차에서는 Kerberos를 사용하도록 수락자를 구성하는 방법을 설명합니다.

사전 요구 사항

  • AMQ Broker가 Kerberos 자격 증명을 인증하고 인증하기 전에 Kerberos 인프라를 배포하고 구성해야 합니다.

절차

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

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis stop
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe stop
      Copy to Clipboard Toggle word wrap
  2. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  3. 이름-값 쌍 saslMechanisms=GSSAPI수락자 URL의 쿼리 문자열에 추가합니다.

    <acceptor name="amqp">
      tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI
    </acceptor>
    Copy to Clipboard Toggle word wrap

    앞의 구성은 Kerberos 자격 증명을 인증할 때 수락자가 GSSAPI 메커니즘을 사용한다는 것을 의미합니다.

  4. (선택 사항) PLAINANONYMOUS SASL 메커니즘도 지원됩니다. 여러 메커니즘을 지정하려면 쉼표로 구분된 목록을 사용합니다. 예를 들면 다음과 같습니다.

    <acceptor name="amqp">
      tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN
    </acceptor>
    Copy to Clipboard Toggle word wrap

    결과는 GSSAPIPLAIN SASL 메커니즘을 모두 사용하는 어셉터입니다.

  5. 브로커를 시작합니다.

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis run
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe start
      Copy to Clipboard Toggle word wrap

추가 리소스

5.5.2. Kerberos 자격 증명을 사용하여 클라이언트 인증

AMQ Broker는 SASL( Simple Authentication and Security Layer ) 프레임워크의 GSSAPI 메커니즘을 사용하는 AMQP 연결의 Kerberos 인증을 지원합니다.

브로커는 JAAS( Java Authentication and Authorization Service )를 사용하여 Kerberos 어셉터 자격 증명을 취득합니다. Java 설치에 포함된 library는 Kerberos 자격 증명을 인증하는 로그인 모듈인 Krb5LoginModule 과 함께 패키지됩니다. Krb5LoginModule 에 대한 자세한 내용은 Java 벤더의 설명서를 참조하십시오. 예를 들어 Oracle에서는 Java 8 설명서 의 일부로 Krb5LoginModule 로그인 모듈에 대한 정보를 제공합니다.

사전 요구 사항

절차

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

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis stop
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe stop
      Copy to Clipboard Toggle word wrap
  2. &lt ;broker_instance_dir&gt; /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;
    };
    Copy to Clipboard Toggle word wrap
    amqp-sasl-gssapi
    기본적으로 브로커의 GSSAPI 메커니즘 구현은 amqp-sasl-gssapi 라는 CloudEvent 구성 범위를 사용하여 Kerberos acceptor 자격 증명을 가져옵니다.
    Krb5LoginModule
    Krb5LoginModule 버전은 Oracle 및 OpenJDK 버전의 JDK에서 제공합니다. Java 공급 업체의 설명서를 참조하여 Krb5LoginModule 의 정규화된 클래스 이름과 사용 가능한 옵션을 확인합니다.
    useKeyTab
    Krb5LoginModule 은 보안 주체를 인증할 때 Kerberos 키 탭을 사용하도록 구성됩니다. 키탭은 Kerberos 환경에서 툴링을 사용하여 생성됩니다. Kerberos 키 탭 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오.
    principal
    주체가 amqp/my_broker_host@example.com 로 설정됩니다. 이 값은 Kerberos 환경에서 생성된 서비스 주체에 일치해야 합니다. 서비스 주체 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오.
  4. 브로커를 시작합니다.

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis run
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe start
      Copy to Clipboard Toggle word wrap

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>
Copy to Clipboard Toggle word wrap

5.5.3. Kerberos 자격 증명을 사용하여 클라이언트 인증

AMQ Broker에는 역할을 매핑할 때 다른 보안 모듈에서 사용할 수 있도록 CloudEvent Krb5LoginModule 로그인 모듈 구현이 포함되어 있습니다. 이 모듈에서는 Subject의 보안 주체에 AMQ Broker UserPrincipal로 Kerberos 인증 Peer Principal을 추가합니다. 그런 다음 Kerberos 인증 Peer Principal을 AMQ Broker 역할에 매핑하는 PropertiesLoginModule 또는 LDAPLoginModule 모듈에 인증 정보를 전달할 수 있습니다.

참고

Kerberos Peer Principal은 역할 멤버로서만 브로커 사용자로 존재하지 않습니다.

사전 요구 사항

  • Kerberos 보안 자격 증명을 사용하여 AMQP 연결에 권한을 부여하려면 먼저 수락자의 GSSAPI 메커니즘을 활성화해야 합니다.

절차

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

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis stop
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe stop
      Copy to Clipboard Toggle word wrap
  2. &lt ;broker_instance_dir&gt; /etc/login.config 구성 파일을 엽니다.
  3. AMQ Broker Krb5LoginModuleLDAPLoginModule 에 대한 구성을 추가합니다. LDAP 공급자의 문서를 참조하여 구성 옵션을 확인합니다.

    구성 예는 다음과 같습니다.

    org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required
        ;
    org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional
        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
        connectionURL="ldap://localhost:1024"
        authentication=GSSAPI
        saslLoginConfigScope=broker-sasl-gssapi
        connectionProtocol=s
        userBase="ou=users,dc=example,dc=com"
        userSearchMatching="(krb5PrincipalName={0})"
        userSearchSubtree=true
        authenticateUser=false
        roleBase="ou=system"
        roleName=cn
        roleSearchMatching="(member={0})"
        roleSearchSubtree=false
        ;
    Copy to Clipboard Toggle word wrap
    참고

    이전 예에 표시된 Krb5LoginModule 버전은 AMQ Broker와 함께 배포되고 Kerberos ID를 역할 매핑을 위해 다른 AMQ 모듈에서 사용할 수 있는 브로커 ID로 변환합니다.

  4. 브로커를 시작합니다.

    1. Linux의 경우:

      <broker_instance_dir>/bin/artemis run
      Copy to Clipboard Toggle word wrap
    2. Windows에서 다음을 수행합니다.

      <broker_instance_dir>\bin\artemis-service.exe start
      Copy to Clipboard Toggle word wrap

추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat