본문 바로가기
줌 설정

줌 사이트 설정하기 (3/5) - Azure AD 와 SSO연동하기

by 라인하트 2022. 3. 1.

 

글 싣는 순서

     1. 연결된 도메인 (Associated Domain) 설정   
     2. 가상(Vanity) URL 설정

     3. Azure AD와 SSO 연동하기

     4. SSO 그룹 매핑하기 (옵션)

     5. 사용할 데이터센터 결정하기

 

   이 연재는 줌 라이선스를 구매한 고객이 줌 클라우드 사이트를 제대로 설정하도록 안내합니다. 이 글에서 Azure AD와 SSO를 연동하는 과정을 설명합니다.  SSO 의 개념을 잘 잡지 못한 분들은 아래 글을 먼저 읽을 것을 권고합니다. 

 

https://zoominzoom.tistory.com/27

 

싱글 사인온 온 (SSO)의 이해

 몇 년전부터 SSO를 이용한 인증 프로세스를 도입하는 기업이 늘어나고 있습니다. 이제 SSO는 클라우드 엔지니어들이 반드시 알아야 하는 기술입니다. SSO가 무엇인지 쉽게 이해하기 위해 호텔 체

zoominzoom.tistory.com

 

1. Azure AD 와 줌 클라우드 간 사용자 정보 동기화 개요

   Azure AD는 사용자 정보를 관리하는 디렉토리 서버입니다. 사용자 정보는 사용자 이름 (User Name), 패스워드 (Password), 부서 (Department), 성 (Surname), 이름 (Given Name) 등입니다. 회사에서 사용하는 모든 클라우드 서비스와 애플리케이션은 사용자 정보가 필요합니다. 모든 애플리케이션과 클라우드 서비스가 직접 모든 사용자 정보를 관리한다면, 직원이 입사하거나 퇴사할 때마다 모든 서비스를 수정해야 합니다. 이번 번거로움을 해결하기 위해 Azure AD와 같은 디렉토리 서버가 사용자 정보를 관리하고, 애플리케이션 또는 클라우드 서비스는 디렉토리 서버에서 사용자 정보를 복사합니다.  회사의 관리자는 디렉토리 서버만 관리하면 자동으로 모든 서비스의 사용자 정보를 수정할 수 있습니다. 

 

 

   Azure AD는 사용자 정보 관리를 넘어 사용자가 필요한 애플리케이션을 자동으로 프로비저닝을 합니다. Azure AD는 제공하는 서비스는 다음과 같습니다.

 

  • 사용자 프로비저닝 (Automate User Provisioning) 
       직원이 입사할 때 또는 퇴사할 때 인사팀은 Azure AD에 사원 정보를 업데이트합니다. 특히, 신규 사원이 입사할 때 회사에서 사용하는 다양한 서비스에 각각 프로비져닝을 할 필요 없이 자동으로 이루어집니다. 

  • 데이터 동기화 (Synchronize data)
       Azure AD에서 사용자 정보가 변경될 때 자동으로 다 Azure AD는 연결된 모든 서비스에 직원 정보가 자동으로 업데이트합니다. 

  • 그룹 프로비저닝 (Group Provisioning)
      사용자 그룹 별로 프로비져닝 

 

   관리자는 직원이 입사하거나 퇴사할 때 Azure AD에 사용자를 추가하거나 삭제합니다. AD의 사용자 정보가 변경될 때마다 즉각적으로 Zoom 미팅 클라우드 서비스의 사용자 정보를 업데이트합니다. Azure AD와 Zoom 서비스를 연결하면 다음 서비스를 제공합니다.

 

  • 줌 서비스에 사용자 자동 생성 및 제거
  • Azure AD와 줌 서비스간의 사용자 정보 동기화
  • SSO 서비스 제공 (추천 및 옵션)   
    싱글 사인 온 (SSO, Single Sign-on) 서비스는 줌 미팅 클라우드 서비스가 사용자 패스워드를 보관하지 않도록 합니다. 줌 클라우드는 사용자가 로그인할 때 Azure AD에게 승인된 사용자 인지 아닌지를 물어봅니다.  

    참고로  줌 클라우드 서비스에서 최대 9,999명의 Zoom basic user까지 생성할 수 있습니다. 

 

2.  Azure  Gallery 에  Zoom 추가하기 

Step 1 : Zoom 클라우드를 위한 Gallery Applications 생성하기

   Microsoft Azure 관리자 콘솔에서 접속한 후 왼쪽 내비게이션 창에서 "Azure Active Directiry >> Enterprise Application"을 클릭합니다. 

   중간 창에서 'Manage' 메뉴 아래에 있는 'All application'을 선택하고, 'New Applicaiton' 버튼을 선택합니다.

 

 

   왼쪽 창 중간에 'Add from the gallery'를 부분에 'zoom' 을 입력한 후 검색합니다.  검색된 앱 중에서 'Zoom'을 클릭합니다. 

 

 

   왼쪽 창에서 'Name' 부분에 'Zoom Test'으로 시작하는 적당한 이름을 입력하고, 맨 아래 "Add" 버튼을 클릭합니다.

 

3.  Azure  에서  SSO 설정하기  

Step 1 : SAML 선택하기

   Microsoft Azure 관리자 콘솔에서 접속한 후 Azure Gallery에서 위에서 생성한 'Zoom Test' 앱을 선택합니다. 왼쪽 창에서 'Manage >> Single Sign on'을 선택하고, 오른쪽 창에서 SSO 연동을 위해 SAML을 선택합니다. 

 

Step 2 : SAML 설정하기

   SAML 연동을 위한 옵션을 설정하고 저장합니다.  

  • identifier : < Vanity URL company.zoom.us >
  • Reply URL : < 기본값 그대로 https://company.zoom.us/saml/SSO >
  • Sign On URL : < Vanity URL https://company.zoom.us >

Step 3 : 인증서 다운로드 

    3번 'SAML Signing Ceriticate까지 스크롤합니다.    '연필' 아이콘을 클릭한 후 'Certificate(Base64)' 부분에서 'Download'를 클릭합니다. 

 

   그리고 다운로드를 합니다. 다운로드하기 전에 인증서가 'Active' 상태인지를 확인합니다. 만일 'Inactive' 상태라면 'Edit' 버튼을 클릭하고 'Make certificate active'를 선택합니다. 

   다운로드한 파일을 textedit 애플리케이션으로 연 후 아래 내용을 복사합니다. 

 

----BEGIN CERTIFICATE----- 

<여기 내용을 복사>
-----END CERTIFICATE----- 

 

 

Step 4 : Zoom Test 정보 카피

   4번 'Set up Zoom Test' 까지 스크롤합니다.  Zoom Setup을 위해 Login URL과 Azure AD Identifier를 복사합니다. 

 

 

4.  Zoom 에서  SSO 설정하기  

Step 1:  SSO 설정하기 

   줌 관리자 콘솔에 접속한 후 왼쪽 내비게이션 창에서 "관리자>> Advanced >> SSO(싱글 사인 온)"를 클릭합니다. SSO 사용을 선택합니다. 

 

   그리고, 주요 값을 입력합니다.

  • Vanity URL : <가상 URL https://company.zoom.us >가 제대로 입력되었는지 확인
  • Sign-in page URL : <Azure Login URL 복사>
  • Sign-ot page URL :  <Azure Login URL 복사>
  • Identity provider certificate : <Azure Certificate 복사>
  • Service Provider Entity ID : <가상 URL 선택>
  • Issuer IDP Entity ID : <Azure AD identifier 선택> 
  • Binding : HTTP-Redirect 선택
  • Signature Hash Algorithm : SHA-256
  • Security : 1, 2, 5 옵션 체크 (3번과 4번은 옵션)
  • Provision User : 로그인 전 또는 로그인 시 

 

 

4. 사용자 를 줌 서비스에 할당하기

 

Step 1: Zoom 앱 선택하기

   Azure 포털에서 "Azure Active Directory >> Enterprise Applications "을 선택합니다. All Applications에서 Zoom Test 앱을 찾습니다. 그리고 왼쪽 창에서 "Manage >> Users and Groups"를 선택합니다.

 

Step 2 :  사용자 추가

   '+ Add User' 버튼을 선택하고 사용자를 검색하여 추가합니다. 

 

 

 

   'Select Role'을 선택하고, 적당한 라이센스를 설정합니다. Azure에서 역할을 선택하지만, 이것이 줌 클라우드로 전달되지 않습니다. 

 

 

줌 클라우드는  SAML 응답 매핑 부분에 설정한 값에 따릅니다.  기본 값은 Licensed (사용 허가됨)이고, 무료 사용자로 하고 싶다면 Basic(기본)을 선택합니다. 

 

  또한, 그룹 매핑을 이용하여 Azure의 설정을 그대로 줌 클라우드로 전달할 수 있습니다.

 

Step 3 :  사용자 추가 확인

    프로비저닝 메뉴에서 수동으로 프로비저닝을 합니다. 줌 클라우드는 추가한 사용자가 로그인을 시도할 때 사용자를 추가됩니다. 사용자를 줌 서비스에 할당하고 줌 클라우드 서비스에 정상적으로 프로비저닝된 것을 확인합니다.

  

Step 4 : Provision User 옵션 선택

    Provision User 옵션을 사용하는 상황을 정리합니다.  

  • 로그인 전 (Prior to Sign-in)
       프로비저닝하는 사용자가 줌 계정을 가진 적이 없을 경우 사용합니다. SSO 설정을 완료한 후 Azure AD에서 '사용자 할당(Assign users)를 실행하면 줌 클라우드에 자동으로 사용자 프로비저닝이 진행됩니다. '사용자 관리 >> 사용자' 메뉴에서 확인할 수 있습니다.
     
  • 로그인 시 (At Sign-in)
       프로비저닝하는 사용자가 이미 다른 줌 미팅 클라우드를 사용 중인 경우 사용합니다. SSO 설정을 완료한 후 Azure AD에서 '사용자 할당 (Assign users)를 실행하면 에러 메시지가 뜹니다. 에러 메시지는 사용자가 다른 줌 사이트에 계정이 있기 때문에 프로비저닝을 할 수 없다고 표시합니다. 이름 그대로 직원들이 줌 미팅에 로그인을 시도할 때 계정을 전환하는 과정을 거치고, 완료한 사용자들은 
    '사용자 관리 >> 사용자' 메뉴에서 확인할 수 있습니다.

     직원이 줌 클라우드에 로그인 시(At sign-in)을 실행할 때 아래와 같은 메시지가 나타납니다. "Switch to the New Account"를 선택합니다.

 

   줌 클라우드 "Confirm the requested change to your Zoom account" 라는 이메일 전송합니다. 이메일에서 'Switch to the new account"버튼을 클릭하고 새로운 줌 클라우드 사이트로 전환 과정을 진행합니다.  

 

5.  Azure 와 Auto Provisioning 설정하기    

  지금까지 테스트가 정상적으로 진행되었다면, 줌 클라우드와 Azure AD 간에 자동으로 정보가 업데이트할 수 있게 Auto Provisioning을 설정합니다. 

 

Step 1:  줌 서비스 접속하기

   줌 관리자 콘솔에 접속한 후 왼쪽 내비게이션 창에서 "관리자>> Advanced >> 앱 Marketplace"를 클릭합니다. 

 

 

Step 2: Azure AD를 위한 JWT 토큰 생성하기 

   새로운 탭에 줌 앱 마켓 플레스(marketplace.zoom.us)가 열립니다. 오른쪽 윗부분에 'Develop' 버튼을 클릭하고,  'Build App' 메뉴를 선택합니다. 

 

   "JWT" 메뉴를 선택하고 파란색 'Create' 버튼을 클릭합니다. 

 

   기본적인 정보를 아래와 같이 입력하고, 'Continue' 버튼을 클릭합니다. 

   다음으로 'App credentials' 부분에서 ' View JWT Token'을 클릭합니다. 유효기간은 90 mins로 설정합니다. 보안을 이유로 나머지 옵션은 정상적으로 동작하지 않습니다. 

 

 

      'Feature' 부분에서 'Continue' 버튼을 클릭합니다. 

 

  마지막으로 'Continue' 버튼을 클릭합니다. 

 

Step 3: Azure AD test 앱 확인하기  

   오른쪽 윗 부분에 'Manage' 버튼을 클릭합니다.  'Created Apps'에서 방금 생성한 'Azure AD test' 앱을 확인합니다.  

 

Step 4: Azure에 Zoom App 프로비저닝 설정하기

   "Enterprise Applications >> All applications >> Zoom Test"에서 왼쪽 창에서 'Provisioning' 탭을 선택합니다.   

 

  • Provisioning Mode (프로비저닝 모드) : 'Automatic'으로 설정

  • Admin Credentials (관리자 신원증명) 
       - Tenant URL : https://zoom.us/scim  또는 https://api.zoom.us/scim 
       - Secret Token : <JWT Token 복사>

   설정을 완료한 후 'Test Connection'을 클릭하고 테스트합니다. 만일 연결이 실패한다면, Zoom account가 Admin 권한이 없는 것입니다. 

 

   테스트를 완료하고 Production Application에 적용할 때는 https://jwt.io/  에서 JWT 토큰을 별도로 생성합니다.  

 

   https://jwt.io에 접속한 후 오른쪽의 "Decoded" 부분을 다음과 같이 변경합니다.

 

  • Header
       {
            "alg": "HS256",
            "typ": "JWT"
       }


  • Paylod
       {
            "iss": "API_KEY",
             "exp": 14960919640
       }
       
      API_Key 는 줌 앱 마켓플레이스에서 만든 JWT Token 생성 앱의 App Credential에서 복사합니다.
      exp 뒤에 숫자는 지금부터 유효기간의 길이를 초로 환산한 것입니다.  위의 숫자는 약 2444년 즈음을 나타냅니다.  유효기간이 종료합니다.

  • Signature
       HMACSHA256(
       base64UrlEncode(header) + "." +
       base64UrlEncode(payload),
       API_SECRET)

       API_SECRET 는 줌 앱 마켓플레이스에서 만든 JWT Token 생성 앱의 App Credential에서 복사합니다.

 

   마지막으로    https://jwt.io의 왼쪽 창에 있는 'Encoded'를 복사한 후 Step 4의 'Secret Token : <JWT Token 복사>' 부분에 입력합니다. 

 

 

Step 5 : 속성 매핑 

   다음 'Mapping' 메뉴에서 "Synchronize Azure Active Directory Users to Zoom"을 클릭합니다. Azure AD에 있는 사용자와 줌 클라우드 서비스와 동기화합니다. 

 

   그리고, 다음과 같이 동기화 속성을 설정합니다.

 

    AD 속성과 Zoom 속성을 매핑합니다. 동기화가 가능한 속성은 userName, active, name(givenName and familyName), department입니다. 

 

Step 5 : Settings 설정

   

  • Provisioning Status : 'On'으로 활성화
  • Scope : 'Sync only assigned users and groups'로 설정 

    만일 수동으로 'Full Sync'를 수행한다면, 'Clear current state and restart synchronization' 박스를 체크합니다. 

 

    설정을 완료하고 'save'버튼을 클릭합니다. 

 

Step 6 : 사용자를 Zoom Test 앱에 할당하기

   왼쪽 창에서 'Users and groups'를 선택하고 'Add user' 버튼을 클릭합니다.

 

 

Step 7 : 줌 클라우드에서 사용자 동기화 확인하기

   줌 클라우드에서 "관리자 >> 사용자 관리 >> 사용자"를 클릭합니다. 

 

 

마무리 - 인증 방식의 이해

     이제 Azure AD와 줌 클라우드 간에 SSO 및 Auto Provisiong 설정을 완료하였습니다. 이제 사용자들은 몇 가지 방식으로 줌 클라우드에 로그인할 수 있습니다. "관리자 >> 사용자 관리 >> 사용자"에 보면 로그인 방식을 알 수 있습니다. 이메일 아이콘은 이메일 계정으로 접속을 의미하고, SSO 아이콘은 SSO 접속을 의미합니다.  

 

 

   줌 클라우드의 "관리자 >> 계정관리 >> 계정 프로필" 메뉴에서 "연결된 도메인" 부분이 있습니다. 도메인을 확인하는 방법은 다음 글에서 설명합니다. 도메인이 승인된다면, "동일한 도메인의 사용자 관리"라는 메뉴가 나타납니다. 이 옵션을 클릭하면, 같은 도메인을 사용하는 무료 또는 유료 사용자들이 모두 현재 설정된 도메인으로 이동할 수 있습니다. 만일 개별적으로 온라인 구매를 한 사용자들은 기존 계약이 종료되고 현재 도메인 계약으로 묶입니다. 모든 설정이 완료되고, 모든 사용자에게 내용을 전파하고 이 부분을 설정합니다. 

 

 

참고자료

 

https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/zoom-provisioning-tutorial

 

Tutorial: Configure Zoom for automatic user provisioning with Azure Active Directory

Learn how to automatically provision and de-provision user accounts from Azure AD to Zoom.

docs.microsoft.com