이 글에서는 Oracle® Discoverer 11g를 Oracle Access Manager(OAM) 11g가 제공하는 싱글 사인온(SSO) 솔루션과 통합하는 방법을 소개합니다. 여러 애플리케이션에 걸쳐 일원화된 로그인 환경을 구축하고자 하는 분들에게 유용한 가이드입니다.
Oracle Discoverer 인증 매트릭스
통합 작업에 앞서 지원되는 인증 조합을 확인해야 합니다. 공식적으로 인증된 구성은 다음과 같습니다.
- Oracle Discoverer 11.1.1.7.0은 Linux® x86-64 Oracle Linux 5 Update Level 3+ 환경에서 Oracle Access Manager 11.1.2.0.0과 함께 사용할 수 있습니다.
- Oracle E-Business Suite 12.1.1은 Linux x86-64 RedHat® Enterprise Linux 5 Update Level 5+ 환경에서 Oracle Discoverer 11.1.1.7.0과 함께 사용할 수 있습니다.
다음 다이어그램은 OAM의 운영 흐름을 보여줍니다.

Discoverer를 위한 SSO 구성
Oracle E-Business Suite(EBS)와 Oracle Business Intelligence(BI) Discoverer 양쪽 모두에 SSO를 적용할 계획이라면, 반드시 Oracle EBS부터 먼저 SSO를 구성해야 합니다. Oracle Fusion Middleware 11g의 기반 기술인 Oracle Access Manager는 이러한 통합에 권장되는 솔루션입니다.
전체 구성 절차는 다음 단계로 진행됩니다.
- OAM 11g에 Oracle Single Sign-On(OSSO) 에이전트(mod_osso)를 등록합니다.
- 인증 및 권한 부여 정책을 업데이트합니다.
- 생성된
osso.conf파일을 $DOMAIN_HOME/output/<ossoagent>에서 $ORACLE_INSTANCE/config/<OHSComponent>/<ohs-comp-name>으로 복사합니다. - SSO 연결을 활성화합니다.
- 구성을 검증합니다.
1단계: OSSO 에이전트 등록
다음 절차에 따라 OSSO 에이전트(mod_osso)를 등록합니다.
- oamconsole에 로그인한 후 Setup을 클릭합니다.
- Agents 섹션에서 아래 이미지와 같이 드롭다운 기호가 있는 "+" 버튼을 클릭합니다.


- Oracle OSSO Agent를 클릭하면 다음 화면으로 이동합니다.

- 아래와 같이 Name과 Base URL을 입력하고 Token Version은 v1.4로 선택합니다.
Name: OSSO_11G_DEVDISCO Base URL: https://<discoverer_server>:8090 (Dev Disco url) - Apply를 클릭하여 저장합니다.
- Launch Pad에서 Agents 아이콘을 클릭하고 SSO 에이전트를 검색하여 SSO_Agent가 정상 등록되었는지 확인합니다.



2단계: 인증 및 권한 부여 정책 업데이트
다음 절차에 따라 인증 및 권한 부여 정책을 업데이트합니다.
- Access Manager > Application Domains로 이동하여 OSSO_DISCO를 검색한 뒤, Authentication Policies > Protected Resource Policy를 클릭합니다.


- 인증 스킴(Authentication scheme)을 EBSAuthScheme으로 변경한 후 Apply를 클릭합니다.

3단계: osso.conf 파일 복사
OSSO 에이전트를 등록하면 시스템이 $DOMAIN_HOME/output/ 디렉터리에 osso.conf 파일을 자동 생성합니다.

Discoverer 서버에 로그인하여 파일 정보를 다음과 같이 확인합니다.
[appdb@<disco_server> ~]$ cd $ORACLE_INSTANCE/config/OHS/ohs1/disabled/
[appdb@<discoverer_server> disabled]$ grep osso.conf mod_osso.conf
#Point to proper osso.conf file.
# OssoConfigFile "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/osso.conf"
[appdb@<discoverer_server> disabled]$
다음 예시처럼 새 디렉터리를 생성합니다.
mkdir $ORACLE_INSTANCE/config/OHS/ohs1/osso
cd $ORACLE_INSTANCE/config/OHS/ohs1/osso
OAM 서버에서 다음 명령을 실행하여 osso.conf 파일을 Discoverer 서버로 복사합니다.
cd $MW_HOME/oam/user_projects/domains/OAMDomain/output/OSSO_11G_DEVDISCO
scp osso.conf appdb@<discoverer_server>.corp.zynga.com: /u01/app/appdb/Disco11g/MW/asinst_1/config/OHS/ohs1/osso/
보호 대상 리소스를 구성하고 mod_osso.conf 파일을 백업합니다.
[appdb@<discoverer_server> moduleconf]$ cp $ORACLE_INSTANCE/config/OHS/ohs1/disabled/mod_osso.conf $ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/
[appdb@<discoverer_server> moduleconf]$ cd $ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/
[appdb@<discoverer_server> moduleconf]$ cp mod_osso.conf mod_osso.conf_Orginal
[appdb@<discoverer_server> moduleconf]$
mod_osso.conf 파일을 편집하여 아래 내용을 추가한 후 저장합니다.
LoadModule osso_module "${ORACLE_HOME}/ohs/modules/mod_osso.so"
<IfModule osso_module>
OssoIpCheck off
OssoIdleTimeout off
OssoHttpOnly off
OssoSecureCookies off
OssoConfigFile
/<$MW_HOME>/asinst_1/config/OHS/ohs1/osso/osso.conf
<Location /discoverer/plus>
require valid-user
AuthType Osso
</Location>
<Location /discoverer/viewer>
require valid-user
AuthType Osso
</Location>
<Location /discoverer/app>
require valid-user
AuthType Osso
</Location>
</IfModule>
4단계: SSO 연결 활성화
configuration.xml 파일을 편집하여 연결 파라미터를 enableAppsSSOConnection="false"에서 enableAppsSSOConnection="true"로 변경하면 SSO 연결이 활성화됩니다.
해당 파일은 다음 경로에서 찾을 수 있습니다.
/<$MW_HOME>/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_DISCO/applications/discoverer_11.1.1.2.0/configuration
파일을 수정하기 전에 반드시 백업한 후 값을 확인합니다.
[appdb@<discoverer_server> configuration]$ cp configuration.xml configuration.xml_Orginal_BKP
[appdb@<discoverer_server> configuration]$
[appdb@<discoverer_server> configuration]$ grep enableAppsSSOConnection configuration.xml
userDefinedConnections="true" laf="dc_blaf" switchWorksheetBehavior="prompt" defaultLocale="en" disableBrowserCaching="false" enableAppsSSOConnection="true" propagateGUIDtoVPD="false" pageNavigation="true">
[appdb@<discoverer_server> configuration]$
ORACLE_INSTANCE\bin 디렉터리에서 다음 명령을 실행하여 Oracle HTTP Server를 재시작합니다.
opmnctl stopall
opmnctl startall
참고: EBS 인스턴스는 반드시 SSO가 활성화되어 있어야 하며, 동일한 OAM 인스턴스로 구성되어 있어야 합니다.
5단계: 구성 검증
아래 런처에 접속하여 SSO 구성이 정상적으로 작동하는지 확인합니다.
- Discoverer Viewer 런처
- Discoverer 런처
URL로 접속한 후 SSO 계정 정보를 입력하고 Login을 클릭합니다.

아래 이미지와 같이 필요한 정보를 입력합니다.

Continue를 클릭하면 시스템이 사용자 이름을 자동으로 입력해 줍니다.





결론
이 글에서는 Discoverer에 SSO 솔루션을 구현하는 방법을 살펴보았습니다.
Discoverer에 SSO를 도입하면 사용자가 자격 증명을 반복해서 입력하는 시간이 사라져 생산성이 크게 향상되며, 제품 소유자 입장에서는 전환율 상승 효과도 기대할 수 있습니다. 내부 및 외부 사용자 모두 더 이상 여러 벌의 자격 증명을 기억하고 관리하는 번거로움에서 벗어날 수 있습니다.
또한 SSO는 비밀번호 관리 관련 문제를 줄여주고, 비밀번호 재설정 요청이나 잘못된 자격 증명 처리 등을 위해 여러 헬프데스크 시스템을 운영하는 데 드는 비용도 절감해 줍니다.
Rackspace Application Services에 대해 더 자세히 알아보세요.
의견이나 질문이 있다면 피드백 탭을 이용해 주세요.