SSO를 사용하려면 웹 ID 관리 솔루션이 인증된 사용자의 로그인 이름을 Oracle Enterprise Performance Management System 제품에 전달해야 합니다. 다음 표준 EPM System 메소드를 사용하여 EPM System을 상용 및 사용자정의 웹 기반 SSO 솔루션과 통합할 수 있습니다.
주의:
조직에서 ID 전달을 위해 머리글의 사용자 ID를 전달하는 메소드를 사용하는 경우 보안 측정항목으로 웹 서버와 애플리케이션 서버 간에 클라이언트 인증서 인증(양방향 SSL)을 구현하는 것이 좋습니다.
HTTP 머리글
OSSO(Oracle Single Sign-on), SiteMinder 또는 Oracle Access Manager를 웹 ID 관리 솔루션으로 사용 중인 경우 사용자정의 HTTP 머리글이 인증된 사용자의 로그인 이름을 EPM System 구성요소로 전달하도록 EPM System 보안에서 자동으로 선택합니다.
EPM System 제품 사용자의 로그인 이름은 Oracle Hyperion Shared Services에서 사용자 디렉토리를 구성하는 중에 지정된 Login Attribute
에 의해 결정됩니다. Login Attribute
에 관한 간단한 설명은 Oracle Enterprise Performance Management System 사용자 보안 관리 가이드의 "OID, Active Directory 및 기타 LDAP 기반 사용자 디렉토리 구성"을 참조하십시오.
HTTP 머리글에는 로그인 속성
으로 설정된 속성 값이 있어야 합니다. 예를 들어 uid
가 Login Attribute
값인 경우 HTTP 머리글은 uid
속성 값을 전달해야 합니다.
사용자정의 HTTP 머리글의 정의 및 실행에 대한 자세한 내용은 웹 ID 관리 솔루션 설명서를 참조하십시오.
EPM System 보안은 HTTP 머리글을 구문분석하고 전달할 로그인 이름을 Shared Services에 구성된 사용자 디렉토리에 대해 검증합니다.
사용자정의 로그인 클래스
사용자 로그인 시 웹 ID 관리 솔루션은 디렉토리 서버에 대해 사용자를 인증하고, 인증된 사용자의 인증서를 SSO 메커니즘으로 캡슐화하여 다운스트림 시스템에서 SSO를 사용할 수 있도록 합니다. 웹 ID 관리 솔루션이 EPM System 제품에서 지원하지 않는 메커니즘을 사용하거나 SSO 메커니즘에서 Login Attribute
값을 사용할 수 없는 경우 사용자정의 로그인 클래스를 사용하여 Login Attribute
값을 파생시켜 EPM System 제품에 전달합니다.
사용자정의 로그인 클래스를 사용하면 EPM System에서 X509 인증서 기반 인증을 사용하는 보안 에이전트와 통합할 수 있습니다. 이 인증 메커니즘을 사용하려면 표준 공유 서비스 API를 구현하여 EPM System 구성요소와 웹 ID 관리 솔루션 간에 SSO 인터페이스를 정의해야 합니다. 사용자정의 로그인 클래스는 로그인 속성
값을 EPM System 제품에 전달해야 합니다. Login Attribute
에 관한 간단한 설명은 Oracle Enterprise Performance Management System 사용자 보안 관리 가이드의 "OID, Active Directory 및 기타 LDAP 기반 사용자 디렉토리 구성"을 참조하십시오. 샘플 코드 및 구현 단계는 사용자정의 로그인 클래스 구현을 참조하십시오.
사용자정의 로그인 클래스(기본 이름은 com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl
)를 사용하려면 com.hyperion.css.CSSSecurityAgentIF
인터페이스 구현을 클래스 경로에서 사용할 수 있어야 합니다. CSSSecurityAgentIF
는 사용자 이름과 비밀번호(선택사항)를 검색하기 위한 getter 메소드를 정의합니다. 인터페이스에서 Null 비밀번호를 반환하는 경우 보안 인증에서 제공자를 신뢰할 수 있는 제공자로 처리하고 구성된 제공자의 사용자 존재를 확인합니다. 인터페이스에서 비밀번호에 대해 Null이 아닌 값을 반환하는 경우 EPM System은 이 구현에서 반환한 사용자 이름과 비밀번호를 사용하여 요청을 인증하려고 시도합니다.
CSSSecurityAgentIF
는 2가지 메서드 즉, getUserName
과 getPassword
로 구성됩니다.
getUserName 메소드
이 메서드는 인증에 대해 사용자 이름을 반환합니다.
java.lang.String getUserName( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.lang.Exception
req
매개변수는 사용자 이름을 확인하는 데 사용되는 정보를 전달하는 HTTP 요청을 식별합니다. res
매개변수(역호환성을 위해 미리 설정됨)는 사용되지 않습니다.
getPassword 메소드
이 메서드는 인증에 대해 일반 텍스트 비밀번호를 반환합니다. 비밀번호 검색은 선택 사항입니다.
java.lang.String getPassword( javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.lang.Exception
req
매개변수는 사용자 이름을 확인하는 데 사용되는 정보를 전달하는 HTTP 요청을 식별합니다. res
매개변수(역호환성을 위해 미리 설정됨)는 사용되지 않습니다.
HTTP 권한부여 머리글
EPM System 보안은 HTTP 권한부여 머리글을 사용하여 웹 ID 관리 솔루션에서 EPM System 제품으로 Login Attribute
의 값을 전달하도록 지원합니다. EPM System 제품은 권한부여 머리글을 구문분석하여 사용자의 로그인 이름을 검색합니다.
HTTP 요청에서 원격 사용자 가져오기
EPM System 보안은 HTTP 요청을 사용하여 웹 ID 관리 솔루션에서 EPM System 제품으로 Login Attribute
의 값을 전달하도록 지원합니다. 웹 ID 관리 솔루션이 setRemoteUser
함수를 사용하여 설정된 Login Attribute
의 값을 포함하는 HTTP 요청을 전달하는 경우 이 SSO 메소드를 사용하십시오.
ID 관리 제품을 사용하는 머리글 기반 인증
EPM System에서는 Oracle Identity Cloud Services, Microsoft Azure AD, Okta와 같이 머리글 기반 인증을 지원하는 모든 ID 관리 제품을 지원합니다. 개념 워크플로우는 다음과 같습니다.
이 인증 시나리오를 지원하려면 EPM System이 HTTP(S) 머리글 요청을 통해 전파되는 인증된 사용자 ID로 작동하도록 구성되어야 합니다.