Java 인증 및 권한 서비스의 시스템 로그인
구성 항목 설정Java 인증 및 권한 서비스(JAAS) 시스템 로그인 구성 목록을 지정하려면, 이 페이지를 사용하십시오.
이 관리 콘솔 페이지를 보려면, 보안 > JAAS 구성 > 시스템 로그인을 클릭하십시오.
WebSphere Application Server 보안 런타임으로 인증하기 위해 추가 로그인 모듈 정의를 시작하기 전에 Java 인증 및 권한 서비스를 읽으십시오. 다음 시스템 로그인 모듈을 제거하지 마십시오.
이 세 가지 로그인 구성은 다음 콜백 정보를 전달할 수 있으며, 이러한 구성 내의 로그인 모듈이 처리합니다. 이러한 콜백은 동시에 전달되지 않습니다. 그러나 이러한 콜백의 조합은 WebSphere Application Server가 사용자를 인증하는 방법을 판별합니다.
| 콜백 | 책임 |
|---|---|
| callbacks[0] = new javax.security.auth.callback.NameCallback("Username: "); | 로그인 시 제공되는 사용자 이름을 수집합니다. 이 정보는
다음 로그인 유형의 사용자 이름이 될 수 있습니다.
|
| callbacks[1] = new javax.security.auth.callback.PasswordCallback("Password: ", false); | 로그인 시 제공되는 암호를 수집합니다. |
| 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 오브젝트의 AraayList를 수집합니다. CSIv2(Common Secure Interoperability 버전 2) 권한 토큰을 입력으로 사용하는 createTokenHolderListFromOpaqueToken () 메소드. |
시스템 로그인 구성에서 WebSphere Application Server는 콜백으로 수집된 정보에 따라 사용자를 인증합니다. 그러나 사용자 정의 로그인 모듈은 이러한 콜백에 따라 작동할 필요는 없습니다. 다음 목록은 이러한 콜백의 일반적인 조합에 대해 설명합니다.
이 콜백은 CSIv2 ID 신뢰, 웹, CSIv2 X509 인증 로그인, 구형 TAI(Trust Association Interceptor) 로그인 등에 나타납니다. CSIv2 X.509 인증 로그인에서 WebSphere Application Server는 인증을 사용자 이름에 맵핑합니다. 이 콜백은 사용자 이름만 사용하여 신뢰를 구성하는 로그인 유형에 사용됩니다.
이 콜백 조합은 기본 인증 로그인을 대표합니다. 대부분의 사용자 인증이 이 두 가지 콜백을 사용하여 나타납니다.
이 콜백은 일반적으로 LTPA(Lightweight Third Party Authentication) 토큰의 유효성을 검증하기 위해 다운스트림 서버에서 사용합니다. WebSphere Application Server에서 요청을 시작할 때마다, 단일 클라이언트 대신에 일반적으로 LTPA 토큰이 대상 서버로 이동합니다. SSO(single signon)의 경우, LTPA 토큰은 쿠키에서 수신되며 토큰은 로그인에 사용됩니다. 사용자 로그인 모듈이 LTPA 토큰의 사용자 이름을 필요로 하면, 모듈은 com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validateLTPAToken(byte[]) 메소드를 사용하여 토큰에서 고유 ID를 검색할 수 있습니다. 고유 ID를 검색한 후에는 com.ibm.wsspi.security.token.WSSecurityPropagationHelper.getUserFromUniqueID(uniqueID) 메소드를 사용하여 사용자 이름을 가져오십시오.
이 콜백은 몇 가지 전달된 속성이 서버에 도달했음을 나타냅니다. 전달된 속성에는 여전히 다음 인증 메소드 중 하나가 필요합니다.
속성이 단일 클라이언트의 주제에 추가되면, NameCallback 및 PasswordCallback은 정보를 인증하고 토큰 홀더에서 직렬화된 오브젝트는 인증된 주제에 추가됩니다.
CSIv2 ID 신뢰 및 전달이 모두 사용 가능하면, WebSphere Application Server는 전달된 속성이 모두 들어 있는 토큰 홀더와 NameCallback을 사용하여 대부분의 오브젝트를 비직렬화합니다. WebSphere Application Server는 신뢰가 CSIv2 신뢰 서버 목록에 표시되는 서버로 설정되므로 NameCallback만 사용합니다. 신뢰 서버를 지정하려면, 보안 > 인증 프로토콜 > CSIv2 인바운드 인증을 클릭하십시오.
사용자 정의 직렬화만이 사용자 정의 로그인 모듈에서 처리되어야 합니다. 자세한 정보는 "보안 속성 전달"을 참조하십시오.
이전에 정의된 콜백 외에도, 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: "); | 로그인 시 사용된 웹 응용프로그램 컨텍스트를 수집합니다. 이 콜백은 응용프로그램 이름과 경로 재지정 웹 주소(존재하는 경우)를 포함하는 HashMap으로 구성됩니다. |
다음 로그인 모듈은 RMI_INBOUND, WEB_INBOUND 및 DEFAULT 시스템 로그인 구성에 사전 정의됩니다. 이 로그인 모듈의 앞, 사이 또는 뒤에 사용자 정의 로그인 모듈을 추가할 수 있으나 이러한 사전 정의된 로그인 모듈을 제거할 수는 없습니다.
이 로그인 모듈은 속성 전달이 사용 가능하거나 사용 불가능할 때 1차 로그인을 수행합니다. 1차 로그인은 사용자 ID 및 암호, LTPA 토큰 또는 TAI(trust association interceptor) 및 인증 식별 이름(DN)과 같은 표준 인증 정보를 사용합니다. 다음 시나리오 중 하나가 적용되면, 이 로그인은 사용되지 않으며 com.ibm.ws.security.server.lm.wsMapInboundLoginModule은 1차 로그인을 수행합니다.
이 로그인 모듈은 다음 조건 중 하나가 적용되는 경우 표준 인증 정보를 사용하여 1차 로그인을 수행합니다.
java.util.Hashtable 오브젝트가 존재하면, 로그인 모듈은 유효한 주제에 오브젝트 속성을 맵핑합니다. WSTokenHolderCallback이 존재하면, 로그인 모듈은 바이트 토큰 오브젝트를 비직렬화하고 직렬화된 주제 컨텐츠를 재생성합니다. java.util.Hashtable은 기타 모든 로그인 양식보다 우선순위가 높습니다. 따라서 이전에 전달되었을 수 있는 WebSphere Application Server를 중복하거나 대체하지 않도록 주의하십시오.
이러한 등록 정보는 CSIv2 인증 패널에 설정됩니다. 패널에 액세스하려면, 보안 > 인증 프로토콜 > CSIv2 아웃바운드 인증을 클릭하십시오. com.ibm.CSI.rmiOutboundLoginEnabled 등록 정보를 설정하려면, 사용자 정의 아웃바운드 맵핑을 선택하십시오. com.ibm.CSIOutboundPropagationEnabled 등록 정보를 설정하려면 보안 속성 전달을 선택하십시오.
이 로그인 구성은 대상 서버 및 해당 보안 도메인의 보안 성능을 판별합니다. 예를 들어, WebSphere Application Server 버전 5.1.1이 버전 5.x Application Server와 통신하면, 버전 5.1.1 Application Server는 LTPA 토큰을 사용하여 버전 5.x Application Server로 인증 정보를 전송합니다. 그러나 WebSphere Application Server 버전 5.1.1이 버전 5.1.x Application Server와 통신하는 경우, 전송 중 및 수신 중인 서버 둘 모두에 전달이 가능하면 인증 및 권한 정보가 Application Server로 전송됩니다.
다음 콜백은 RMI_OUTBOUND 로그인 구성에 사용 가능합니다. 이 콜백으로 리턴된 com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy 오브젝트를 사용하여 이 특정 아웃바운드 요청의 보안 정책을 조회할 수 있습니다. 이 조회는 대상 범주가 현재 범주와 다른지와 WebSphere Application Server가 범주를 맵핑해야 하는지를 판별하는 데 도움을 줄 수 있습니다. 자세한 정보는 "다른 대상 범주에 맵핑하는 아웃바운드 구성"을 참조하십시오.
| 콜백 | 책임 |
|---|---|
| callbacks[0] = new WSProtocolPolicyCallback("Protocol Policy Callback: "); |
이 아웃바운드 호출의 로그인 모듈에 프로토콜 특정 정책 정보를 제공합니다. 이 정보는 대상 범주, 대상 보안 요구사항 및 연결된 보안 요구사항을 포함하여 보안 레벨을 판별하는 데 사용됩니다. 다음 메소드는 이 특정 로그인 모듈에서 CSIv2PerformPolicy를 얻습니다. csiv2PerformPolicy = (CSIv2PerformPolicy) ((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy(); RMI가 아닌 다른 프로토콜에는 다른 유형의 정책 오브젝트가 있을 수 있습니다. |
다음 로그인 모듈은 RMI_OUTBOUND 로그인 구성에 사전 정의되어 있습니다. 이 로그인 모듈의 앞, 사이 또는 뒤에 사용자 정의 로그인 모듈을 추가할 수 있으나 이러한 사전 정의된 로그인 모듈을 제거할 수는 없습니다.
이 로그인 모듈에 앞서 사용자 정의 로그인 모듈을 사용하여 신임 맵핑을 수행할 수 있습니다. 그러나 로그인 단계 중에 전달된 주제의 컨텐츠를 로그인 모듈에서 변경하는 것이 바람직합니다. 이러한 권장사항을 따를 경우, 이 로그인 모듈 다음에 처리된 로그인 모듈은 새 주제 컨텐츠에서 작동합니다.
SWAM(Simple WebSphere Authentication Mechanism)은 전달 가능한 신임을 지원하지 않습니다. SWAM이 인증 메소드이면, WebSphere Application Server는 서버에서 서버로 요청을 전송할 수 없습니다. 이 경우에는 LTPA를 사용해야 합니다.
이 로그인 구성은 WebSphere Application Server 버전 5.1 및 이전 버전에서 사용합니다.
com.ibm.ws.security.web.AuthenLoginModule 로그인 모듈은 LTPA 로그인 구성에 사전 정의되어 있습니다. LTPA_WEB 로그인 구성에서 이 모듈 이전 또는 이후에 사용자 정의 로그인 모듈을 추가할 수 있습니다.
LTPA_WEB 로그인 구성은 HttpServletRequest 오브젝트, HttpServletResponse 오브젝트 및 콜백 핸들러를 사용하여 전달된 웹 응용프로그램 이름을 처리할 수 있습니다. 자세한 정보는 문서에서 "서버측 Java 인증 및 권한 서비스 인증 및 로그인 구성 사용자 정의"를 참조하십시오.
이 로그인 구성은 WebSphere Application Server 버전 5.1 및 이전 버전에서 사용합니다.
com.ibm.ws.security.server.lm.ltpaLoginModule 로그인 모듈은 LTPA 로그인 구성에 사전 정의되어 있습니다. LTPA 로그인 구성에서 이 모듈 이전 또는 이후에 사용자 정의 로그인 모듈을 추가할 수 있습니다. 자세한 정보는 문서에서 "서버측 Java 인증 및 권한 서비스 인증 및 로그인 구성 사용자 정의"를 참조하십시오.