Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle IDCS와 EBS SSO 통합 완벽 가이드

이 글에서는 Oracle Identity Cloud Service(IDCS)를 기존 Oracle® e-Business Suite®(EBS) 환경과 통합하는 방법을 소개합니다.

소개

IDCS는 Oracle의 클라우드 기반 아이덴티티 플랫폼으로, EBS 애플리케이션에 접근하기 위한 SSO(Single Sign-On) 서비스를 제공합니다. 별도의 설치 작업이 필요 없으며, 백업, 복구, 패치, 업그레이드, 확장 등 모든 운영 관리는 Oracle Cloud에서 처리해 줍니다.

필요한 구성 요소는 단 하나, 바로 EBS Asserter입니다. IDCS가 제공하는 이 컴포넌트를 활용하면 Oracle e-Business Suite 및 기타 애플리케이션에 대한 SSO를 손쉽게 구현할 수 있습니다.

EBS Asserter의 주요 특징

EBS Asserter는 다음과 같은 핵심 기능을 제공합니다.

  • EBS 측의 설정 변경이 필요하지 않습니다.
  • SSL이 구성된 WebLogic 12C 환경에 배포해야 합니다.
  • EBS 애플리케이션, IDCS, EBS Asserter 간 단일 로그인을 지원합니다.
  • EBS와의 SSO 연동을 위한 다양한 접근 모드를 제공합니다.

또한 IDCS는 기존 Active Directory(AD)와의 통합도 지원합니다. 기존 AD를 IDCS에 연동하려면 IDCS에서 Oracle IDCS AD 에이전트를 다운로드한 후, 클라이언트 ID와 클라이언트 시크릿 정보를 입력하여 AD 서버에 설치하면 됩니다. 설치가 완료되면 AD 서버 정보가 IDCS 디렉터리 통합 설정에 자동으로 반영됩니다.

AD 사용자를 동기화하려면 브리지를 구성하고 동기화 작업을 수행해야 합니다.

다음은 EBS와 IDCS를 통합하는 새로운 방식을 보여주는 구성도입니다.

Oracle IDCS와 EBS SSO 통합 완벽 가이드

SSO를 위한 EBS-IDCS 통합 지원 범위

Oracle은 브라우저 기반 로그인을 사용하는 모든 EBS 모듈이 EBS Asserter와 함께 작동하도록 지원하며, Web ADI용 Excel® 기반 로그인도 지원합니다. 반면 EBS 모바일 앱은 브라우저 기반 인증을 사용하지 않기 때문에 SSO 통합이 지원되지 않습니다.

설치 전 필수 조건

EBS Asserter를 설치하려면 다음 요소들이 사전에 준비되어 있어야 합니다.

  • Oracle JRE/JDK 버전 8 이상
  • Java® 8용 Java Cryptography Extension(JCE) 파일
  • EBS Asserter를 다운로드하고 기밀(Confidential) 애플리케이션을 등록할 수 있는 권한이 있는 IDCS 콘솔 접근 권한
  • EBS 애플리케이션 접근 권한
  • 별도의 Oracle WebLogic 서버 12C와 새로운 관리형 서버 EBSAsserter_server — EBS Asserter Java 애플리케이션을 배포할 환경. 이 WebLogic 서버와 EBS 서버는 동일한 도메인 내에 있어야 합니다.

Oracle Asserter 공식 문서에 따르면, EBS Asserter를 설치하기 전에 다음 단계를 수행해야 합니다.

  1. EBS Asserter zip 파일을 다운로드하고 압축을 해제합니다.
  2. Identity Cloud Service 콘솔에 접속하여 Navigation Drawer를 펼친 후 Settings를 클릭하고 Downloads로 이동합니다. Download를 클릭하여 IDCS EBS Asserter를 다운로드하고 zip 파일로 저장합니다.
  3. EBS Asserter zip 파일의 내용을 추출합니다.
  4. ebs.war 파일과 idcs-wallet-<version>.jar 파일을 EBS Asserter가 실행될 WebLogic 서버 머신의 작업 폴더로 복사합니다.

EBS Asserter URL이 SSL을 통해 접근 가능한지 반드시 확인하세요.

여러 개의 EBS 인스턴스가 있다면 각 인스턴스마다 EBS Asserter를 구성하고 배포할 수 있습니다. 이때 하나의 WebLogic 서버를 모든 EBS Asserter 관리형 서버에 공통으로 사용할 수 있습니다.

구성 단계

다음 구성 단계를 순서대로 수행하세요.

1단계: EBS에 애플리케이션 사용자 생성

EBS Asserter가 EBS 애플리케이션과 통신할 수 있도록 사용자를 생성해야 합니다. Oracle Asserter 문서를 참고하여 다음 단계를 진행합니다.

  1. sysadmin 사용자로 EBS에 로그인합니다.
  2. User Management Responsibility로 이동한 후 Users를 클릭합니다.
  3. Register 드롭다운 메뉴에서 User Account를 선택하고 Go를 클릭합니다.
  4. Create User Account 페이지에서 다음 정보를 입력하여 새 사용자를 생성하고 Submit을 클릭합니다.
    • Username: EBSASSERTER
    • Password: 사용자 비밀번호
    • Description: EBS Asserter Service User
    • Password Expire: None
  5. 사용자 생성 후 Assign roles를 클릭하고, Update User 페이지에서 다시 Assign roles를 클릭합니다.
  6. Search and Select: Assign Roles 화면에서 코드 UMX|APPS_SCHEMA_CONNECT로 검색합니다.
  7. Apps Schema Connect Role을 선택하고 Select를 클릭합니다.
  8. 사유(Justification)에 EBS asserter service user를 입력하고 Save를 클릭합니다.

2단계: IDCS에 EBS 시스템 관리자 생성

EBS 애플리케이션의 시스템 관리자와 통신할 IDCS 사용자를 생성합니다. 다음 단계를 따르세요.

  1. IDCS에 로그인하여 콘솔에 접속합니다.
  2. IDCS 콘솔에서 탐색 메뉴를 펼치고 Users를 클릭한 후, Users 페이지에서 Add를 클릭합니다.
  3. Add User 창에 다음 값을 입력하고 Finish를 클릭합니다.
    • First Name: EBS
    • Last Name: Sysadmin
    • Use the email address as the username 체크 해제
    • Username: sysadmin
    • Email: Oracle E-Business Suite의 SYSADMIN 계정에 설정된 이메일 주소 입력
  4. IDCS에서 사용자 생성을 마친 후, EBS 애플리케이션에 로그인하여 sysadmin 사용자의 이메일 주소를 IDCS sysadmin 주소와 일치하도록 수정합니다.

3단계: EBS 애플리케이션에 EBS Asserter 등록

다음 단계를 통해 EBS Asserter를 EBS에 등록합니다.

  1. applmgr 계정으로 EBS 애플리케이션 서버에 로그인하고 $JAVA_HOME$WLS_HOME 디렉터리를 확인합니다.
  2. 다음 명령어를 실행하여 작업 디렉터리를 생성합니다.
    cd /u01/app/SID
    mkdir ebssdk
    cd ebssdk
    
  3. IDCS에서 다운로드한 ebs.war 파일에서 fndext.jar를 추출합니다. 해당 파일을 작업 디렉터리와 EBS Asserter WebLogic 서버의 $DOMAIN_HOME/lib 폴더 양쪽에 복사합니다.
  4. EBS 환경 파일을 소싱(source)한 후 다음 명령어를 실행하여 EBS Asserter를 EBS 애플리케이션에 등록합니다.
    cd /u01/app/SID/ebssdk
    java oracle.apps.fnd.security.AdminDesktop apps/<apps_pwd> CREATE NODE_NAME=ebsasserter.example.com DBC=$FND_SECURE/EBSDB.dbc
    
  5. 생성된 EBSDB_ebsasserter.example.com.dbc 파일을 EBS Asserter 서버로 복사하고, APPL_SERVER_ID 값을 기록해 둡니다.

4단계: IDCS에 EBS Asserter 등록

EBS Asserter를 나타내는 기밀(Confidential) 애플리케이션을 생성하기 위해 다음 단계를 수행합니다.

  1. IDCS 콘솔에 로그인하여 탐색 메뉴를 펼치고 Applications를 클릭합니다.
  2. Add를 클릭하고 대화상자에서 Confidential applications를 선택합니다.
  3. 다음 정보를 입력하고 Next를 클릭합니다.
    • Name: EBS Asserter
    • Description: EBS Asserter Application
    • Application URL: https://ebsasserter.example.com:7002/ebs
    • Display in My Apps: 체크박스 선택
  4. Client 창에서 Configure this application as a client now를 선택하고 다음 정보를 입력합니다.
    • Allowed Grant Types: Client CredentialsAuthorization Code 선택
    • Redirect URL: https://ebsasserter.example.com:7002/ebs/response
    • Logout URL: https://ebsasserter.example.com:7002/ebs/logout
    • Post Logout Redirect URL: https://ebsasserter.example.com:7002/ebs
  5. Grant the client access to Identity Cloud Service Admin APIs 하단에서 Add를 클릭합니다.
  6. Add App Role 대화상자에서 목록의 Authenticator ClientMe를 선택한 후 Add를 클릭합니다.
  7. Client 창과 이후 창들에서 Next를 클릭하고 마지막에 Finish를 클릭합니다.
  8. Application Added 대화상자에서 Client IDClient Secret 값을 기록한 후 Close를 클릭합니다.
  9. Activate를 클릭하여 애플리케이션을 활성화합니다.
Oracle IDCS와 EBS SSO 통합 완벽 가이드 Oracle IDCS와 EBS SSO 통합 완벽 가이드

5단계: WebLogic 월렛 생성

보안상의 이유로 클라이언트 ID, 클라이언트 시크릿, IDCS URL은 EBS Asserter가 사용하는 월렛(wallet)에 등록해야 합니다. Oracle 문서에 설명된 다음 단계를 수행하세요.

  1. EBS Asserter 서버에 로그인하고 idcs-wallet-<version>.jar 파일이 위치한 디렉터리로 이동합니다.
  2. 다음 명령어를 실행하여 cwallet.sso 파일을 생성하고, 안내에 따라 세부 정보를 입력합니다.
    java -jar idcs-wallet-<version>.jar
    
    • Enter Wallet Path: 월렛 파일을 저장할 경로 입력
    • Enter Client ID: 클라이언트 ID 입력
    • Enter Client Secret: 해당 클라이언트 ID의 클라이언트 시크릿 입력
    • Enter IDCS base URL: IDCS 기본 URL 입력

6단계: 구성 파일 수정

EBS Asserter 구성 파일인 bridge.properties에 EBS 인스턴스 및 IDCS 관련 세부 정보를 업데이트합니다.

7단계: EBS Asserter 배포

새 데이터 소스를 생성하고 EBS Asserter 애플리케이션을 배포하기 위해 다음 단계를 수행합니다.

데이터 소스 정의
  1. EBS Asserter WebLogic 콘솔에 로그인하고 Data Sources를 선택합니다.
  2. New를 클릭하고 Generic Data Source를 선택합니다.
  3. 다음 데이터베이스 정보를 입력하고 Next를 클릭합니다.
    • Name: EBSDB (bridge.properties 파일의 ebs.ds.name 값과 동일해야 합니다.)
    • JNDI Name: EBSDB
    • Database Type: Oracle
    • Database Driver: *Oracle's Driver (Thin) for Instance connections; Versions:Any
  4. 다음 데이터베이스 연결 정보를 입력합니다.
    • Database Name: EBSDB
    • Host Name: ebs.example.com
    • Port: 1521
    • Database Username: EBSASSERTER
    • Password: 사용자 비밀번호 입력
  5. 드라이버 클래스 이름으로 oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource를 선택합니다.
  6. Properties 항목에 다음 내용을 업데이트합니다.
    user=IDETITYADMIN
    dbcFile=/u01/app/SID/ebssdk/EBSDB_ebsasserter.example.com.dbc
    
  7. Test Configuration을 클릭하여 연결을 테스트합니다.
WebLogic 서버에 EBS Asserter 배포
  1. EBS Asserter WebLogic 콘솔에 로그인하고 Lock & Edit를 클릭합니다.
  2. Deployments를 클릭한 후 Install을 클릭합니다.
  3. ebs.war 파일을 선택하고 Next를 클릭합니다.
  4. Install this deployment as an application을 선택하고 Next를 클릭합니다.
  5. 대상 서버로 EBSAsserter_server를 선택하고 Next를 클릭합니다.
  6. 기본값을 그대로 두고 Finish를 클릭합니다.
  7. Activate Changes를 클릭하여 변경 사항을 적용합니다.

8단계: EBS 프로파일 업데이트

다음 EBS 프로파일 옵션들을 업데이트합니다.

  • Application Authenticate Agent: https://ebsasserter.example.com:7002/ebs
  • Oracle Applications Session Cookie Domain (ICX_SESSION_COOKIE_DOMAIN): DOMAIN
  • Applications SSO Type: SSWA_SSO
  • FND_SEC_ALLOW_UNRESTRICTED_REDIRECT: Yes

9단계: 재시작 및 테스트

EBS 서비스를 재시작한 후 SSO 로그인이 정상적으로 작동하는지 테스트합니다.

결론

위에서 안내한 단계들을 통해 Oracle IDCS를 활용한 EBS SSO 기능을 구현할 수 있으며, Active Directory, EBS, IDCS 간의 원활한 통합 환경을 구축할 수 있습니다. 클라우드 기반 아이덴티티 관리로 운영 부담을 줄이면서도 강력한 보안성과 사용자 편의성을 동시에 확보할 수 있습니다.