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 속성 mailmobile을 사용하여 사용자에 대한 전자메일 및 SMS 요소를 설정합니다.

목표

이 자습서에서는 다음 작업을 수행합니다.

  1. OAM의 TAP 파트너로 OAA 등록
  2. OAA에서 OAM 에이전트 구성
  3. OAM에서 OAA 플러그인 및 모듈 설치 및 구성
  4. OAM amd OAA 통합을 성공한 테스트

Oracle Access Management 필수 조건

이 튜토리얼을 수행하기 전에 다음을 수행해야 합니다.

데모용으로 이 자습서는 자습서 시리즈 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 고급 인증 필수 조건

이 튜토리얼을 수행하기 전에 다음을 수행해야 합니다.

OAM의 TAP 파트너로 OAA 등록

이 섹션에서는 OAM의 TAP(신뢰할 수 있는 인증 프로토콜) 파트너로 OAA를 등록합니다.

목표

OAM의 TAP 파트너로 OAA를 등록합니다.

OAM의 TAP 파트너 등록

  1. 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> 
    
  2. 다음과 같이 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/> 
    
  3. 다음 명령을 실행하여 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을 에이전트로 등록할 때 사용됩니다.

  4. 다음 명령을 실행하여 wlst를 종료합니다.

    wls:/oam_domain/serverConfig/> exit()
    Exiting WebLogic Scripting Tool.
    

OAA에서 OAM 에이전트 구성

이 섹션에서는 OAM 관리 콘솔에서 OAM용 에이전트를 구성합니다.

목표

OAA에서 OAM에 대한 에이전트를 구성합니다.

OAA에서 OAM 에이전트 구성

  1. 관리자 인증서를 사용하여 OAA 관리 콘솔에 로그인합니다. 예: https://oaa.example.com/oaa-admin

  2. 빠른 작업에서 OAM 통합 에이전트 생성을 선택합니다.

  3. 통합 에이전트 생성세부정보 탭에서 다음을 입력합니다.

    • 이름: 값이 이전에 등록된 TAP 파트너 이름과 동일한 <partner_name>. 예: OAM-MFAPartner
    • 설명: OAM TAP Partner for OAA
    • 통합 에이전트 유형: Oracle Access Management
    • 클라이언트 ID: Re-Generate을 누릅니다.
    • 클라이언트 암호: Re-Generate을 누릅니다.
    • 개인 키 파일: TAP 파트너를 등록할 때 생성된 키 파일(예: /tmp/OAMOAAKeyStore.jks)을 끌어 놓거나 +를 눌러 파일 시스템에서 선택합니다.
    • 개인 키 비밀번호: <password> TAP 파트너를 등록할 때 키 저장소에 대해 입력된 비밀번호

    예:

    createagent.jpg 그림에 대한 설명

  4. Copy the Client ID e.g e1d7dd2d-83e2-4ac8-b338-5dbc6348b526 and Client Secret e.g 34e360cf-3ccc-4dcd-911e-0b00e367dcee9 to a safe place as these are required later when configuring OAM.

  5. 저장을 누릅니다.

  6. 통합 에이전트 화면에서 방금 생성한 에이전트를 누릅니다(예: OAM-MFAPartner).

  7. 보험 레벨에서 생성을 누릅니다.

  8. 보증 레벨 생성에서 다음을 입력하고 생성을 누릅니다.

    • 이름: OAM-MFA-Level
    • 설명: OAM-MFA-Level for OAM Integration

    예:

    그림 Assurancelevel.jpg에 대한 설명

    : 이름에 대해 입력한 값은 나중에 ASSURANCE_LEVEL에 대한 OAM OAA 플러그인 구성에서 사용됩니다.

  9. 보증 레벨 탭에서 OAM-MFA-레벨을 누릅니다.

  10. 사용에서 보증 레벨에 지정할 요소를 선택합니다(예: Oracle Mobile Authenticator, 전자메일 도전SMS 도전). 그런 다음 저장을 누릅니다.

    예:

    definepolicy.jpg 그림에 대한 설명

OAM에서 OAA 플러그인 설치 및 구성

이 섹션에서는 OAM에서 OAA 플러그인을 구성합니다.

목표

OAM에서 OAA 플러그인을 구성하고 두번째 요소 인증을 위해 OAA와 통합을 사용으로 설정하는 연관된 인증 모듈을 생성합니다.

OAM을 위한 OAA 플러그인 설치

: 4월 22일 번들 패치(12.2.1.4.220404) 이상의 OAM을 사용하는 경우 플러그인이 기본적으로 OAM에 포함되므로 이 섹션을 건너뛰고 Create an Authentication Module for OAA로 이동할 수 있습니다.

  1. 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
    
  2. 브라우저를 실행하고 OAM 관리 콘솔(http://oam.example.com:7001/oamconsole)에 액세스합니다. weblogic/<password>으로 로그인합니다.

  3. OAAAuthnPlugin.jar를 브라우저에서 실행 중인 시스템으로 복사합니다.

  4. Application Security -> Plug-ins -> Authentication Plug-ins로 이동합니다.

  5. 플러그인 탭에서 플러그인 임포트를 선택합니다.

  6. 플러그인 임포트 창에서 파일을 선택하여 플러그인 파일(*.jar)을 선택합니다. OAAAuthnPlugin.jar의 위치를 선택하고 임포트를 누릅니다.

  7. 동일한 페이지에서 검색 필드로 이동하고 OAAAuthnPlugin을 입력합니다. 플러그인을 강조 표시하고 선택한 항목 배포를 선택합니다.

  8. 플러그인의 활성화 상태분산됨이 표시되면 선택된 항목 활성화를 선택합니다. 활성화 상태활성화됨으로 변경되어야 합니다.

    예:

    그림 oaaauthnplugin.jpg에 대한 설명

  9. Plugins-tab을 닫습니다.

OAA에 대한 인증 모듈 생성

  1. OAM 콘솔에서 Application Security -> Plug-ins -> Authentication Modules로 이동합니다.

  2. 인증 모듈 탭에서 인증 모듈 생성, 사용자정의 인증 모듈 생성을 차례로 누릅니다.

  3. 인증 모듈 -> 일반 사항 탭에서 다음을 입력합니다.

    • 이름: OAA-MFA-Auth-Module
    • 설명: OAA MFA Authentication Module
  4. 단계 링크를 누르고 단계 탭에서 추가를 누릅니다.

  5. 새 단계 추가 창에서 다음을 입력하고 확인을 누릅니다.

    • 단계 이름: UserIdentificationStep
    • 설명: Identify User
    • 플러그인 이름: UserIdentificationPlugIn
  6. 추가를 다시 누르고 다음을 입력하고 확인을 누릅니다.

    • 단계 이름: User OAA MFA Step
    • 설명: MFA with OAA
    • 플러그인 이름: OAAAuthnPlugin
  7. 추가를 다시 누르고 다음을 입력하고 확인을 누릅니다.

    • 단계 이름: PasswordValidation
    • 설명: Validate user password on OAM
    • 플러그인 이름: UserAuthenticationPlugin

    모듈은 현재 다음과 같아야 합니다.

    그림 moduleteps.jpg에 대한 설명

  8. 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로 저장된 경우에도 마찬가지입니다.

    예:

    그림 useoaamfastep.jpg에 대한 설명

  9. 저장을 누릅니다.

  10. 단계 조정을 누르고 초기 단계 드롭다운 목록에서 사용자 OAA MFA 단계를 선택합니다.

  11. 테이블에서 다음과 같이 값을 선택합니다.

    이름 설명 성공 시 실패 시 오류 발생 시
    UserIdentificationStep 사용자 식별 비밀번호 검증 failure failure
    OAA MFA 단계 사용 OAA를 사용한 MFA 성공 UserIdentificationStep failure
    PasswordValidation OAM의 사용자 비밀번호 검증 OAA MFA 단계 사용 failure failure

    예를 들면 다음과 같습니다.

    그림 steporchestration.jpg 설명

  12. 적용을 누릅니다.

OAA 인증 체계 생성

  1. 애플리케이션 보안 실행패드 -> 액세스 관리자에서 인증 체계를 누릅니다.

  2. 인증 체계 탭에서 인증 체계 생성을 선택합니다.

  3. "인증 체계 생성" 탭에서 다음을 입력합니다.

    • 이름: <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을 참조하십시오.

    authnscheme.jpg에 대한 설명

  4. 적용을 누릅니다.

보호된 애플리케이션에 대해 OAA MFA 체계를 사용하도록 WebGate를 업데이트합니다.

: Webgate webgate_7777 아래의 예에서 보호되는 애플리케이션 URL은 /mybank입니다. 다른 항목을 사용하는 경우 적절히 변경하십시오.

  1. Application Security Launchpad -> Access Manager에서 Application Domains를 누릅니다.

  2. 애플리케이션 도메인 탭에서 검색을 누릅니다.

  3. WebGate을 눌러 업데이트합니다(예: webgate_7777).

  4. WebGate 탭(webgate_7777)에서 인증 정책을 누릅니다. 생성을 누릅니다.

  5. 인증 정책 생성에서 다음을 입력하고 [적용]을 누릅니다.

    • 이름: OAA_MFA-Policy
    • 인증 체계: OAA-MFA-Scheme
  6. WebGate 탭(webgate_7777) 탭에서 리소스 탭을 선택하고 검색을 누른 다음 생성을 누릅니다.

  7. 리소스 생성 탭에서 다음을 입력하고 적용을 누릅니다.

    • 유형: HTTP
    • 설명: OAA Resource
    • Host Identifier : webgate_7777
    • 리소스 URL: /mybank/**
    • 작업: ALL
    • 보호 레벨: Protected
    • 인증 정책: OAA_MFA-Policy
    • 권한 부여 정책: Protected Resource Policy

    : 다른 /mybank URI가 이미 보호되어 있는 경우 해당 URI를 업데이트하고 인증 정책OAA_MFA_Policy로 변경하십시오.

  8. OAM 서버를 재시작하여 새 OAA 플러그인 구성을 선택합니다.

OAM 및 OAA 통합 테스트

이 섹션에서는 보호되는 응용 프로그램에 액세스하고 OAM에 로그인하여 두번째 요소 인증이 작동하는지 테스트합니다.

목표

OAA 및 OAM 통합을 테스트하려면 성공적으로 수행됩니다.

OAM 및 OAA 통합 테스트

  1. 브라우저를 실행하고 보호된 응용 프로그램(예: http://oam.example.com:7777/mybank)에 액세스합니다. 이 응용 프로그램은 보호되므로 OAM 로그인 페이지로 재지정됩니다. 새 사용자 testuser/<password>로 로그인합니다.

    그림 oamlogin.jpg에 대한 설명

  2. 로그인에 성공하면 OAA 끝점(예: https://oaa.example.com/oaa/authnui)으로 재지정됩니다. OAM의 OAA 플러그인에 대한 LDAP_ATTRSmail,mobile로 설정되고 해당 LDAP 속성이 testuser에 대해 채워짐에 따라 사용자가 EMAIL 또는 SMS를 선택할 수 있는 확인 선택 페이지가 나타납니다. Email Challenge에서 Send OTP to te**@**.com을 선택합니다.

    그림 challengechoice.jpg 설명

  3. 전자메일 페이지로 재지정됩니다. 이 페이지에서 등록된 전자메일 Device1에서 OTP 입력을 요청합니다. Enter OTP 필드에 사용자 전자메일 주소로 전자메일을 보내는 일회용 비밀번호를 입력하고 확인을 누릅니다.

    emailotp.jpg 그림 설명

  4. 인증에 성공하면 보호된 응용 프로그램 페이지(예: /mybank)로 재지정해야 합니다.

    그림 mybank.jpg 설명

  5. 기존 브라우저를 닫고 새 브라우저를 실행합니다. 보호되는 응용 프로그램에 한 번 더 액세스합니다(예: http://oam.example.com:7777/mybank).

  6. 암호 없는 로그인은 인증 체계 OAA-MFA-Schemeinitial_command=NONE 매개변수를 통해 활성화되므로 유저는 OAM 유저 및 암호를 입력하라는 메시지가 표시되지 않으며 두번째 요소 인증 방식을 선택하라는 메시지가 표시됩니다. SMS 시도 응답 인증에서 OTP를 전화 0으로 전송****3을 선택합니다.

    그림 challengechoice.jpg 설명

  7. SMS 페이지로 재지정됩니다. 여기서 등록된 SMS 장치에서 OTP 입력을 요청합니다. Enter OTP 필드에 사용자 모바일 장치로 전송되는 일회용 비밀번호를 입력하고 Verify를 누릅니다.

  8. 인증에 성공하면 보호된 응용 프로그램 페이지(예: /mybank)로 재지정해야 합니다.

더 알아보기

피드백

이 자습서에 대한 피드백을 제공하려면 idm_user_assistance_ww_grp@oracle.com으로 문의하십시오.

감사의 글

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 찾아보거나 Oracle Learning YouTube channel에서 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 변경하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.