SPNEGO TAI 사용자 정의 특성 구성(더 이상 사용되지 않음)
SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) TAI(Trust Association Interceptor) 사용자 정의 구성 특성은 SPNEGO TAI의 여러 조작상의 측면을 제어합니다. 각 애플리케이션 서버에 대해 여러 특성 값을 지정할 수 있습니다.

WebSphere® 애플리케이션 서버 버전 6.1에서는 SPNEGO(Simple and Protected GSS-API Negotiation Mechanism)를 사용하여 보안 설정된 자원에 대해 HTTP 요청을 안전하게 처리하고 인증하는 신뢰 연관 인터셉터(TAI)가 도입되었습니다. WebSphere Application Server 7.0에서 이 기능은 이제 더 이상 사용되지 않습니다. SPNEGO 웹 인증을 사용하면 SPNEGO 필터를 동적으로 다시 로드하고 애플리케이션 로그인 메소드로의 대체를 사용할 수 있습니다.
depfeat다음 테이블에 정의된 각 특성은 관리 콘솔 기능을 사용하여 SPNEGO TAI의 사용자 정의 특성 패널에서 지정됩니다. 편의상 이러한 특성을 특성 파일에 선택적으로 배치할 수 있습니다. 이 경우 SPNEGO TAI는 사용자 정의 특성 패널 정의 대신 파일의 구성 특성을 로드합니다. SPNEGO TAI JVM 구성 사용자 정의 특성(더 이상 사용되지 않음)에서 정의된 com.ibm.ws.security.spnego.propertyReloadFile 특성을 참조하십시오.
가능한 각 SPN을 식별하는 고유 특성 이름을 지정하기 위해 SPN<id>가 특성 이름에 임베드되어 각 SPN과 연관된 특성을 그룹화하는 데 사용됩니다. SPN<id>는 각 특성 그룹에 대해 순차적으로 번호가 지정됩니다.
특성 이름 | Required | 기본값 |
---|---|---|
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate | 아니오 | false |
com.ibm.ws.security.spnego.SPN<id>.filter | 아니오 | 다음 설명을 참조하십시오. |
com.ibm.ws.security.spnego.SPN<id>.filterClass | 아니오 | 다음 설명을 참조하십시오. |
com.ibm.ws.security.spnego.SPN<id>.hostName | 예 | 없음 |
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage | 아니오 | 다음 설명을 참조하십시오. |
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage | 아니오 | 다음 설명을 참조하십시오. |
com.ibm.ws.security.spnego.SPN<id>.trimUserName | 아니오 | true |
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate
이 특성은 선택적입니다. 이 특성은 Kerberos 위임 신임 정보가 SPNEGO TAI에 의해 저장되는지 여부를 표시합니다. 이 특성은 추가 SPNEGO 인증을 위해 저장된 신임 정보를 검색하여 이 정보를 다른 애플리케이션 다운스트림에 전파하는 애플리케이션의 기능을 사용으로 설정합니다.
이 특성에서는 고급 Kerberos 신임 정보 위임 기능을 사용해야 하고 애플리케이션 개발자가 사용자 정의 로직을 개발해야 합니다. 개발자는 Kerberos TGS(Ticket Granting Service)와 직접 상호 작용하여 요청을 시작한 일반 사용자를 대신해서 위임 Kerberos 신임 정보를 사용하는 TGT(Ticket Granting Ticket)를 얻어야 합니다. 또한 개발자는 적절한 Kerberos SPNEGO 토큰을 구성하고 이 토큰을 HTTP 요청에 포함시켜 필요한 경우 추가 SPNEGO 인증 확인-응답 교환 처리를 포함한 다운스트림 SPNEGO 인증 프로세스를 계속해야 합니다.
com.ibm.ws.security.spnego.SPN<id>.filter
이 특성은 선택적입니다. 이 특성은 com.ibm.ws.security.spnego.SPN<id>.filterClass 특성으로 지정된 클래스에서 사용되는 필터링 기준을 정의합니다. 이 특성은 사용되는 구현 클래스에 유의미한 임의의 기준을 정의합니다.
com.ibm.ws.security.spnego.HTTPHeaderFilter 기본 구현 클래스는 이 특성을 통해 선택사항 규칙 목록을 정의합니다. 이때 규칙 목록은 SPENGO 인증에서 HTTP 요청의 선택 여부를 판별하는 HTTP 요청 헤더와 일치하는 조건을 표시합니다.
각 조건은 키-값 쌍으로 지정되며 각각은 세미콜론(;)으로 구분됩니다. 조건은 지정된 특성에 표시된 대로 왼쪽에서 오른쪽으로 평가됩니다. 모든 조건에 만족하면 SPNEGO 인증 시 HTTP 요청이 선택됩니다.
키-값 쌍으로 구성된 키 및 값은 확인되는 조건을 정의하는 조작자로 구분됩니다. 키는 요청에서 추출할 HTTP 요청 헤더를 식별하고 해당 값은 조작자 스펙에 따라 키-값 쌍에 지정된 값과 비교됩니다. 키에서 식별된 헤더가 HTTP 요청에 없는 경우 조건은 만족하지 않은 것으로 처리됩니다.
String url = request.getRequestURL() + ‘?' + request.getQueryString();
조건 | 연산자 | 예제 |
---|---|---|
정확히 일치 | = = 인수 비교 결과, 서로 같습니다. |
host=host.my.company.com |
부분 일치(포함) | %= 인수 비교 결과, 부분적으로 일치합니다. |
user-agent%=IE 6 |
부분 일치(여러 개 중 하나 포함) | ^= 인수 비교 결과, 지정된 여러 인수 중 하나만 부분적으로 일치합니다. |
request-url^=webApp1|webApp2|webApp3 |
불일치 | != 인수 비교 결과, 서로 같지 않습니다. |
request-url!=noSPNEGO |
보다 큼 | > 인수 비교 결과, 사전적 측면에서 보다 큽니다. |
remote-address>192.168.255.130 |
보다 작음 | < 인수 비교 결과, 사전적 측면에서 보다 작습니다. |
remote-address<192.168.255.135 |
com.ibm.ws.security.spnego.SPN<id>.filterClass
이 특성은 선택적입니다. 이 특성은 SPNEGO 인증 대상 HTTP 요청을 선택하기 위해 SPNEGO TAI가 사용하는 Java 클래스의 이름을 지정합니다.
클래스가 지정되지 않으면 기본 com.ibm.ws.security.spnego.HTTPHeaderFilter 구현 클래스가 사용됩니다. 지정되는 Java 클래스는 com.ibm.wsspi.security.spnego.SpnegoFilter 인터페이스를 구현해야 합니다. 이 인터페이스의 기본 구현이 제공됩니다. 기본 구현을 사용하려면 com.ibm.ws.security.spnego.HTTPHeaderFilter 클래스를 지정하십시오. 이 클래스는 com.ibm.ws.security.spnego.SPN<id>.filter 특성으로 지정된 선택 규칙을 사용합니다.
com.ibm.ws.security.spnego.SPN<id>.hostName
필수 특성입니다. 이 특성은 Kerberos 보안 컨텍스트를 설정하기 위해 SPNEGO TAI가 사용하는 SPN에서 호스트 이름을 지정합니다. 이 특성에는 기본값이 없습니다.
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage
이 특성은 선택적입니다. 이 특성은 인증 확인-응답 핸드쉐이크에 예상한 SPNEGO 토큰이 아닌 NTLM(NT LAN Manager)이 포함된 경우 인터셉터가 SPNEGO 토큰을 수신할 때 (브라우저) 클라이언트 애플리케이션이 표시하는 HTTP 응답에 SPNEGO TAI가 포함시킨 컨텐츠를 포함하는 자원의 웹 주소를 지정합니다.
<html><head><title>An NTLM Token was received.</title></head>
<body>Your browser configuration is correct, but you have not logged into a supported
Microsoft(R) Windows(R) Domain.
<p>Please login to the application using the normal login page.</html>
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage
이 특성은 선택적입니다. 이 특성은 SPNEGO 인증을 지원하지 않는 경우 (브라우저) 클라이언트 애플리케이션이 표시하는 HTTP 응답에 SPNEGO TAI가 포함시킨 컨텐츠를 포함하는 자원의 웹 주소를 지정합니다. 이 특성은 웹(http://) 또는 파일(file://) 자원을 지정할 수 있습니다.
<html><head><title>SPNEGO authentication is not supported</title></head>
<body>SPNEGO authentication is not supported on this client</body></html>;
com.ibm.ws.security.spnego.SPN<id>.trimUserName
이 특성은 선택적입니다. 이 특성은 SPNEGO TAI가 Kerberos 영역 이름 앞에 있는 "@"로 시작하는 프린시펄 사용자 이름의 접미부를 제거할지(true) 또는 제거하지 않을지(false) 여부를 지정합니다.
이 특성이 true로 설정되면 프린시펄 사용자 이름의 접미부가 제거됩니다. 이 특성이 false로 설정되면, 프린시펄 이름의 접미부가 유지됩니다. 기본값은 true입니다. 예를 들어, 다음과 같습니다.
bobsmith@myKerberosRealm becomes bobsmith
bobsmith@myKerberosRealm remains bobsmith@myKerberosRealm