Liberty에서 아웃바운드 SPNEGO 토큰에 대한 Kerberos 제한 위임 구성

아웃바운드 SPNEGO 토큰에 대한 Kerberos 제한 위임을 지원하도록 Liberty 서버를 구성할 수 있습니다.

시작하기 전에

SPNEGO 웹 인증을 구성했는지 확인하십시오.

IBM® JDK 1.8 이상만 지원됩니다.

이 태스크 정보

제한된 위임이라고도 하는 Kerberos v5 확장기능인 S4U(Services for Users)는 두 파트로 구성됩니다.
S4U2self

Liberty 서버가 사용자 대신 자체에서 서비스 티켓을 얻을 수 있습니다. 이는 Liberty가 지원하는 어떤 인증 양식으로도 사용할 수 있습니다. S4U2self는 Kerberos 프로토콜 상태 전이 확장기능입니다.

S4U2proxy

Liberty 서버가 사용자 대신 신뢰할 수 있는 서비스에 대해 서비스 티켓을 얻을 수 있습니다. 이러한 서비스 티켓은 Liberty 서비스에 대해 사용자의 서비스 티켓을 사용하여 얻게 됩니다. 서비스는 Kerberos KDC(Key Distribution Center) 관리자에 의해 제한됩니다. S4U2proxy는 Kerberos 제한 위임 확장기능입니다.

제한된 위임 기능은 다음 API를 제공하여 .NET 서버 및 기타 Liberty 서버와 같은 SPNEGO 인증을 지원하는 백엔드 서비스의 아웃바운드 SPNEGO 토큰을 작성합니다.
  • S4U2self API: com.ibm.websphere.security.s4u2proxy.SpnegoHelper.buildS4U2proxyAuthorizationUsingS4U2self()
  • S4U2proxy API: com.ibm.websphere.security.s4u2proxy.SpnegoHelper.buildS4U2proxyAuthorization()

다음 단계는 Liberty에서 SPNEGO 인증 구성에서 사용되고 SPNEGO 웹 인증을 사용하는 HTTP 요청에 대한 싱글 사인온에서 설명되는 동일한 예제 시스템 설정을 사용합니다.

프로시저

  1. Microsoft 도메인 제어기 myAdMachine.example.com에서 수신 SPNEGO 토큰의 유효성을 검증하는 데 사용하는 서비스 프린시펄 이름(SPN)을 업데이트하십시오. 예를 들어, 다음과 같이 HTTP/myLibertyMachine.example.com SPN을 업데이트하십시오.
    1. S4U2self를 사용하려면 다음 단계를 수행하십시오.
      1. 위임 SPN에 맵핑된 사용자 계정을 여십시오.
      2. 속성 편집기 탭을 여십시오.
      3. 다음과 같이 userAccountControl 특성을 수정하십시오.
        • 인증 위임에 대해 신뢰할 수 있음 0x1000000, or the TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION enum)이 true여야 합니다.
      4. 다음과 같이 신뢰할 수 있는 서비스를 설정하십시오.
        • 사용자 계정에서 위임 탭을 여십시오.
        • 지정된 서비스에 대한 위임에서만 이 사용자 신뢰 단일 선택 단추를 선택하십시오.
        • 임의 인증 프로토콜 사용 단일 선택 단추를 선택하십시오.
        • 추가를 클릭하여 신뢰할 수 있는 서비스를 추가하십시오.
        • 사용자 또는 컴퓨터를 클릭하십시오.
        • 신뢰할 수 있는 서비스에 사용할 SPN을 입력하십시오.
        • 이름 확인을 클릭하고 적합한 오브젝트 이름을 찾았는지 확인하십시오.
        • 확인을 클릭하십시오.
        • 지정된 SPN을 선택하고 확인을 클릭하십시오.
    2. S4U2proxy를 사용하려면 다음 단계를 수행하십시오.
      1. 위임 SPN에 맵핑된 사용자 계정을 여십시오.
      2. 속성 편집기 탭을 여십시오.
      3. 다음과 같이 userAccountControl 특성을 수정하십시오.
        • 인증 위임에 대해 신뢰할 수 있음(0x1000000, or the TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION enum)이 true여야 합니다.
      4. 다음과 같이 신뢰할 수 있는 서비스를 설정하십시오.
        • 사용자 계정에서 위임 탭을 여십시오.
        • 지정된 서비스에 대한 위임에서만 이 사용자 신뢰 단일 선택 단추를 선택하십시오.
        • 추가를 클릭하여 신뢰할 수 있는 서비스를 추가하십시오.
        • 사용자 또는 컴퓨터를 클릭하십시오.
        • 신뢰할 수 있는 서비스에 사용할 SPN을 입력하십시오.
        • 이름 확인을 클릭하고 적합한 오브젝트 이름을 찾았는지 확인하십시오.
        • 확인을 클릭하십시오.
        • 지정된 SPN을 선택하고 확인을 클릭하십시오.
  2. Liberty 서버 시스템(myLibertyMachine.example.com)에서 constrianedDelegation-1.0featureManager에 추가하여 제한된 위임 기능을 사용으로 설정하고 server.xml 파일에서 JAAS Kerberos 로그인 모듈을 구성하십시오.
    <featureManager>
            <feature>spnego-1.0</feature>
            <feature>contrainedDelegation-1.0</feature>
            ...
    </featuremanager>
    <jaasLoginContextEntry id="com.ibm.security.jgss.krb5.accept" name="com.ibm.security.jgss.krb5.accept" loginModuleRef="useKeytab" />
    	 <jaasLoginModule id="useKeytab" className="com.ibm.security.auth.module.Krb5LoginModule" controlFlag="REQUIRED" libraryRef="jaasSharedLib">
                    <options 
                            credsType="both"
                            debug="true" 
                            useDefaultCcache="false"
                            tryFirstPass="true"
                            forwardable ="true"                    
                            principal="HTTP/myLibertyMachine.example.com"
                            useKeytab="${server.config.dir}/resources/security/kerberos/krb5.keytab">
                    </options>		 		 		 		  
            </jaasLoginModule>
    
    
    <library id="jaasSharedLib" apiTypeVisibility="spec, ibm-api, api">
          <fileset dir="${server.config.dir}/lib/global/" includes="*" />
    	</library>
    constrainedDelegation-1.0 기능이 사용 가능한 경우 다음 구성이 내포되어 있습니다.
    <constrainedDelegation id="defaultConstrainedDelegation" s4U2selfEnabled="false" />
    S4U2self를 사용하려면 server.xml 파일에서 다음 구성이 필요합니다.
    <constrainedDelegation s4U2selfEnabled = "true" id="defaultConstrainedDelegation"/>
    참고: S4U2proxy API를 사용하는 경우에는 jaasLoginContextEntry ID 및 이름 com.ibm.security.jgss.krb5.accept를 변경할 수 없습니다.
    참고: 기본적으로 S4U2proxy는 사용 가능하고 S4U2self는 사용할 수 없습니다. server.xml 파일에서 s4U2selfEnabled 속성을 수정하여 S4U2self 확장기능을 사용으로 설정하거나 사용 안함으로 설정할 수 있습니다.

결과

애플리케이션은 이제 제한된 위임 기능에서 제공한 API를 호출할 수 있습니다.

주제의 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_config_kerb_constrained_del
파일 이름: twlp_config_kerb_constrained_del.html