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 배포에 대한 자세한 내용은 운영 체제 설명서를 참조하십시오.
- RHEL 7의 경우 Kerberos 사용을 참조하십시오.
- Windows의 경우 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 인프라를 배포하고 구성해야 합니다.
절차
브로커를 중지합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis stop
<broker_instance_dir>/bin/artemis stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe stop
<broker_instance_dir>\bin\artemis-service.exe stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
<
;broker_instance_dir> /etc/broker.xml구성 파일을 엽니다. 이름-값 쌍
saslMechanisms=GSSAPI를수락자URL의 쿼리 문자열에 추가합니다.<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI </acceptor>
<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI </acceptor>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 앞의 구성은 Kerberos 자격 증명을 인증할 때 수락자가 GSSAPI 메커니즘을 사용한다는 것을 의미합니다.
(선택 사항)
PLAIN및ANONYMOUSSASL 메커니즘도 지원됩니다. 여러 메커니즘을 지정하려면 쉼표로 구분된 목록을 사용합니다. 예를 들면 다음과 같습니다.<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN </acceptor>
<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN </acceptor>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과는
GSSAPI및PLAINSASL 메커니즘을 모두 사용하는 어셉터입니다.브로커를 시작합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis run
<broker_instance_dir>/bin/artemis runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe start
<broker_instance_dir>\bin\artemis-service.exe startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- 수락자에 대한 자세한 내용은 2.1절. “수락자 정보” 을 참조하십시오.
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 로그인 모듈에 대한 정보를 제공합니다.
사전 요구 사항
- Kerberos 보안 자격 증명을 사용하여 AMQP 연결을 인증하려면 먼저 수락자의 GSSAPI 메커니즘을 활성화해야 합니다. 자세한 내용은 5.5.1절. “Kerberos를 사용하도록 네트워크 연결 구성”의 내용을 참조하십시오.
절차
브로커를 중지합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis stop
<broker_instance_dir>/bin/artemis stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe stop
<broker_instance_dir>\bin\artemis-service.exe stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
<
;broker_instance_dir> /etc/login.config구성 파일을 엽니다. amqp-sasl-gssapi라는 구성 범위를 추가합니다. 다음 예제는 Oracle 및 OpenJDK 버전의 JDK에 있는Krb5LoginModule의 구성을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 환경에서 생성된 서비스 주체에 일치해야 합니다. 서비스 주체 생성에 대한 자세한 내용은 공급 업체의 설명서를 참조하십시오.
브로커를 시작합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis run
<broker_instance_dir>/bin/artemis runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe start
<broker_instance_dir>\bin\artemis-service.exe startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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>
<acceptor name="amqp">
tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN;saslLoginConfigScope=alternative-sasl-gssapi`
</acceptor>
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 메커니즘을 활성화해야 합니다.
절차
브로커를 중지합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis stop
<broker_instance_dir>/bin/artemis stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe stop
<broker_instance_dir>\bin\artemis-service.exe stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
<
;broker_instance_dir> /etc/login.config구성 파일을 엽니다. AMQ Broker
Krb5LoginModule및LDAPLoginModule에 대한 구성을 추가합니다. LDAP 공급자의 문서를 참조하여 구성 옵션을 확인합니다.구성 예는 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이전 예에 표시된
Krb5LoginModule버전은 AMQ Broker와 함께 배포되고 Kerberos ID를 역할 매핑을 위해 다른 AMQ 모듈에서 사용할 수 있는 브로커 ID로 변환합니다.브로커를 시작합니다.
Linux의 경우:
<broker_instance_dir>/bin/artemis run
<broker_instance_dir>/bin/artemis runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows에서 다음을 수행합니다.
<broker_instance_dir>\bin\artemis-service.exe start
<broker_instance_dir>\bin\artemis-service.exe startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- AMQ Broker에서 GSSAPI 메커니즘 활성화에 대한 자세한 내용은 5.5.1절. “Kerberos를 사용하도록 네트워크 연결 구성” 을 참조하십시오.
-
PropertiesLoginModule에 대한 자세한 내용은 5.2.2.1절. “기본 사용자 및 암호 인증 구성” 을 참조하십시오. -
LDAPLoginModule에 대한 자세한 내용은 5.4.1절. “클라이언트 인증을 위한 LDAP 구성” 을 참조하십시오.