JAAS(Java Authentication and Authorization Service)의 시스템 로그인 구성 항목 설정

이 페이지에서 JAAS(Java Authentication and Authorization Service) 시스템 로그인 구성 목록을 지정할 수 있습니다.

이 관리 콘솔 페이지를 보려면 다음 단계를 완료하십시오.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 인증 아래에서 JAAS(Java Authentication and Authorization Service) > 시스템 로그인을 클릭하십시오.
애플리케이션 서버 보안 런타임으로 인증하기 위해 추가 로그인 모듈 정의를 시작하기 전에 JAAS(Java Authentication and Authorization Service) 문서를 읽으십시오. 다음 시스템 로그인 모듈을 제거하지 마십시오.
[z/OS]

ICSF

ICSF(Integrated Cryptographic Services Facility)가 인증 메커니즘으로 사용되는 경우 로그인 요청을 처리합니다.

RMI_INBOUND, WEB_INBOUND, DEFAULT

원격 메소드 호출(RMI), 웹 애플리케이션 및 대부분의 기타 로그인 프로토콜의 인바운드 로그인 요청을 처리합니다.

RMI_INBOUND
이 로그인 구성은 인바운드 RMI 요청의 로그인을 처리합니다. 일반적으로 이 로그인은 EJB(Enterprise JavaBeans) 파일에 대한 액세스를 인증하기 위한 요청입니다. RMI 커넥터를 사용할 때 이 로그인은 JMX(Java Management Extensions)의 요청이 될 수 있습니다.
WEB_INBOUND
이 로그인 구성에서 서블릿 및 JSP(JavaServer Pages) 파일을 포함하는 웹 애플리케이션 요청의 로그인을 처리합니다. 이 로그인 구성은 TAI(Trust Association Interceptor)에서 생성된 출력과 상호 작용할 수 있습니다(구성된 경우). WEB_INBOUND 로그인 구성으로 전달된 주제에는 TAI에서 생성된 오브젝트가 포함될 수 있습니다.
DEFAULT
이 로그인 구성을 통해 대부분의 기타 프로토콜 및 내부 인증에서 작성한 인바운드 요청의 로그인을 처리합니다.

이 세 가지 로그인 구성은 다음 콜백 정보를 전달하여, 이러한 구성 내의 로그인 모듈에서 처리합니다. 콜백은 동시에 전달되지 않습니다. 그러나 이러한 콜백의 조합은 애플리케이션 서버에서 사용자를 인증하는 방법을 판별합니다.

콜백

callbacks[0] = new javax.security.auth.callback.
NameCallback("Username:");

책임
로그인 시 제공되는 사용자 이름을 수집합니다. 이 정보는 다음 로그인 유형의 사용자 이름이 될 수 있습니다.
  • 기본 인증으로 알려진 사용자 이름 및 비밀번호 로그인.
  • 비밀번호 없이 ID 어설션 전용의 사용자 이름입니다.
콜백

callbacks[1] = new javax.security.auth.callback.
PasswordCallback("Password:", false);

책임
로그인 시 제공되는 비밀번호를 수집합니다. 널 비밀번호가 허용되고 ID 어설션을 지원하는 데 사용됩니다.
콜백

callbacks[2] = new com.ibm.websphere.security.auth.callback.
WSCredTokenCallbackImpl("Credential Token:");

책임
로그인 시 LTPA(Lightweight Third Party Authentication) 토큰 또는 기타 토큰 유형을 수집합니다. 일반적으로 이 정보는 사용자 이름과 비밀번호가 없는 경우에 제공됩니다.
콜백

callbacks[3] = new com.ibm.wsspi.security.auth.callback.
WSTokenHolderCallback("Authz Token List:");

책임
호출에서 WSOpaqueTokenHelper로 리턴된 TokenHolder 오브젝트의 ArrayList 목록을 수집합니다. 콜백은 CSIv2(Common Secure Interoperability Version 2) 권한 토큰을 입력으로 사용하여 createTokenHolderListFromOpaqueToken 메소드를 사용합니다.
제한사항: 이 콜백은 보안 속성 전달 옵션이 사용 가능하고 이 로그인이 전파 로그인인 경우에만 존재합니다. 전파 로그인에서는, 추가 속성에 대한 사용자 레지스트리에 액세스 필요 없이 요청과 함께 충분한 보안 속성이 전달되었습니다. 아웃바운드 및 인바운드 인증에 대해 보안 사용 가능 속성 전달을 사용하도록 설정해야 합니다.
다음 단계를 수행하면 CSIv2 아웃바운드 인증에 대해 보안 속성 전달 옵션을 사용 가능하도록 설정할 수 있습니다.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 인증 아래에서 RMI/IIOP 보안을 펼치고 CSIv2 아웃바운드 인증을 클릭하십시오.
  3. 보안 속성 전파 옵션을 사용 가능하게 하십시오.
다음 단계를 수행하면 CSIv2 인바운드 인증에 대해 보안 속성 전파 옵션을 사용 가능으로 설정할 수 있습니다.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 인증 아래에서 RMI/IIOP 보안을 펼치고 CSIv2 인바운드 인증을 클릭하십시오.
  3. 보안 속성 전파 옵션을 사용 가능하게 하십시오.

시스템 로그인 구성에서 Application Server는 콜백으로 수집된 정보에 따라 사용자를 인증합니다. 그러나 사용자 정의 로그인 모듈이 이러한 콜백에 따라 작동할 필요는 없습니다. 다음 목록은 콜백의 일반적인 조합에 대해 설명합니다.

이전에 정의된 콜백 외에도, WEB_INBOUND 로그인 구성은 다음 추가 콜백만을 포함할 수 있습니다.
콜백

callbacks[4] = new com.ibm.websphere.security.auth.callback.
WSServletRequestCallback("HttpServletRequest:");

책임
HTTP Servlet 요청 오브젝트(존재하는 경우)를 수집합니다. 이 콜백을 사용하여 로그인 모듈은 로그인 시 사용할 정보를 HTTP 요청에서 검색할 수 있습니다.
콜백

callbacks[5] = new com.ibm.websphere.security.auth.callback.
WSServletResponseCallback("HttpServletResponse:");

책임
HTTP Servlet 응답 오브젝트(존재하는 경우)를 수집합니다. 이 콜백을 사용하여 로그인 모듈은 로그인 결과로 HTTP 응답에 정보를 추가할 수 있습니다. 예를 들어, 로그인 모듈은 응답에 SingleSignonCookie 쿠키를 추가할 수 있습니다.
콜백

callbacks[6] = new com.ibm.websphere.security.auth.callback.
WSAppContextCallback("ApplicationContextCallback:");

책임
로그인 시 사용된 웹 애플리케이션 컨텍스트를 수집합니다. 이 콜백은 애플리케이션 이름 및 경로가 재지정된 웹 주소(있는 경우)가 포함된 해시테이블로 구성됩니다.
콜백

callbacks[7] = new WSRealmNameCallbackImpl("Realm Name:", <default_realm>);

책임
로그인 정보에 대한 영역 이름을 수집합니다. 영역 정보는 항상 제공되는 것이 아니며 제공되지 않은 경우 현재 영역인 것으로 가정해야 합니다.
콜백

callbacks[8] = new WSX509CertificateChainCallback("X509Certificate[]:");

책임
로그인 소스가 SSL 클라이언트 인증의 X509Certificate인 경우 이 콜백은 SSL로 유효성이 검증된 인증을 포함합니다. ltpaLoginModule은 이전 릴리스에서와 동일한 맵핑 기능을 호출합니다. 로그인에 전달되면 사용자 정의 방식으로 인증을 맵핑할 기회를 사용자 정의 로그인 모듈에 제공합니다. 그런 다음, 해시 테이블 로그인을 수행합니다(해시 테이블 로그인의 예제는 관련 링크, 인바운드 맵핑에 대한 사용자 정의 로그인 모듈 참조).
WEB_INBOUND 로그인 구성에 보안 속성 전파를 사용하려면, 싱글 사인온 패널에서 웹 인바운드 보안 속성 전파 옵션을 켤 수 있습니다.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 인증 아래에서 웹 보안을 펼치고 단일 사인온(SSO)을 클릭하십시오.
  3. 웹 인바운드 보안 속성 전파 옵션을 선택하십시오.
다음과 같은 로그인 모듈이 RMI_INBOUND, WEB_INBOUND 및 DEFAULT 시스템 로그인 구성에 미리 정의됩니다. 사용자 정의 로그인 모듈을 이 로그인 모듈 앞, 사이 또는 뒤에 추가할 수 있지만 사전 정의된 로그인 모듈을 제거할 수는 없습니다.
  • com.ibm.ws.security.server.lm.ltpaLoginModule
    속성 전달이 사용 가능하거나 사용 불가능할 때 1차 로그인을 수행합니다. 1차 로그인은 사용자 ID 및 비밀번호, LTPA 토큰 또는 TAI(Trust Association Interceptor) 및 인증 식별 이름(DN)과 같은 표준 인증 정보를 사용합니다. 다음 시나리오 중 하나가 적용되면, 이 로그인은 사용되지 않으며 com.ibm.ws.security.server.lm..wsMapDefaultInboundLoginModule 모듈은 1차 로그인을 수행합니다.
    • 필수 사용자 속성이 있는 java.util.Hashtable 오브젝트가 주제에 포함되어 있습니다.
    • 필수 사용자 속성이 있는 java.util.Hashtable 오브젝트가 LoginContext의 sharedState HashMap에 존재합니다.
    • WSTokenHolderCallback 콜백이 지정된 비밀번호없이 존재합니다. 사용자 이름과 비밀번호가 전달된 정보를 표시하는 WSTokenHolderCallback 콜백과 함께 존재하는 경우, 요청은 기존 ID를 사용자 ID 및 비밀번호로 맵핑하는 다른 영역의 단일 클라이언트 또는 서버로부터 시작될 수 있습니다.
  • com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule
    이 로그인 모듈은 다음 조건 중 하나가 적용되는 경우 표준 인증 정보를 사용하여 1차 로그인을 수행합니다.
    • 필수 사용자 속성이 있는 java.util.Hashtable 오브젝트가 주제에 포함되어 있습니다.
    • 필수 사용자 속성이 있는 java.util.Hashtable 오브젝트가 LoginContext 컨텍스트의 sharedState HashMap에 있습니다.
    • PasswordCallback 콜백 없이 WSTokenHolderCallback 콜백이 제공됩니다.

    java.util.Hashtable 오브젝트가 존재하면, 로그인 모듈은 유효한 주제에 오브젝트 속성을 맵핑합니다. WSTokenHolderCallback 콜백이 있는 경우, 로그인 모듈은 바이트 토큰 오브젝트를 직렬화 해제하고 직렬화된 주제 내용을 재생성합니다. java.util.Hashtable 해시테이블은 기타 모든 로그인 양식보다 우선순위가 높습니다. 따라서 이전에 전달된 애플리케이션 서버를 중복하거나 대체하지 않도록 주의하십시오.

    java.util.Hashtable 해시테이블을 지정하여 다른 인증 정보보다 높은 우선순위를 확보한 경우, 사용자 정의 로그인 모듈에는 이미 확인된 LTPA 토큰이 있어야 합니다. 있을 경우, 충분한 신뢰를 설정하십시오. 사용자 정의 로그인 모듈은 com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validationLTPAToken(byte[]) 메소드를 사용하여 WSCredTokenCallback 콜백에 있는 LTPA 토큰의 유효성을 검증할 수 있습니다. LTPA 토큰의 유효성 검증에 실패하면 보안 위험이 발생합니다.

    애플리케이션 서버에서 충분한 로그인 정보로 사용하는 잘 알려지고 잘 형성된 속성을 포함하는 해시테이블 추가에 대한 자세한 정보는 Information Center의 "인바운드 ID 맵핑 구성"을 참조하십시오.

RMI_OUTBOUND

com.ibm.CSI.rmiOutboundLoginEnabled 또는 com.ibm.CSIOutboundPropagationEnabled 특성이 true이면 다른 서버 외부로 전송된 RMI(Remote Method Invocation) 요청을 처리합니다.

이러한 특성은 CSIv2 인증 패널에서 설정됩니다. 패널에 액세스하려면 다음 단계를 완료하십시오.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. 인증 아래에서 RMI/IIOP 보안을 펼치고 CSIv2 아웃바운드 인증을 클릭하십시오.
com.ibm.CSI.rmiOutboundLoginEnabled 특성을 설정하려면 사용자 정의 아웃바운드 맵핑을 선택하십시오. com.ibm.CSIOutboundPropagationEnabled 특성을 설정하려면 보안 속성 전달을 선택하십시오.

이 로그인 구성은 대상 서버 및 해당 보안 도메인의 보안 성능을 판별합니다. 애플리케이션 서버가 인증 및 권한 정보 다운스트림을 모두 전송하는 경우, 애플리케이션 서버는 사용자 레지스트리에 다시 액세스하여 인증 목적을 위해 사용자의 보안 속성을 찾을 필요가 없습니다. 또한 전송 서버에 추가된 모든 사용자 정의 오브젝트가 다운스트림 서버의 주제에 나타납니다.

다음 콜백은 RMI_OUTBOUND 로그인 구성에서 사용 가능합니다. 이 콜백이 리턴한 com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy 오브젝트를 사용하여 이 특정 아웃바운드 요청의 보안 정책을 조회할 수 있습니다. 이 조회는 대상 영역이 현재 영역과 다른지 그리고 애플리케이션 서버가 영역을 맵핑해야 하는지를 판별하는 데 도움을 줄 수 있습니다. 자세한 정보는 Information Center의 "다른 대상 영역에 맵핑하는 아웃바운드 구성"을 참조하십시오.

콜백
callbacks[0] = new WSProtocolPolicyCallback("Protocol Policy Callback: ");
책임

이 아웃바운드 호출의 로그인 모듈에 프로토콜 특정 정책 정보를 제공합니다. 이 정보는 대상 영역, 대상 보안 요구사항 및 연결된 보안 요구사항을 포함하여 보안 레벨을 판별하는 데 사용됩니다.

다음 메소드는 다음 특정 로그인 모듈에서 CSIv2PerformPolicy 정책을 얻습니다.

csiv2PerformPolicy = (CSIv2PerformPolicy)
((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy();

RMI가 아닌 다른 프로토콜에는 다른 유형의 정책 오브젝트가 있을 수 있습니다.

다음 로그인 모듈은 RMI_OUTBOUND 로그인 구성에 사전 정의되어 있습니다. 사용자 정의 로그인 모듈을 이러한 로그인 모듈 앞, 사이 또는 뒤에 추가할 수 있지만 미리 정의된 로그인 모듈을 제거할 수 없습니다.
com.ibm.ws.security.lm.wsMapCSIv2OutboundLoginModule
CSIv2(Common Secure Interoperability Version 2) 권한 토큰 계층을 사용하여 다른 서버로 전송된 분명하지 않은 바이트를 작성하기 전에 다음의 토큰 및 오브젝트를 검색합니다.
  • 주제에서 전달 가능한 com.ibm.wsspi.security.token.Token 구현
  • 주제에서 직렬화 가능한 사용자 정의 오브젝트
  • 스레드의 전파 토큰

이 로그인 모듈에 앞서 사용자 정의 로그인 모듈을 사용하여 신임 맵핑을 수행할 수 있습니다. 그러나 로그인 단계 중에 전달된 주제의 컨텐츠를 로그인 모듈에서 변경하는 것이 바람직합니다. 이 권장사항을 따를 경우 이 로그인 모듈 다음에 처리된 로그인 모듈이 새 주제 내용에서 작동합니다.

자세한 정보는 Information Center의 "다른 대상 영역에 맵핑하는 아웃바운드 구성"을 참조하십시오.

[AIX Solaris HP-UX Linux Windows][IBM i]

SWAM

SWAM(Simple WebSphere Authentication Mechanism)이 인증 메소드로 사용될 경우 단일 서버 환경의 로그인 요청을 처리합니다.

SWAM은 전달 가능한 신임은 지원하지 않습니다. SWAM이 인증 메소드인 경우, 애플리케이션 서버는 서버에서 서버로 요청을 전송할 수 없습니다. 이 경우에는 LTPA를 사용해야 합니다.
참고: SWAM 로그인 구성은 더 이상 사용되지 않고 이후 릴리스에서는 제거됩니다.
[z/OS] 참고: SWAM은 애플리케이션 서버 버전 8.5에서 더 이상 사용되지 않고 이후 릴리스에서는 제거됩니다.
[z/OS]

SWAM

이 로그인 구성을 사용하여 LDAP(Lightweight Directory Access Protocol) 사용자 레지스트리의 ID를 SAF(System Authorization Facility) 사용자 ID에 맵핑할 수 있습니다.

[z/OS] 참고: SWAM은 애플리케이션 서버 버전 8.5에서 더 이상 사용되지 않고 이후 릴리스에서는 제거됩니다.

wssecurity.IDAssertion

ID 어설션을 사용하여 웹 서비스 보안에 대한 로그인 구성 요청을 처리합니다.

이 로그인 구성은 Web Services Security Draft 13 JAX-RPC(버전 5.x) 애플리케이션용입니다. 자세한 정보는 Information Center의 "ID 어설션 인증 메소드"를 참조하십시오.

wssecurity.IDAssertionUsernameToken

ID 어설션을 사용하여 웹 서비스 보안에 대한 로그인 구성 요청을 처리합니다.

이 로그인 구성은 Web Services SecurityV1.0 JAX-RPC 애플리케이션용입니다.

사용자 정의 특성 com.ibm.wsspi.wssecurity.auth.module.IDAssertionLoginModule.disableUserRegistryCheck는 JAAS IDAssertionUsernameToken 로그인 모듈에 대해 구성될 수 있습니다. 이 특성은 웹 서비스 보안 ID 어설션 JAAS 로그인 모듈인 wssecurity.IDAssertionUsernameToken의 옵션입니다. 인바운드 ID 토큰 처리 시 로그인 모듈이 사용자 레지스트리 검사를 수행하지 않음을 표시하는 특성입니다.

wssecurity.PKCS7

PKCS7(Public Key Cryptography Standards #7) 오브젝트의 인증 취소 목록을 사용하여 X.509 인증을 확인합니다.

이 로그인 구성은 버전 6.0.x 시스템용입니다.

wssecurity.PkiPath

PKI(공용 키 하부 구조) 경로를 사용하여 X.509 인증을 확인합니다.

이 로그인 구성은 버전 6.0.x 시스템용입니다.

wssecurity.signature

디지털 서명 유효성 검증을 사용하여 웹 서비스 보안에 대한 로그인 구성 요청을 처리합니다.

이 로그인 구성은 버전 5.x 시스템용입니다.

wssecurity.UsernameToken

기본 인증(사용자 이름 및 비밀번호)을 확인합니다.

JAX-RPC 런타임을 사용할 때에는 다음과 같은 사용자 정의 특성을 JAAS UsernameToken 로그인 모듈에 구성할 수 있습니다.

사용자 정의 특성 com.ibm.wsspi.wssecurity.auth.module.UsernameLoginModule.disableUserRegistryCheck를 JAAS UsernameToken 로그인 모듈에 구성할 수 있습니다. 이 특성은 웹 서비스 보안 UsernameToken JAAS 로그인 모듈인 com.ibm.wsspi.wssecurity.auth.module.UsernameLoginModule의 옵션입니다. 인바운드 사용자 이름 토큰 처리 시 로그인 모듈이 사용자 레지스트리 검사를 수행하지 않음을 표시하는 특성입니다.

wssecurity.X509BST

인증 및 인증 경로의 유효성을 검증하여 X.509 BST(2진 보안 토큰)를 확인합니다.

이 로그인 구성은 버전 6.0.x 시스템용입니다.

LTPA_WEB

서블릿, JSP(JavaServer pages) 파일과 같은 웹 컨테이너의 컴포넌트에 대한 로그인 요청을 처리합니다.

com.ibm.ws.security.web.AuthenLoginModule 로그인 모듈은 LTPA 로그인 구성에 사전 정의되어 있습니다. LTPA_WEB 로그인 구성에서 이 모듈 이전 또는 이후에 사용자 정의 로그인 모듈을 추가할 수 있습니다.

LTPA_WEB 로그인 구성은 HttpServletRequest 오브젝트, HttpServletResponse 오브젝트 및 콜백 핸들러를 사용하여 전달된 웹 애플리케이션 이름을 처리할 수 있습니다. 자세한 정보는 Information Center의 "예제: 서버측 JAAS(Java Authentication and Authorization Service) 인증 및 로그온 구성 사용자 정의"를 참조하십시오.

LTPA

LTPA_WEB 로그인 구성에서 처리하지 않은 로그인 요청을 처리합니다.

이 로그인 구성은 WebSphere Application Server 버전 6.1 및 이전 버전에서 사용됩니다.

com.ibm.ws.security.server.lm.ltpaLoginModule 로그인 모듈은 LTPA 로그인 구성에 사전 정의되어 있습니다. LTPA 로그인 구성에서 이 모듈 이전 또는 이후에 사용자 정의 로그인 모듈을 추가할 수 있습니다. 자세한 정보는 Information Center의 "예제: 서버측 JAAS(Java Authentication and Authorization Service) 인증 및 로그온 구성 사용자 정의"를 참조하십시오.

LTPA_WEB

서블릿, JSP(JavaServer pages) 파일과 같은 웹 컨테이너의 컴포넌트에 대한 로그인 요청을 처리합니다.

com.ibm.ws.security.web.AuthenLoginModule 로그인 모듈은 LTPA 로그인 구성에 사전 정의되어 있습니다. LTPA_WEB 로그인 구성에서 이 모듈 이전 또는 이후에 사용자 정의 로그인 모듈을 추가할 수 있습니다.

LTPA_WEB 로그인 구성은 HttpServletRequest 오브젝트, HttpServletResponse 오브젝트 및 콜백 핸들러를 사용하여 전달된 웹 애플리케이션 이름을 처리할 수 있습니다. 자세한 정보는 Information Center의 "예제: 서버측 JAAS(Java Authentication and Authorization Service) 인증 및 로그온 구성 사용자 정의"를 참조하십시오.

[업데이트 됨- 2013년 6월]

DESERIALIZE_ASYNCH_CONTEXT

비동기 Bean에 대한 요청을 처리합니다.

DESERIALIZE_ASYNCH_CONTEXT 구성은 비동기 Bean에만 사용됩니다. 스케줄러는 직렬화 및 J2EE 컨텍스트의 질렬화 해제를 허용하는 "지연된 시작"의 비동기 Bean 알람 관리자를 이용합니다. 이 로그인 구성은 비동기 Bean, 스케줄러 및 EJB 타이머를 사용하는 경우 사용됩니다.
경고:
DESERIALIZE_ASYNCH_CONTEXT 로그인 구성에는 제한사항이 있습니다. DESERIALIZE_ASYNC_CONTEXT 로그인 구성에 구성된 lognModules에서 토큰 유효성 검증이 필요한 조작은 TokenExpiredException을 반복적으로 처리하는 API를 초래할 수 있습니다.
[업데이트 됨- 2013년 6월]


파일 이름: usec_sysjaas.html