홈
XtreamUIPro

설정 가이드

기업 교육 설정 가이드

회사의 사내 동영상 서비스로 플랫폼을 설정합니다. 부서별 교육 라이브러리, HR이 제어하는 임직원 액세스, 사내 실시간 세션, 네트워크에서 라인까지의 기밀 유지를 다룹니다.

이 가이드는 산업의 개념을 플랫폼에 현재 있는 객체(부케, 라인, 패키지, 파트너 계정, 노드, API)에 대응시킵니다. 이는 개념적 대응이며 산업 전용 기능이 아닙니다. 또한 파트너 계정은 위임 계정이며 격리된 테넌트가 아닙니다.

개념적 대응

패널에는 부서나 임직원이라는 이름의 것이 없습니다. 아래 표는 어떤 객체가 어떤 역할을 하는지 보여 주며, 이어지는 장에서 그 순서대로 설정합니다.

내 산업에서는플랫폼에서는패널에서의 위치
부서 교육 모음부케: 패키지가 부여하는 채널, 영화, 시리즈의 이름 있는 묶음Bouquets, Streams와 Movies / Series에서 생성
교육 자료VOD 카탈로그: 시즌과 에피소드가 있는 영화와 시리즈, 카테고리, 메타데이터Movies와 Series, 또는 VOD 인제스트 작업
임직원 액세스라인: 패키지, 부케, 만료일, 연결 제한, 출력을 가진 하나의 액세스Lines → 추가, 또는 활성화 코드, 또는 Reseller API
사내 교육 세션실시간 채널: 소스, EPG, 출력 형식을 가진 스트림Streams → 실시간 스트림 추가(소스 URL 또는 RTMP 푸시)
HR 또는 LMS 연동Reseller API와 웹훅: 자체 시스템에서 수행하는 패널의 작업리셀러 대시보드의 Reseller API 키와 웹훅
임직원당 기기 수라인의 최대 연결 수: 동시에 시청할 수 있는 기기 수라인의 최대 연결 수

사전 준비

설치 전에 준비할 것.

  1. 사무실에서 접근 가능한 회사 서버(Ubuntu 22.04 또는 24.04), 설치 프로그램, 내부 주소 또는 리버스 프록시 뒤의 도메인.
  2. 교육 녹화본, 실시간 세션용 강당의 인코더, HR 또는 LMS 시스템이 HTTP API를 호출할 수 있는 기능.
  3. 기밀 유지에 대한 결정: 어떤 자료를 어느 부서 모음에 넣을지, HR과 교육팀의 누구에게 패널 계정을 줄지.

인프라 구축

먼저 본사, 그다음 사무실.

  1. 본사 서버에서 설치 프로그램을 실행합니다. 패널을 회사의 리버스 프록시 뒤에 두고, 감사 로그에 실제 주소가 기록되도록 신뢰할 프록시를 설정합니다.
  2. 재생 기본 주소를 내부 주소로 설정합니다. 네트워크 밖의 임직원은 VPN 또는 프록시를 통해 접속합니다.
  3. Servers에서 사무실마다 노드를 등록합니다. 패널이 SSH로 설치하고 해당 사무실의 시청자를 노드로 연결합니다.
  4. 교육팀용 파트너 계정을 만들고 카탈로그 권한을 부여하되 임직원 라인에 대한 권한은 주지 않습니다.

콘텐츠 정리

부서별 모음, 강좌는 시리즈로.

  1. 주제마다 카테고리를, 여러 회차 강좌마다 시리즈를 만들고 세션마다 에피소드 하나를 둡니다.
  2. 부서 교육 모음마다 부케 하나와, 모두가 보는 자료를 위한 전 직원 부케를 만듭니다.
  3. 직무마다 패키지를 하나씩 만듭니다. 해당 직무에 필요한 부케만 담고, 이용 기간으로 긴 기간(예: 1년)을 설정합니다. 갱신하면 한 기간이 더해지고, 계약이 끝나면 HR이 라인을 비활성화합니다.
  4. 기밀 모음은 이름에 분명히 표시하세요. 라인에는 자신의 패키지가 부여하는 부케만 보입니다.

파트너(리셀러) 설정

교육팀, 그리고 그룹사라면 각 계열사.

  1. 교육팀용으로 카탈로그 권한 그룹을, HR용으로 라인 권한 그룹을 만듭니다.
  2. 교육팀과 HR을 각각의 그룹을 가진 리셀러로 추가합니다. 사내 구축에서는 둘 다 크레딧이 필요하지 않습니다.
  3. 자체 라이브러리를 가진 계열사에는 전용 리셀러, 전용 부케, 전용 패키지를 둡니다.

임직원 액세스 설정

임직원마다 라인 하나, HR에서 생성합니다.

  1. HR 시스템용 Reseller API 키를 만들어 HR 시스템의 비밀 저장소에 보관합니다.
  2. 채용 시 HR 시스템이 직무의 패키지와 요청 ID로 action=create_line을 호출합니다(패키지의 기간이 이용 기간입니다). 퇴사 시에는 action=disable_line을 호출합니다.
  3. 최대 연결 수를 임직원이 사용할 수 있는 기기 수로 설정합니다(보통 두 대: 책상과 휴대폰).
  4. 시범 운영에서는 Lines → 추가에서 라인을 추가하고 소수의 임직원에게 자격 증명을 전달합니다.

교육 자료

녹화본을 주문형으로.

  1. 각 녹화본을 에피소드의 소스로 업로드하거나 VOD 인제스트 작업으로 인제스트합니다. 제목과 짧은 설명은 유지하세요.
  2. 시리즈를 통해 녹화본을 알맞은 부서 부케에 연결합니다.
  3. 각 직무의 테스트 라인으로 재생을 확인하여 누가 무엇을 보는지 검증합니다.

사내 교육 세션

세션을 실시간 채널로.

  1. 강당의 인코더(RTMP 푸시)용 실시간 스트림을 추가하고 전 직원 부케 또는 부서 부케에 넣습니다.
  2. 늦게 참여한 사람이 되감을 수 있도록 캐치업을 활성화하고, 끝난 뒤 녹화본을 라이브러리에 업로드합니다.
  3. 사무실의 노드가 오리진에서 세션을 한 번만 가져와 그곳 직원에게 로컬로 서비스합니다.

액세스 만료

액세스는 계약과 함께 끝납니다.

  1. 라인은 패키지 기간이 끝나는 시점에 만료됩니다. 계약 기간 동안에는 HR이 action=renew_line으로 갱신하고, 계약이 끝나면 HR이 비활성화합니다.
  2. HR 시스템을 웹훅에 등록하여 만료 임박 및 만료된 라인을 자체 기록과 대조합니다.
  3. 임시 액세스(계약직, 온보딩 주간)에는 별도 패키지 대신 짧은 만료일을 사용합니다.

HR 또는 LMS와의 연동

시스템이 액세스를 제어하고 플레이어가 재생합니다.

  1. HR은 Reseller API로 라인을 생성, 갱신, 비활성화합니다. LMS는 과목 페이지에서 웹 플레이어로 링크할 수 있습니다.
  2. 시청자용 단일 로그인은 없습니다. 임직원은 사용자의 시스템이 발급한 라인의 자격 증명으로 플레이어에 로그인합니다.
  3. 사내 보고 도구에는 읽기 전용 플래그가 있는 Admin API 키를 사용하세요.

보안 고려 사항

네트워크에서 라인까지의 기밀 유지.

  1. 플랫폼은 사내 네트워크 또는 TLS가 적용된 리버스 프록시 뒤에 두고, 그에 맞게 TRUSTED_PROXIES를 설정하세요.
  2. 모든 패널 계정에 2단계 로그인을 사용하고, 권한 그룹으로 HR이 카탈로그를 변경하지 못하고 교육팀이 라인을 볼 수 없게 하세요.
  3. 서명되고 만료되는 재생 링크, 라인별 낮은 연결 제한, 기기가 고정된 경우 주소 바인딩.
  4. 오프사이트 복사가 있는 암호화된 데이터베이스 백업, 라인과 카탈로그의 모든 변경을 기록하는 감사 로그.

문제 해결

가장 먼저 확인할 일반적인 항목.

  1. 임직원이 다른 부서의 자료를 봄: 라인의 패키지와 그 패키지가 부여하는 부케를 확인하세요.
  2. 신입 사원이 액세스하지 못함: HR 호출이 성공했는지(Reseller API 호출 로그)와 라인의 만료일을 확인하세요.
  3. 실시간 세션 중 사무실에서 버퍼링이 발생함: 사무실 노드의 하트비트와 시청자가 노드로 연결되는지 확인하세요.
  4. 감사 로그에 프록시의 주소가 표시됨: TRUSTED_PROXIES를 해당 프록시로 설정하고 패널을 다시 시작하세요.