Sun Java System Message Queue 4.1 릴리스 노트

JAAS 호환 인증 설정

JAAS 호환 인증 설정에는 이 유형의 인증을 선택하고 구성 파일의 위치를 지정하며 사용할 로그인 모듈에 대한 항목을 지정할 수 있는 브로커 및 시스템 등록 정보의 설정이 포함됩니다.

이 절에서는 JAAS 클라이언트, 로그인 모듈 및 JAAS 구성 파일 간의 관계와 JAAS 호환 인증 설정에 필요한 프로세스에 대해 설명합니다. 다음 그림은 구성 파일, 로그인 모듈 및 브로커 간의 관계를 나타냅니다.

그림 1–3 JAAS 지원 설정

이 그림은 JAAS 관련 파일 간의 관계를 나타냅니다. 그림에 삽입된 텍스트는 해당 내용을 설명합니다.

그림에서와 같이 JAAS 구성 파일 MyJAASCFile.config에는 시작점에서 그룹화된 여러 로그인 모듈에 대한 참조 항목이 포함됩니다. 브로커에서는 Java 시스템 등록 정보 java.security.auth.login.config 또는 Java 보안 등록 정보 파일을 참조하여 구성 파일을 찾습니다. 사용할 로그인 모듈은 구성 파일에 원하는 항목을 지정할 수 있는 브로커 등록 정보 imq.user_repository.jaas.name을 참조하여 결정합니다. 이 모듈에 대한 클래스는 lib/ext 디렉토리에 있습니다.

Message Queue에 JAAS 지원을 설정하려면 다음 단계를 완료해야 합니다. (개발 환경에서는 개발자가 다음의 모든 단계를 수행할 수 있습니다. 프로덕션 환경에서는 관리자가 이 작업의 일부를 인계 받습니다.)

  1. 인증 서비스를 구현하는 로그인 모듈 클래스를 하나 이상 만듭니다. 브로커에서 지원하는 JAAS 콜백 유형은 다음과 같습니다.

    javax.security.auth.callback.LanguageCallback

    브로커에서 이 콜백을 사용하여 브로커가 실행될 로켈을 인증 서비스에 전달합니다. 이 값은 현지화에 사용할 수 있습니다.

    javax.security.auth.callback.NameCallback

    브로커에서 이 콜백을 사용하여 연결 요청 시 Message Queue 클라이언트가 지정한 사용자 이름을 인증 서비스에 전달합니다.

    javax.security.auth.callback.TextInputCallback

    TextInputCallback.getPrompt()imq.authentication.type일 때 브로커에서 이 콜백을 사용하여 imq.authentication.type 값을 인증 서비스에 지정합니다. 이때 이 필드에 지정할 수 있는 유일한 값은 basic입니다. 이는 Base 64 비밀번호 인코딩을 나타냅니다.

    javax.security.auth.callback.PasswordCallback

    브로커에서 이 콜백을 사용하여 연결 요청 시 Message Queue 클라이언트가 지정한 비밀번호를 인증 서비스에 전달합니다.

    javax.security.auth.callback.TextOutputCallback

    브로커에서 이 콜백을 사용하여 텍스트 출력을 브로커 로그 파일에 기록함으로써 인증 서비스에 로깅 서비스를 제공합니다. 콜백의 MessageType ERROR, INFORMATION, WARNING은 각각 브로커 로그 수준 ERROR, INFOWARNING에 매핑됩니다.

  2. 로그인 모듈 클래스를 참조하는 항목을 사용하여 JAAS 구성 파일을 만들고 이 파일의 위치를 Message Queue 관리자에 지정합니다. (이 파일은 원격으로 찾을 수 있으며 해당 위치를 URL로 지정할 수 있습니다.)

  3. 로그인 구현 클래스를 참조하는 항목 이름을 JAAS 구성 파일에 기록합니다.

  4. 로그인 모듈을 구현하는 클래스를 jar 파일로 아카이브하고 이 jar 파일을 Message Queue lib/ext 디렉토리에 둡니다.

  5. JAAS 지원과 관련된 브로커 등록 정보를 구성합니다. 이에 대해서는 표 1–2에서 설명합니다.

  6. 다음 시스템 등록 정보를 설정하여 JAAS 구성 파일의 위치를 지정합니다.

    java.security.auth.login.config= JAAS_Config_File_Location

    예를 들어, 브로커를 시작할 때 다음과 같이 구성 파일을 지정할 수 있습니다.

    imqbrokerd -Djava.security.auth.login.config=JAAS_Config_File_Location

    다른 방법을 사용하여 JAAS 구성 파일의 위치를 지정할 수도 있습니다. 추가 정보는 다음 사이트를 참조하십시오.

    http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/tutorials/LoginConfigFile.html

다음 표는 JAAS 지원 설정에 필요한 브로커 등록 정보에 대해 설명합니다.

표 1–2 JAAS 지원을 위한 브로커 등록 정보

등록 정보 

설명 

imq.authentication.type

Base 64 비밀번호 인코딩을 지정하려면 basic으로 설정합니다. 이는 JAAS 인증에 지정할 수 있는 유일한 값입니다.

imq.authentication.basic.user_repository

JAAS 인증을 지정하려면 jaas로 설정합니다.

imq.accesscontrol.type

file로 설정합니다.

imq.user_repository.jaas.name

JAAS 구성 파일에서 인증 메커니즘으로 사용할 로그인 모듈이 참조된 항목 중 원하는 항목 이름으로 설정합니다. 이 이름은 단계 3에서 기록한 이름입니다.

imq.user_repository.jaas.userPrincipalClass

Message Queue 액세스 제어에서 사용하는 이 등록 정보는 Message Queue 액세스 제어 파일에서 사용자 엔티티를 나타내는 Principal 이름을 추출하기 위해 브로커가 사용하는 로그인 모듈에 java.security.Principal 구현 클래스를 지정합니다. 이 등록 정보를 지정하지 않으면 연결 요청 시 Message Queue 클라이언트로부터 전달된 사용자 이름이 대신 사용됩니다.

imq.user_repository.jaas.groupPrincipalClass

Message Queue 액세스 제어에서 사용하는 이 등록 정보는 Message Queue 액세스 제어 파일에서 그룹 엔티티를 나타내는 Principal 이름을 추출하기 위해 브로커가 사용하는 로그인 모듈에 java.security.Principal 구현 클래스를 지정합니다. 이 등록 정보를 지정하지 않으면 Message Queue 액세스 제어 파일의 그룹 규칙(있는 경우)이 무시됩니다.