JAAS(Java™ Authentication
and Authorization Service) 로그인 프레임워크를 사용하여 ID 어설션에 로그인을 수행하기 위해 사용할 수 있는 JAAS 로그인 구성을 작성할 수 있습니다.
시작하기 전에
애플리케이션 또는 시스템 제공자가 신뢰 유효성 검증으로 ID 어설션을 수행하도록 허용할 수 있습니다.
이를 수행하려면 신뢰 유효성 검증이 하나의 로그인 모듈에서 수행되고 신임 정보 작성이
또 다른 모듈에서 수행되는 JAAS 로그인 프레임워크를 사용하십시오.
두 개의 사용자 정의 로그인 모듈을 사용하면 ID 어설션에 대한 로그인을 수행하는 데 사용할 수 있는 JAAS 로그인 구성을 작성할 수 있습니다.
두 개의
사용자 정의 로그인 모듈이 필요합니다.
- 사용자 구현된 신뢰 연관 로그인 모듈(신뢰 유효성 검증)
- 사용자 구현된 신뢰 연관 로그인 모듈은 사용자가 필요로 하는 신뢰 유효성 검증이 무엇이든지 수행합니다.
신뢰가 검증될 때 신뢰 유효성 검증 상태 및 로그인 ID는 신임 정보 작성 로그인 모듈이 이 정보를 사용할 수 있도록
로그인 모듈의 공유 상태에 있는 맵에 놓여야 합니다. 이 맵은 특성에 저장되어야 합니다.
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state
(다음으로 구성됨)
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
(신뢰되는 경우 true로 설정되고 신뢰되지 않는 경우에는 false로 설정됨)
com.ibm.wsspi.security.common.auth.module.IdenityAssertionLoginModule.principal
(ID의 프린시펄을 포함함)
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
(ID의 인증서를 포함함)
- ID 어설션 로그인 모듈(신임 정보 작성)
- com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule은 신임 정보 작성을 수행합니다.
이 모듈은 로그인 컨텍스트의 공유 상태에 있는 신뢰 상태 정보에 의존합니다. 이 로그인 모듈은
Java 2
보안 런타임 권한에 의해 보호됩니다.
- com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.initialize
- com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.login
ID 어설션 로그인 모듈은 신뢰 상태 및 로그인 ID를 포함하고 다음을 포함해야 하는 공유 상태 특성, com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state에서 신뢰
정보를 찾습니다.
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
(true는 신뢰됨을 나타내고 false는 신뢰되지 않음을 나타냄)
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
(프린시펄을 사용 중인 경우 로그인 ID의 프린시펄을 포함함)
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
(인증서를 사용 중인 경우 로그인 ID를 포함하는 인증서 체인의
배열을 포함함.)
상태, 신뢰 또는 ID 정보가 누락된 경우 WSLoginFailedException이 리턴됩니다.
그러면 로그인 모듈은 ID의 로그인을 수행하고 제목은 새 ID를 포함할 것입니다.
프로시저
- 신뢰 유효성 검증을 사용자 구현된 플러그 지점에 위임하십시오. 신뢰 유효성 검증은 사용자 정의 로그인 모듈에서 수행되어야 합니다.
이 사용자 정의 로그인 모듈은 필요한 신뢰 유효성 검증을 수행한 다음
공유 상태에 있는 신뢰 및 ID 정보를 ID 어설션 로그인 모듈로 전달되도록 설정해야 합니다.
맵은 공유 상태 키, com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state에서는 필수입니다.
상태가 누락된 경우에는 IdentityAssertionLoginModule에 의해 WSLoginFailedException이 발행됩니다. 이 맵은 다음을 포함해야 합니다.
- com.ibm.wsspi.secuirty.common.auth.module.IdentityAssertionLoginModule.trust라는 신뢰 키.
키가 true로 설정된 경우에는 신뢰가 설정됩니다.
키가 false로 설정된 경우에는 신뢰가 설정되지 않습니다.
신뢰 키가 true로 설정되지 않으면 IdentityAssertionLoginModule은 WSLoginFailedException을 발행합니다.
- • ID 키가 설정됨: java.security.Principal이 com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
키에 설정될 수 있습니다.
- 또는 java.security.cert.X509Certificate[]가
com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certficates
키에 설정될 수 있습니다.
프린시펄 및 인증서 둘 모두가 제공되는 경우에는 프린시펄이 사용되고 경고가 실행됩니다.
- 애플리케이션 로그인을 위해 새 JAAS 구성을 작성하십시오. JAAS 구성은 사용자 구현된 신뢰 유효성 검증 사용자 정의 로그인 모듈 및 IdentityAssertionLoginModule을 포함합니다.
그런 다음 애플리케이션 로그인 구성을 구성하려면 관리 콘솔에서 다음을 수행하십시오.
- 보안 > 글로벌 보안을 펼치십시오.
- JAAS(Java Authentication and Authorization Service) > 애플리케이션
로그인을 펼치십시오.
- 새로 작성을 선택하십시오.
- JAAS 구성에 별명을 제공하십시오.
- 적용을 클릭하십시오.
- JAAS 로그인 모듈을 선택하십시오.
- 새로 작성을 선택하십시오.
- 사용자가 구현한 신뢰 유효성 검증 사용자 정의 로그인 모듈의 모듈 클래스 이름을
입력하십시오.
- 적용을 클릭하십시오.
- com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule의 모듈 클래스 이름을 입력하십시오.
- 모듈 클래스 이름 클래스가 올바른 순서로 되어 있는지 확인하십시오.
사용자가 구현한 신뢰 유효성 검증 로그인 모듈이 가장 먼저여야 하고
IdentityAssertionLoginModule은 목록에서 두 번째 클래스여야 합니다.
- 저장을 클릭하십시오.
그런 다음 이 JAAS 구성은 ID 어설션을 수행하기 위해 애플리케이션에 의해 사용됩니다.
- 프로그래밍 가능한 ID 어설션을 수행하십시오. 이제 프로그램은
JAAS 로그인 구성을 사용하여 프로그램 ID 어설션을 수행할 수 있습니다.
애플리케이션 프로그램은 2단계에서 작성된 JAAS 구성을 위해 로그인 컨텍스트를 작성한 다음 이들이 확인되는 ID를 사용하여
해당 로그인 컨텍스트에 로그인할 수 있습니다. 로그인이 성공하면 해당 ID는 현재 실행 중인 프로세스에 설정될 수 있습니다.
다음은 이러한 코드가 작동하는 방법에 대한 예입니다.
MyCallbackHandler handler = new MyCallbackHandler(new MyPrincipal(“Joe”));
LoginContext lc = new LoginContext(“MyAppLoginConfig”, handler);
lc.login(); //assume successful
Subject s = lc.getSubject();
WSSubject.setRunAsSubject(s);
// From here on , the runas identity is “Joe”
결과
JAAS 로그인 프레임워크 및 두 개의 사용자 구현한 로그인 모듈을 사용하면 ID 어설션에 대한 로그인을
수행하는 데 사용할 수 있는 JAAS 로그인 구성을 작성할 수 있습니다.