.. _saml-okta: okta (SAML2.0) - CWP ==================== 본 ê°€ì´ë“œëŠ” okta 와 ë„¤íŠ¸ì›Œí¬ ì ‘ê·¼ì œì–´ ì‹œìŠ¤í…œì¸ Genian ZTNAì˜ ì¸ì¦ì—°ë™ ê¸°ëŠ¥ì„ ìˆ˜í–‰í•˜ê¸° 위한 ì„¤ì • ë°©ë²•ì„ ì•ˆë‚´í•©ë‹ˆë‹¤. 개요 ------ Genian ZTNA와 okta ì†”ë£¨ì…˜ì˜ APP ì—°ë™ì„ 통하여 Genian ZTNAìžì²´ 사용ìžDB를 ê´€ë¦¬í• í•„ìš”ê°€ ì—†ì´ okta를 통해 ì‚¬ìš©ìž ì¸ì¦ì„ ìˆ˜í–‰í• ìˆ˜ 있습니다. ì‚¬ìš©ìž ì¸ì¦ì„ 위해 Genian ZTNA CWP페ì´ì§€ì—서 SAML2.0 í”„ë¡œí† ì½œì„ ì´ìš©í•˜ì—¬ okta ì¸ì¦ì„ í˜¸ì¶œí•˜ê³ oktaì—서 ì‚¬ìš©ìž ì¸ì¦ 여부를 확ì¸í•˜ì—¬ ì •ìƒì ì¸ SSOê°€ ì´ë£¨ì–´ì§‘니다. ê¶Œìž¥ë²„ì „ ---------- .. csv-table:: :header: ì œí’ˆëª…(구성요소),ë²„ì „,ë¹„ê³ :class: longtable :widths: 30 30 40 Genian ZTNA(ì •ì±…ì„œë²„),V6.0 ì´ìƒ,2022.05 ì´í›„ Release ë²„ì „ okta APP,SAML2.0,2021.05 현재 ì—°ë™ê°€ëŠ¥ ì—°ë™ì˜ 목ì -------------- Genian ZTNA와 okta ì—°ë™ì€ 다ìŒì˜ 효과를 ì œê³µí•©ë‹ˆë‹¤. - ZTNA, okta 개별 ì¸ì¦ì„ 위한 ì‚¬ìš©ìž DB 관리가 필요하지 않습니다. - okta ê³„ì •ì„ ì´ìš©í•˜ì—¬ SSO로 ZTNA를 ì¸ì¦í• 수 있습니다. ì§€ì›ë˜ëŠ” 기능 -------------------- okta SAML App ì—°ë™ì€ 다ìŒê³¼ ê°™ì€ ê¸°ëŠ¥ì„ ì§€ì›í•©ë‹ˆë‹¤: - SP-initiated SSO - IdP-initiated SSO - JIT (Just-In-Time) Provisioning - Single Logout (SLO) - Signed Requests 위 ê¸°ëŠ¥ì— ëŒ€í•œ ìžì„¸í•œ ì •ë³´ëŠ” , https://help.okta.com/okta_help.htm?type=oie&id=ext_glossary ì—서 확ì¸í•˜ì„¸ìš”. ì—°ë™ ì„¤ì • 방법 ---------------- 본 ê°€ì´ë“œì—서 다루는 Genian ZTNA와 okta ì„¤ì • ë°©ë²•ì€ ì—°ë™ì„ 위한 필수 í•ëª©ë§Œì„ ì•ˆë‚´í•©ë‹ˆë‹¤. 최초 1회 ì„¤ì • ì´í›„ ìžë™ìœ¼ë¡œ ì ìš©ë©ë‹ˆë‹¤. Step 1: okta ì—°ë™ì„ 위한 ê³„ì •ë“±ë¡ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. https://www.okta.com/free-trial/ ì ‘ì†í•˜ì—¬ 트ë¼ì´ì–¼ ê³„ì •ì„ ì‹ ì²í•©ë‹ˆë‹¤. - ì‚¬ìš©ìž ì •ë³´ì™€ êµê°€ë¥¼ ì„ íƒí•©ë‹ˆë‹¤. #. ì‹ ì²í•œ ë©”ì¼ì£¼ì†Œë¡œ ìˆ˜ì‹ ëœ ì¸ì¦í™•ì¸ ë©”ì¼ì„ 확ì¸í•©ë‹ˆë‹¤. - ì‹ ì²í•œ ë©”ì¼ì£¼ì†Œë¡œ 'Activate your okta account' ë¼ëŠ” ì œëª©ìœ¼ë¡œ ê³„ì •ì •ë³´ í™•ì¸ ë©”ì¼ì´ 발송ë©ë‹ˆë‹¤. #. ë©”ì¼ ë‚´ 'Activate okta Accout' ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ ê³„ì •ì„ í™œì„±í™” 하ì‹ì‹œì˜¤. - ì¸ì¦ì„ 위한 초기 패스워드 변경과 2ì°¨ ì¸ì¦ì— 대한 ì„¤ì •ì„ í•©ë‹ˆë‹¤. - okta ì½˜ì†”ì ‘ì†ì‹œ OTP 2factor ì¸ì¦ì„ 요구하며 ì•„ì´í°,안드로ì´ë“œ OTP 앱 설치 ë° OTP 등ë¡ì´ 필요합니다. - OTP 등ë¡ê³¼ 로그ì¸ì„ 완료하였다면 ì´ì œ ì—°ë™ì„ 위한 SAML APP ì„¤ì •ì´ ì‹œìž‘ë©ë‹ˆë‹¤. Step 2: ì¸ì¦ì—°ë™ì„ 위한 SAML APP 추가 ë° ì„¤ì • ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. 메뉴ì—서 **Applications > Applications** 로 ì´ë™í•©ë‹ˆë‹¤. #. **Browse App Catalog** 메뉴ì—서 Genians ZTNA applicationì„ ê²€ìƒ‰í•˜ì„¸ìš”. #. ê²€ìƒ‰ëœ ZTNAì•±ì„ ì„ íƒí•œ 후 **Add Integration** ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ 추가합니다. #. Application labelì„ ìž…ë ¥í•©ë‹ˆë‹¤. #. **Base URL** ìž…ë ¥ëž€ì— ZTNA ì •ì±…ì„œë²„ì˜ URLì„ ì•„ëž˜ì˜ ì˜ˆì‹œì²˜ëŸ¼ ìž…ë ¥í•©ë‹ˆë‹¤. - ex) \https://test.genians.net/cwp2 #. Sign On íƒì„ ì„ íƒí•˜ì„¸ìš”. #. 화면 ì¤‘ê°„ì— **Settings > Sign on methods > SAML 2.0 > More details** ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ IdP ì •ë³´ë¥¼ 확ì¸í•©ë‹ˆë‹¤. #. Genian ZTNA **Web콘솔 > ì„¤ì • > 사용ìžì¸ì¦ > ì¸ì¦ì—°ë™ > SAML2 ì¸ì¦ì—°ë™** ì— ë‹¤ìŒ ê° í•ëª©ì˜ ê°’ì„ oktaì—서 복사해서 ìž…ë ¥í•˜ì‹ì‹œì˜¤. - **IdP SSO URL** - oktaì˜ **Sign on URL**. - **IdP Entity ID** - oktaì˜ **Issuer**. - **x509 Certificate** - oktaì˜ **Signing Certificate** 를 다운로드해서 íŒŒì¼ ë‚´ìš©ì„ ë³µì‚¬í•˜ì—¬ ìž…ë ¥í•˜ì‹ì‹œì˜¤. #. JIT provisioning ê¸°ëŠ¥ì„ ì‚¬ìš©í• ë ¤ë©´ ZTNAì—서 **JIT provisioning** ì„ 'On'으로 변경하ì‹ì‹œì˜¤. - ZTNA UIì˜ **JIT provisioning > ì¶”ê°€ì •ë³´** ì—서 추가 ë²„íŠ¼ì„ í´ë¦í•´ì„œ ì‚¬ìš©ìž ê³„ì •ì˜ ì´ë¦„, ì´ë©”ì¼ì„ ì„¤ì •í•˜ì‹ì‹œì˜¤. - ì´ë¦„ì— **{lastName}{firstName}** ìž…ë ¥í•˜ì‹ì‹œì˜¤. - ì´ë©”ì¼ì— **email** ì„ ìž…ë ¥í•˜ì‹ì‹œì˜¤. - SAML Attributes (firstName, lastName, email) í•ëª©ì€ oktaì— ì´ë¯¸ ì‚¬ì „ ì •ì˜ ë˜ì–´ 있습니다. - ì‚¬ì „ ì •ì˜ëœ ì†ì„± ì´ì™¸ì˜ ì†ì„±ë„ **Attributes (Optional)** 메뉴를 ì´ìš©í•´ì„œ 추가가 가능합니다. #. Single Logout(SLO)를 ì‚¬ìš©í• ë ¤ë©´ ZTNAì—서 **Single Logout(SLO)** ì„¤ì •ì„ 'On' 하ì‹ì‹œì˜¤. - oktaì˜ Sign on > Settings ì—서 **Enable Single Logout** í•ëª©ì„ ì²´í¬í•˜ì‹ì‹œì˜¤. - ZTNAì˜ SP X.509 certificate 를 다운로드해서 oktaì˜ Signature Certificate ì— ì—…ë¡œë“œ 하ì‹ì‹œì˜¤. SLO ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ê¸° 위해서는 SPì˜ ì¸ì¦ì„œê°€ 필요합니다. - ZTNAì˜ **IdP SLO URL** - oktaì˜ **Single Logout URL** ì„ ë³µì‚¬í•´ì„œ ìž…ë ¥í•˜ì‹ì‹œì˜¤.. - okta 화면ì—서 **Single Logout URL** ì´ ë³´ì´ì§€ 않는 경우 **Enable Single Logout** ì„¤ì •ì´ ì²´í¬ëœ ìƒíƒœì—서 **Save** ë²„íŠ¼ì„ í´ë¦í•´ì„œ ì €ìž¥í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤. - 다시 Sign On íƒìœ¼ë¡œ ëŒì•„와서 **Single Logout URL** ì„ í™•ì¸í•˜ì‹ì‹œì˜¤. #. Signed Requests를 ì‚¬ìš©í• ë ¤ë©´ **Signed Requests** ì„¤ì •ì„ 'On' 하ì‹ì‹œì˜¤. - Signed Requestsì˜ ê²½ìš° oktaì˜ **Applications > Create App Integration** ì„ í†µí•´ SAML ì„¤ì •ì„ í•´ì•¼ ê¸°ëŠ¥ì„ ì‚¬ìš©í• ìˆ˜ 있습니다. - SP X.509 certificate 를 다운로드해서 oktaì˜ Signature Certificate ì— ì—…ë¡œë“œ 하ì‹ì‹œì˜¤. Signed Requests ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ê¸° 위해서는 SPì˜ ì¸ì¦ì„œê°€ 필요합니다. - oktaì˜ SAML Settingsì—서 Signed Requests를 ì²´í¬í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤. #. Genian ZTNA CWP ì¸ì¦ 화면ì—서 í‘œì‹œí• okta ì¸ì¦ë²„íŠ¼ì— í‘œì‹œí• ë¬¸êµ¬ë¥¼ **ë¡œê·¸ì¸ ë²„íŠ¼ 문구** ì— ìž…ë ¥í•©ë‹ˆë‹¤. #. Genian ZTNA Web 콘솔 ì„¤ì • 화면 하단 **ìˆ˜ì •** ë²„íŠ¼ì„ í´ë¦í•©ë‹ˆë‹¤. .. note:: Sign On tabì˜ Base URL í•„ë“œì— ì˜¬ë°”ë¥¸ ê°’ì„ ìž…ë ¥í–ˆëŠ”ì§€ 확ì¸í•˜ì„¸ìš”. ìž˜ëª»ëœ ê°’ì„ ì‚¬ìš©í•˜ë©´ SAMLì„ í†µí•´ ZTNA로 ì¸ì¦í• 수 없습니다. ex) \https://test.genians.net/cwp2 Step 3: okta ì¸ì¦ì—°ë™ì— ì‚¬ìš©í• ê³„ì • 추가 ë° í• ë‹¹ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ì´ë¯¸ 사용ìžê°€ 등ë¡ë˜ì–´ 있다면 5번으로 ì´ë™ 1. okta 콘솔 화면 메뉴 **Directory > Groups** 으로 ì´ë™í•©ë‹ˆë‹¤. 2. 화면 중간 **Add Group** ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ ê·¸ë£¹ì„ ìƒì„±í•©ë‹ˆë‹¤. 3. okta 콘솔 화면 메뉴 **Directory > People** 으로 ì´ë™í•©ë‹ˆë‹¤. 4. 화면 중간 **Add Person** ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ 사용ìžë¥¼ 추가합니다. .. note:: Password í•ëª©ì€ ê´€ë¦¬ìžê°€ 패스워드를 ì§€ì •í•˜ì—¬ ìƒì„±í• ì§€ ì‚¬ìš©ìž ìµœì´ˆë¡œê·¸ì¸ì‹œ 변경하ë„ë¡ í• ì§€ ì„ íƒí•©ë‹ˆë‹¤. 5. okta 콘솔 화면 메뉴 **Application > Application** 으로 ì´ë™í•©ë‹ˆë‹¤. 6. 위ì—서 등ë¡í•œ APP 우측 삼ê°í˜•ì•„ì´ì½˜ì„ í´ë¦í•˜ì—¬ **Assign to Users** 를 í´ë¦í•©ë‹ˆë‹¤. 7. íŒì—… 화면ì—서 APPì„ í†µí•˜ì—¬ ì¸ì¦ì—°ë™ì— ì‚¬ìš©í• ê³„ì •ì˜ ìš°ì¸¡ **Assign** ë²„íŠ¼ì„ í´ë¦í•˜ì—¬ APPì— í• ë‹¹í•´ì¤ë‹ˆë‹¤. ì¸ì¦ì—°ë™ 테스트 방법 ----------------------- **okta My Apps 페ì´ì§€ì—서 테스트 하는 방법 (IdP-initiated SSO)** #. okta My Apps 페ì´ì§€ì— ì ‘ì†í•˜ì—¬ ìƒì„±í•œ ZTNA SAML Appì„ í´ë¦í•©ë‹ˆë‹¤. **App Embed Link 사용방법 (IdP-initiated SSO)** #. oktaì˜ General tab 화면 아래쪽으로 ì´ë™í•˜ë©´ **App Embed Link** 를 ì œê³µí•©ë‹ˆë‹¤. #. 해당 ë§í¬ë¥¼ 통해 ZTNAì— ë¡œê·¸ì¸í• 수 있습니다. **Genian ZTNA Web콘솔ì—서 테스트하는 방법 (SP-initiated SSO)** #. Webì½˜ì†”ì— ì ‘ì†í•˜ì—¬ **ì„¤ì • > 사용ìžì¸ì¦ > ì¸ì¦ì—°ë™ > ì¸ì¦í…ŒìŠ¤íŠ¸** í•ëª©ì— **테스트** ë²„íŠ¼ì„ í´ë¦í•©ë‹ˆë‹¤. #. íŒì—…ì°½ì—서 ì¸ì¦ì •ë³´ ì €ìž¥ì†Œë¥¼ **SAML2** 를 ì„ íƒí•©ë‹ˆë‹¤. #. 새로운 íŒì—…ì°½ì— okta ì¸ì¦íŽ˜ì´ì§€ê°€ 표시ë˜ë©° 사용ìžëª…, 암호를 ìž…ë ¥í•˜ì—¬ ì¸ì¦í•©ë‹ˆë‹¤. #. 'ì¸ì¦ì— 성공하였습니다.' 메시지가 표시ë˜ë©´ ì •ìƒì 으로 ì¸ì¦ì—°ë™ì´ ë˜ì—ˆìŠµë‹ˆë‹¤. **Genian ZTNA CWP 페ì´ì§€ì—서 테스트하는 방법 (SP-initiated SSO)** #. Genian ZTNA ë…¸ë“œì •ì±… 비밀번호 ì •ì±…ì„ í• ë‹¹ ë°›ì€ ë‹¨ë§(노드)를 준비합니다. #. Genian ZTNA CWP페ì´ì§€ì— ì ‘ì†í•©ë‹ˆë‹¤. #. CWP페ì´ì§€ì— **ì¸ì¦** ë²„íŠ¼ì„ í´ë¦í•©ë‹ˆë‹¤. #. ì¸ì¦ í™”ë©´ì— ìœ„ Step2 5번 í•목ì—서 ì„¤ì •í•œ ì¸ì¦ë²„íŠ¼ì„ í´ë¦í•©ë‹ˆë‹¤. #. 새로운 íŒì—…ì°½ì— okta ì¸ì¦íŽ˜ì´ì§€ê°€ 표시ë˜ë©° 사용ìžëª…, 암호를 ìž…ë ¥í•˜ì—¬ ì¸ì¦í•©ë‹ˆë‹¤. **Single Logout (SLO) 테스트하는 방법** #. SLO ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë„ë¡ ì„¤ì •í•©ë‹ˆë‹¤. #. SSO ê¸°ëŠ¥ì„ ì´ìš©í•´ì„œ ì¸ì¦ì„ 합니다. #. CWP 페ì´ì§€ ìƒë‹¨ì˜ 로그아웃 ë²„íŠ¼ì„ ì´ìš©í•´ì„œ ë¡œê·¸ì•„ì›ƒì„ í•©ë‹ˆë‹¤. #. 다시 SAML ì¸ì¦ì„ 시ë„í• ë•Œ oktaì˜ ê³„ì •ì •ë³´ë¥¼ ìž…ë ¥í•˜ë¼ê³ 표시ë˜ë©´ ì •ìƒì 으로 SLOê°€ ë™ìž‘한 것입니다. .. note:: ì¸ì¦ì—°ë™ ì„¤ì • 후 ì •ì±…ì 용시 ì œì–´ì •ì±… ê¶Œí•œì— okta IdP ë„ë©”ì¸ì„ 추가해주어야 차단ìƒíƒœì—ì„œë„ ì¸ì¦ì—°ë™ ì°½ì´ í‘œì‹œë©ë‹ˆë‹¤. .. code:: bash 1. 권한 추가 방법 2. ì •ì±… > ê°ì²´ > ë„¤íŠ¸ì›Œí¬ 3. ìž‘ì—…ì„ íƒ > ìƒì„± 4. ê¸°ë³¸ì •ë³´ ìž…ë ¥ 5. 네트워í¬ì£¼ì†Œ > FQDN ì„ íƒ > IdP ë„ë©”ì¸ ìž…ë ¥(e.g. genians.okta.com) 6. ìƒì„± í´ë¦ 7. 권한 메뉴로 ì´ë™ 8. ìƒì„±í•œ 네트워í¬ê°ì²´ë¥¼ ì´ìš©í•˜ì—¬ 권한 ìƒì„± 9. ë‹¨ë§ ë„¤íŠ¸ì›Œí¬ë¥¼ ì œì–´í•˜ëŠ” ì œì–´ì •ì±…ì— ìƒì„±í•œ 권한 í• ë‹¹