smart_ims/docs/LICENSE_MANAGER_MANUAL.md
2026-01-23 16:52:14 +09:00

3.8 KiB

라이선스 관리자 매뉴얼 (최종본)

본 문서는 스마트 IMS(Smart IMS) 시스템의 라이선스 관리 기능을 사용하는 방법을 설명합니다. 모든 라이선스 관리는 RSA 비대칭 암호화 방식을 따르며, tools/license_manager.cjs CLI 도구를 통해 수행됩니다.

1. 사전 준비 및 구독자 설정 (중요)

라이선스 키를 활성화하기 전에 서버가 어떤 고객사(구독자)에게 속해 있는지 식별하기 위해 구독자 ID를 설정해야 합니다.

  1. 웹 관리자 페이지 접속: 상단 메뉴의 라이선스 관리 섹션으로 이동합니다.
  2. 서버 환경 설정:
    • 부여받은 구독자 ID(예: SAMSUNG, TEST_SUB)를 입력하고 **[설정 저장]**을 클릭합니다.
    • 주의: 라이선스 키 발급 시 사용한 구독자 ID와 서버에 설정된 ID가 일치해야만 활성화가 가능합니다.

2. 기본 명령어 (CLI 사용법)

모든 명령은 프로젝트 루트 경로에서 node를 사용하여 실행합니다.

2.1. 라이선스 발급 (generate) - 제공자 전용

새로운 RSA 서명 방식의 라이선스 키를 생성합니다. 이 작업에는 tools/keys/private_key.pem이 필요합니다.

# 기본 발급 (30일 데모용)
node tools/license_manager.cjs generate monitoring demo --subscriber TEST_SUB

# 발급 및 즉시 활성화 (로컬 테스트용)
node tools/license_manager.cjs generate asset sub --subscriber SAMSUNG --activate

# 만기일 직접 지정 발급
node tools/license_manager.cjs generate production sub --subscriber SAMSUNG --expiry 2026-12-31

# 시한부 발급 (지정된 일수 내에 활성화하지 않으면 만료됨)
node tools/license_manager.cjs generate monitoring sub --subscriber TEST_SUB --activation-window 3
  • 모듈: asset, production, monitoring
  • 유형: dev (무제한), sub (구독형), demo (30일 체험)

2.2. 라이선스 검증 및 해독 (decode)

키를 활성화하기 전에 내용을 검증하거나, 서명 변조 여부를 확인합니다.

node tools/license_manager.cjs decode <라이선스_키_문자열>
  • Valid Signature : YES가 나오면 정품 키이며, NO가 나오면 변조되었거나 잘못된 키입니다.

2.3. 현황 조회 및 상세 정보 (list, show)

# 전체 모듈 활성화 상태 및 최근 발급 이력 조회
node tools/license_manager.cjs list

# 특정 발급 ID나 모듈의 상세 정보 확인
node tools/license_manager.cjs show 5
node tools/license_manager.cjs show monitoring

2.4. 수동 활성화 및 삭제 (activate, delete)

# 발급받은 키를 서버에 적용 (웹 UI에서도 가능)
node tools/license_manager.cjs activate <라이선스_키_문자열>

# 특정 모듈 비활성화 (기존 키는 삭제되지 않고 이력으로 이동)
node tools/license_manager.cjs delete asset

3. 보안 및 배포 가이드

보안 강화를 위해 반드시 다음 사항을 준수하십시오.

3.1. 개인키와 공개키의 분리

  • private_key.pem (제공자): 라이선스를 만드는 "인감"입니다. 절대로 고객사에 배포하지 마십시오. tools/ 폴더 자체를 배포에서 제외하는 것을 권장합니다.
  • public_key.pem (서버): 라이선스가 진짜인지 확인하는 "인감 증명"입니다. 서버의 server/public_key.pem 경로에 반드시 위치해야 합니다.

3.2. 영구 보관 및 이력

  • 새로운 키로 교체될 때마다 기존 키 정보는 데이터베이스의 license_history 테이블에 자동으로 보관됩니다. (웹 UI에서 '변경 이력' 버튼으로 확인 가능)

마지막 업데이트: 2026-01-22 (RSA 비대칭 암호화 및 구독자 기반 관리 적용)