Oracle Access Management와 Oracle Advanced Authentication 통합
소개
이 사용지침서에서는 Oracle Access Management(OAA)를 Oracle Advanced Authentication(OAA)과 통합하여 보호된 애플리케이션에 액세스하는 사용자가 SSO(Single-Sign On)를 통해 OAM에 로그인한 후 다중 요소 인증을 위한 두 번째 요소로 도전하는 방법을 보여줍니다.
또한 유저 이전을 구성하는 방법을 보여줍니다. 사용자 마이그레이션은 사용자가 OAM에 로그인하고 해당 사용자는 정의된 LDAP 속성을 기반으로 등록된 요소가 포함된 OAA로 자동으로 이전되는 프로세스입니다. 각 사용자에 대해 등록된 요소는 OAA 인증 플러그인에 정의된 LDAP 속성을 기반으로 합니다. 사용자에게 OAM의 기본 사용자 ID 저장소에 설정된 LDAP 속성이 있는 경우 해당 요인은 OAA에 사용자에 대해 자동으로 등록됩니다. 이 자습서에서는 LDAP 속성 mail
및 mobile
을 사용하여 사용자에 대한 전자메일 및 SMS 요소를 설정합니다.
목표
이 자습서에서는 다음 작업을 수행합니다.
- OAM의 TAP 파트너로 OAA 등록
- OAA에서 OAM 에이전트 구성
- OAM에서 OAA 플러그인 및 모듈 설치 및 구성
- OAM amd OAA 통합을 성공한 테스트
Oracle Access Management 필수 조건
이 튜토리얼을 수행하기 전에 다음을 수행해야 합니다.
- 실행 중인 Oracle Access Management 12c(12.2.1.4) 설치입니다. 설치에는 OAM에서 사용하는 기본 사용자 ID 저장소의 샘플 사용자가 있어야 합니다.
- Oracle HTTP Server 및 Oracle WebGate 설치
- WebGate로 보호되는 응용 프로그램
데모용으로 이 자습서는 자습서 시리즈 Oracle Access Management 12c 시작하기에서 생성된 환경을 기반으로 합니다. 이 환경에서 Oracle Access Management는 OUD(Oracle Unified Directory)를 기본 사용자 ID 저장소로 사용합니다. mybank
이라는 응용 프로그램이 WebLogic 서버에 배치되고 Oracle WebGate를 통해 보호됩니다. 이 자습서의 OAM 호스트 이름, URL, PATH 및 사용자에 대한 참조는 Getting Started with Oracle Access Management 12c 자습서에 사용된 참조를 기반으로 합니다.
OAM 환경에 위의 자습서를 사용하는 경우 샘플 oaausers.ldif를 다운로드해야 합니다. 이 파일에는 OAA를 설치하기 전에 필요한 사용자 및 그룹이 포함되어 있습니다. oaausers.ldif
를 편집하고 각 사용자에 대한 mail
, mobile
및 <password>
을 적합한 값으로 업데이트합니다. 따라서 사용자가 OAM에 로그인(예: testuser
)할 때 해당 요소가 SMS 및 전자메일로 설정된 OAA로 마이그레이션되는지 테스트할 수 있습니다. OUD에 대해 ldapmodify -f oaausers.ldif
를 실행하여 사용자 및 그룹을 로드합니다.
Oracle 고급 인증 필수 조건
이 튜토리얼을 수행하기 전에 다음을 수행해야 합니다.
- 실행 중인 OAA(Oracle Advanced Authentication) 인스턴스입니다. OAA 설치 방법에 대한 지침은 Administering Oracle Advanced Authentication and Oracle Adaptive Risk Management를 참조하십시오.
- OAA 인스턴스가 설치되었으며 위에 나열된 동일한 OAM 설치에 대해 OAUTH를 사용하도록 구성되었습니다. OAA 설치 중
installOAA.properties
파일에 전달된oauth.applicationid
에 대한 값을 알고 있어야 합니다. - SMS 및/또는 EMAIL을 통한 인증을 허용하려면 메시징 제공자와 함께 사용하도록 OAA를 구성해야 합니다. 전자메일 및 SMS에 대한 Oracle UMS 서버 구성 및 전자 메일 및 SMS 메시징 제공자 사용자 정의를 참조하십시오.
- OAA 관리 URL(예:
https://oaa.example.com/oaa-admin
및 관리자 인증서)입니다. 예:oaadmin/<password>
- OAA 사용자 환경설정(SPUI) URL: 예:
http://oaa.example.com/oaa/rui
OAM의 TAP 파트너로 OAA 등록
이 섹션에서는 OAM의 TAP(신뢰할 수 있는 인증 프로토콜) 파트너로 OAA를 등록합니다.
목표
OAM의 TAP 파트너로 OAA를 등록합니다.
OAM의 TAP 파트너 등록
-
OAM 서버에서
oracle
으로 터미널 window를 실행하고 다음 명령을 입력합니다.cd /u01/app/oracle/product/middleware/oracle_common/common/bin ./wlst.sh
출력은 다음과 비슷합니다.
Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline>
-
다음과 같이 OAM 관리 서버에 연결합니다.
wls:/offline> connect ('weblogic','<password>')
출력은 다음과 비슷합니다.
Successfully connected to Admin Server "AdminServer" that belongs to domain "oam_domain". Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. wls:/oam_domain/serverConfig/>
-
다음 명령을 실행하여 OAA TAP 파트너를 등록:
wls:/oam_domain/serverConfig/> registerThirdPartyTAPPartner(partnerName = "<partner_name>", keystoreLocation= "<path_to_keystore>", password="<keystore_password>", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="<URL>")
설명:
<partner_name>
는 파트너 애플리케이션에 대해 제공할 이름입니다.<path_to_keystore>
는 생성할 키 저장소의 위치와 파일 이름입니다.<keystore_password>
는 생성된 키 저장소의 비밀번호입니다.tapRedirectUrl
은 적합한 http URL입니다. URL에 연결할 수 있고 200 OK 응답을 반환해야 합니다. https URL을 사용하지 마십시오. 그렇지 않으면 오류 메시지가 나타납니다.
예:
registerThirdPartyTAPPartner(partnerName = "OAM-MFAPartner", keystoreLocation= "/tmp/OAMOAAKeyStore.jks", password="********", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="http://oam.example.com:7777")
출력은 다음과 비슷합니다.
Registration Successful wls:/oam_domain/serverConfig/>
위 예에서는 키 저장소
/tmp/OAMOAAKeyStore.jks
가 생성됩니다. 이 키 및 비밀번호는 OAA에서 OAM을 에이전트로 등록할 때 사용됩니다. -
다음 명령을 실행하여 wlst를 종료합니다.
wls:/oam_domain/serverConfig/> exit() Exiting WebLogic Scripting Tool.
OAA에서 OAM 에이전트 구성
이 섹션에서는 OAM 관리 콘솔에서 OAM용 에이전트를 구성합니다.
목표
OAA에서 OAM에 대한 에이전트를 구성합니다.
OAA에서 OAM 에이전트 구성
-
관리자 인증서를 사용하여 OAA 관리 콘솔에 로그인합니다. 예:
https://oaa.example.com/oaa-admin
-
빠른 작업에서 OAM 통합 에이전트 생성을 선택합니다.
-
통합 에이전트 생성의 세부정보 탭에서 다음을 입력합니다.
- 이름: 값이 이전에 등록된 TAP 파트너 이름과 동일한
<partner_name>
. 예:OAM-MFAPartner
- 설명:
OAM TAP Partner for OAA
- 통합 에이전트 유형:
Oracle Access Management
- 클라이언트 ID:
Re-Generate
을 누릅니다. - 클라이언트 암호:
Re-Generate
을 누릅니다. - 개인 키 파일: TAP 파트너를 등록할 때 생성된 키 파일(예:
/tmp/OAMOAAKeyStore.jks
)을 끌어 놓거나 +를 눌러 파일 시스템에서 선택합니다. - 개인 키 비밀번호:
<password>
TAP 파트너를 등록할 때 키 저장소에 대해 입력된 비밀번호
예:
- 이름: 값이 이전에 등록된 TAP 파트너 이름과 동일한
-
Copy the Client ID e.g
e1d7dd2d-83e2-4ac8-b338-5dbc6348b526
and Client Secret e.g34e360cf-3ccc-4dcd-911e-0b00e367dcee9
to a safe place as these are required later when configuring OAM. -
저장을 누릅니다.
-
통합 에이전트 화면에서 방금 생성한 에이전트를 누릅니다(예: OAM-MFAPartner).
-
보험 레벨에서 생성을 누릅니다.
-
보증 레벨 생성에서 다음을 입력하고 생성을 누릅니다.
- 이름:
OAM-MFA-Level
- 설명:
OAM-MFA-Level for OAM Integration
예:
주: 이름에 대해 입력한 값은 나중에
ASSURANCE_LEVEL
에 대한 OAM OAA 플러그인 구성에서 사용됩니다. - 이름:
-
보증 레벨 탭에서 OAM-MFA-레벨을 누릅니다.
-
사용에서 보증 레벨에 지정할 요소를 선택합니다(예: Oracle Mobile Authenticator, 전자메일 도전 및 SMS 도전). 그런 다음 저장을 누릅니다.
예:
OAM에서 OAA 플러그인 설치 및 구성
이 섹션에서는 OAM에서 OAA 플러그인을 구성합니다.
목표
OAM에서 OAA 플러그인을 구성하고 두번째 요소 인증을 위해 OAA와 통합을 사용으로 설정하는 연관된 인증 모듈을 생성합니다.
OAM을 위한 OAA 플러그인 설치
주: 4월 22일 번들 패치(12.2.1.4.220404) 이상의 OAM을 사용하는 경우 플러그인이 기본적으로 OAM에 포함되므로 이 섹션을 건너뛰고 Create an Authentication Module for OAA로 이동할 수 있습니다.
-
oaamgmt
Pod가 실행 중인 OAA 환경에서 Pod/u01/oracle/libs
디렉토리에서 OAA 플러그인OAAAuthnPlugin.jar
를 호스트 시스템의 디렉토리(예:/scratch/OAA
)로 복사합니다.$ kubectl cp <namespace>/<oaamgmt_pod>:/u01/oracle/libs/OAAAuthnPlugin.jar <directory>/OAAAuthnPlugin.jar
예:
$ kubectl cp oaans/oaamgmt-oaa-mgmt-5c68dc9c57-t2h6w:/u01/oracle/libs/OAAAuthnPlugin.jar /scratch/OAA/OAAAuthnPlugin.jar
-
브라우저를 실행하고 OAM 관리 콘솔(
http://oam.example.com:7001/oamconsole
)에 액세스합니다.weblogic
/<password>
으로 로그인합니다. -
OAAAuthnPlugin.jar
를 브라우저에서 실행 중인 시스템으로 복사합니다. -
Application Security -> Plug-ins -> Authentication Plug-ins로 이동합니다.
-
플러그인 탭에서 플러그인 임포트를 선택합니다.
-
플러그인 임포트 창에서 파일을 선택하여 플러그인 파일(*.jar)을 선택합니다.
OAAAuthnPlugin.jar
의 위치를 선택하고 임포트를 누릅니다. -
동일한 페이지에서 검색 필드로 이동하고
OAAAuthnPlugin
을 입력합니다. 플러그인을 강조 표시하고 선택한 항목 배포를 선택합니다. -
플러그인의 활성화 상태에 분산됨이 표시되면 선택된 항목 활성화를 선택합니다. 활성화 상태가 활성화됨으로 변경되어야 합니다.
예:
-
Plugins-tab을 닫습니다.
OAA에 대한 인증 모듈 생성
-
OAM 콘솔에서 Application Security -> Plug-ins -> Authentication Modules로 이동합니다.
-
인증 모듈 탭에서 인증 모듈 생성, 사용자정의 인증 모듈 생성을 차례로 누릅니다.
-
인증 모듈 -> 일반 사항 탭에서 다음을 입력합니다.
- 이름:
OAA-MFA-Auth-Module
- 설명:
OAA MFA Authentication Module
- 이름:
-
단계 링크를 누르고 단계 탭에서 추가를 누릅니다.
-
새 단계 추가 창에서 다음을 입력하고 확인을 누릅니다.
- 단계 이름:
UserIdentificationStep
- 설명:
Identify User
- 플러그인 이름:
UserIdentificationPlugIn
- 단계 이름:
-
추가를 다시 누르고 다음을 입력하고 확인을 누릅니다.
- 단계 이름:
User OAA MFA Step
- 설명:
MFA with OAA
- 플러그인 이름:
OAAAuthnPlugin
- 단계 이름:
-
추가를 다시 누르고 다음을 입력하고 확인을 누릅니다.
- 단계 이름:
PasswordValidation
- 설명:
Validate user password on OAM
- 플러그인 이름:
UserAuthenticationPlugin
모듈은 현재 다음과 같아야 합니다.
- 단계 이름:
-
User OAA MFA Step
을 누르고 다음 필드를 채웁니다.- OAA_URL:
<SPUI_URL/authn/v1>
(예:https://oaa.example.com/oaa/rui/authn/v1
) - TAP_AGENT:
<partner_name>
. 이 값은 OAM에 TAP 파트너를 등록할 때 제공된 이름이어야 합니다(예:OAM-MFAPartner
). - APPLICATION_ID :
<app_id>
. OAA로 마이그레이션된 OAM 사용자와 연관시킬 OAA 그룹의 이름입니다(예:Default
). OAA를 설치할 때 사용되는oauth.applicationid
과 일치해야 합니다. 그렇지 않으면 일반 사용자가 사용자 환경설정 UI에 액세스할 수 없습니다. - IDENTITY_STORE_REF:
<default_user_identity_store>
. 이 값은 OAM 콘솔에서 구성 -> 사용자 ID 저장소에 설정된 기본 저장소 값으로 설정해야 합니다. 예:OUDStore
- ASSURANCE_LEVEL:
<assurance_level>
. 이 값은 OAA에서 생성된 보험 레벨으로 설정해야 합니다(예:OAM-MFA-Level
). - CLIENT_ID:
<client_id>
. 에이전트 생성 시 복사된 클라이언트 ID의 값입니다(예:e1d7dd2d-83e2-4ac8-b338-5dbc6348b526
). - CLIENT_SECRET:
<client_secret>
. 에이전트 생성 시 복사된 클라이언트 ID의 값입니다(예:34e360cf-3ccc-4dcd-911e-0b00e367dcee
). - LDAP_ATTRS:
mail,mobile
. 전자 메일 주소에 대해 설정된 LDAP 속성과 LDAP 서버의 사용자에 대한 모바일 번호입니다. 그러면 사용자 데이터를 OAA로 마이그레이션할 수 있습니다. 주: LDAP_ATTRS는 소문자로 지정해야 합니다. LDAP 속성이 LDAP에camelCase
로 저장된 경우에도 마찬가지입니다.
예:
- OAA_URL:
-
저장을 누릅니다.
-
단계 조정을 누르고 초기 단계 드롭다운 목록에서 사용자 OAA MFA 단계를 선택합니다.
-
테이블에서 다음과 같이 값을 선택합니다.
이름 설명 성공 시 실패 시 오류 발생 시 UserIdentificationStep 사용자 식별 비밀번호 검증 failure failure OAA MFA 단계 사용 OAA를 사용한 MFA 성공 UserIdentificationStep failure PasswordValidation OAM의 사용자 비밀번호 검증 OAA MFA 단계 사용 failure failure 예를 들면 다음과 같습니다.
-
적용을 누릅니다.
OAA 인증 체계 생성
-
애플리케이션 보안 실행패드 -> 액세스 관리자에서 인증 체계를 누릅니다.
-
인증 체계 탭에서 인증 체계 생성을 선택합니다.
-
"인증 체계 생성" 탭에서 다음을 입력합니다.
- 이름:
<scheme_name>
예:OAA-MFA-Scheme
- 설명:
OAA MFA Authentication Scheme
- 인증 레벨:
2
- 챌린지 방법:
Form
- 챌린지 재지정 URL:
/oam/server/
- 인증 모듈:
OAA-MFA-Auth-Module
- 챌린지 URL:
/pages/login.jsp
- 컨텍스트 유형:
Default
- 컨텍스트 값:
/oam
- 챌린지 매개변수:
initial_command=NONE
. 이 매개변수는 암호 없는 로그인을 허용합니다. Passwordless Login을 참조하십시오.
- 이름:
-
적용을 누릅니다.
보호된 애플리케이션에 대해 OAA MFA 체계를 사용하도록 WebGate를 업데이트합니다.
주: Webgate webgate_7777
아래의 예에서 보호되는 애플리케이션 URL은 /mybank
입니다. 다른 항목을 사용하는 경우 적절히 변경하십시오.
-
Application Security Launchpad -> Access Manager에서 Application Domains를 누릅니다.
-
애플리케이션 도메인 탭에서 검색을 누릅니다.
-
WebGate을 눌러 업데이트합니다(예:
webgate_7777
). -
WebGate 탭(webgate_7777)에서 인증 정책을 누릅니다. 생성을 누릅니다.
-
인증 정책 생성에서 다음을 입력하고 [적용]을 누릅니다.
- 이름:
OAA_MFA-Policy
- 인증 체계:
OAA-MFA-Scheme
- 이름:
-
WebGate 탭(webgate_7777) 탭에서 리소스 탭을 선택하고 검색을 누른 다음 생성을 누릅니다.
-
리소스 생성 탭에서 다음을 입력하고 적용을 누릅니다.
- 유형:
HTTP
- 설명:
OAA Resource
- Host Identifier :
webgate_7777
- 리소스 URL:
/mybank/**
- 작업:
ALL
- 보호 레벨:
Protected
- 인증 정책:
OAA_MFA-Policy
- 권한 부여 정책:
Protected Resource Policy
주: 다른
/mybank
URI가 이미 보호되어 있는 경우 해당 URI를 업데이트하고 인증 정책을OAA_MFA_Policy
로 변경하십시오. - 유형:
-
OAM 서버를 재시작하여 새 OAA 플러그인 구성을 선택합니다.
OAM 및 OAA 통합 테스트
이 섹션에서는 보호되는 응용 프로그램에 액세스하고 OAM에 로그인하여 두번째 요소 인증이 작동하는지 테스트합니다.
목표
OAA 및 OAM 통합을 테스트하려면 성공적으로 수행됩니다.
OAM 및 OAA 통합 테스트
-
브라우저를 실행하고 보호된 응용 프로그램(예:
http://oam.example.com:7777/mybank
)에 액세스합니다. 이 응용 프로그램은 보호되므로 OAM 로그인 페이지로 재지정됩니다. 새 사용자testuser
/<password>
로 로그인합니다. -
로그인에 성공하면 OAA 끝점(예:
https://oaa.example.com/oaa/authnui
)으로 재지정됩니다. OAM의 OAA 플러그인에 대한LDAP_ATTRS
이mail,mobile
로 설정되고 해당 LDAP 속성이 testuser에 대해 채워짐에 따라 사용자가 EMAIL 또는 SMS를 선택할 수 있는 확인 선택 페이지가 나타납니다. Email Challenge에서 Send OTP to te**@**.com을 선택합니다. -
전자메일 페이지로 재지정됩니다. 이 페이지에서 등록된 전자메일 Device1에서 OTP 입력을 요청합니다. Enter OTP 필드에 사용자 전자메일 주소로 전자메일을 보내는 일회용 비밀번호를 입력하고 확인을 누릅니다.
-
인증에 성공하면 보호된 응용 프로그램 페이지(예:
/mybank
)로 재지정해야 합니다. -
기존 브라우저를 닫고 새 브라우저를 실행합니다. 보호되는 응용 프로그램에 한 번 더 액세스합니다(예:
http://oam.example.com:7777/mybank
). -
암호 없는 로그인은 인증 체계
OAA-MFA-Scheme
의initial_command=NONE
매개변수를 통해 활성화되므로 유저는 OAM 유저 및 암호를 입력하라는 메시지가 표시되지 않으며 두번째 요소 인증 방식을 선택하라는 메시지가 표시됩니다. SMS 시도 응답 인증에서 OTP를 전화 0으로 전송****3을 선택합니다. -
SMS 페이지로 재지정됩니다. 여기서 등록된 SMS 장치에서 OTP 입력을 요청합니다. Enter OTP 필드에 사용자 모바일 장치로 전송되는 일회용 비밀번호를 입력하고 Verify를 누릅니다.
-
인증에 성공하면 보호된 응용 프로그램 페이지(예:
/mybank
)로 재지정해야 합니다.
더 알아보기
- Oracle Advanced Authentication and Oracle Adaptive Risk Management
- Postman을 통해 Oracle Advanced Authentication REST API 사용
- ID 및 접근 관리를 위한 WebLogic 스크립팅 툴 명령 참조
피드백
이 자습서에 대한 피드백을 제공하려면 idm_user_assistance_ww_grp@oracle.com으로 문의하십시오.
감사의 글
- 작성자 - Russ Hodgson
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 찾아보거나 Oracle Learning YouTube channel에서 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 변경하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Integrate Oracle Access Management with Oracle Advanced Authentication
F39325-06
January 2023
Copyright © 2023 Oracle and/or its affiliates.