본문으로 건너뛰기

변환

기능 상세

경고

자료 접근에 일부 제한이 있음을 알려드립니다.
파일 변환 기능에 대한 상세 내용은 다음 에서 확인 하실 수 있습니다.


파일/폴더에 대한 우클릭 메뉴

1. 단일 파일 선택 시

사용자 화면내용비고
img단일 보안문서 우클릭MIP문서로 변환 매뉴 추가
img단일 MIP문서 우클릭MIP레이블 삭제 매뉴 추가

2. 다중 파일/폴더 선택 시

사용자 화면내용비고
img다중 폴더/파일 우클릭커스텀 정책(DS_MIP_SHELL_MENU)설정

3. 우클릭 메뉴 실행 화면

사용자 화면내용비고
MIP 레이블 생성대상문서 : 일반문서 MIP, 보안문서, 패스워드 설정된 일반문서는 변환 목록에서 제외 ZTCAP 정책에 따라 지정된 MIP 레이블 문서로 변환 통합 로그 : 사용 SCI 로그 : 미사용
imgMIP 레이블 삭제대상문서 : MIP 일반, 보안문서는 변환 목록에서 제외 커스텀 정책 DS_MIP_SHELL_MENU:SHELL_AIP_DELETE 설정 시 매뉴 추가 통합 로그 : 사용 SCI 로그 : 미사용
imgMIP 문서로 변환대상문서 : 보안문서 MIP, 일반문서는 변환 목록에서 제외 ZTCAP 정책에 따라 지정된 MIP 레이블 문서로 변환 통합 로그 : 사용 SCI 로그 : 미사용(원본 보안문서의 해제 로그 미전송)
imgDRM 문서로 변환대상문서 : MIP 문서 일반, 보안문서는 변환 목록에서 제외 ZTCAP 정책에 따라 지정된 보안문서로 변환 통합 로그 : 사용 SCI 로그 : 사용(변환 된 보안문서 생성 로그 전송)

4. 항목 별 우클릭 메뉴

정보

참고
정책 세팅에 따라 일부 항목이 상이할 수 있습니다.

구분상세
일반 문서MIP 생성 └ MIP, 보안문서, 패스워드 설정된 일반문서는 변환 목록에서 제외 • 일반 문서 암호화
DRM 문서MIP 문서로 변환 └ MIP, 일반문서는 변환 목록에서 제외 • 보안 문서 파기 • 보안문서 암호화 해제 • 접근 대상 변경 • 외부전송 보안파일 생성
MIP 문서DRM 문서로 변환 └ 일반, 보안문서는 변환 목록에서 제외 • MIP 레이블 삭제 └ 일반, 보안문서는 변환 목록에서 제외 • 일반 문서 암호화
다중 파일 (Multi-Select)MIP 레이블 생성 └ 일반문서만 변환 목록에 해당 • MIP 레이블 삭제 └ MIP 문서만 변환 목록에 해당 • DRM 문서로 변환 └ MIP 문서가 변환 목록에 해당 • MIP 문서로 변환 └ DRM 문서가 변환 목록에 해당 └ MIP, 일반문서는 변환 목록에서 제외 • 일반문서 암호화
폴더 (Folder)MIP 레이블 생성 └ 일반문서만 변환 목록에 해당 • MIP 레이블 삭제 └ MIP 문서만 변환 목록에 해당 • DRM 문서로 변환 └ MIP 문서가 변환 목록에 해당 • MIP 문서로 변환 └ DRM 문서가 변환 목록에 해당 • 폴더 내 파일 암호화 └ 암호화 지원 확장자 (Localset) • 폴더 내 파일 복호화폴더 내 파일 단순 암호화 └ 암호화 미지원 확장자 (Localset)

5. (구) 우클릭 메뉴 실행 화면

C:\Windows\Softcamp\Security365\DS365\x64\ 경로에 DS365Agent64.exe 파일이 없을 경우 동작

사용자 화면내용비고
imgAIP 레이블 생성대상문서 : 일반문서 ZTCAP 정책에 따라 지정된 AIP 레이블 문서로 변환 통합 로그 : 사용 SCI 로그 : 미사용
imgAIP 레이블 삭제대상문서 : AIP 문서 커스텀 정책 DS_MIP_SHELL_MENU:SHELL_AIP_DELETE 설정 시 매뉴 추가 통합 로그 : 사용 SCI 로그 : 미사용
imgAIP 문서로 변환대상문서 : 보안문서 ZTCAP 정책에 따라 지정된 AIP 레이블 문서로 변환 통합 로그 : 사용 SCI 로그 : 미사용(원본 보안문서의 해제 로그 미전송)
imgDRM 문서로 변환대상문서 : AIP 문서 ZTCAP 정책에 따라 지정된 보안문서로 변환 통합 로그 : 사용 SCI 로그 : 사용(변환 된 보안문서 생성 로그 전송)

MIP 문서 변환 시 소유주 유지 기능

정보

MIP 문서가 DRM문서로 변환 후 다시 MIP문서로 변환 시 처음 MIP문서의 Owner Id가 유지되는 기능

1. 개요

로컬에서 A사용자가 생성하여 소유자 권한이 있는 MIP 문서에서 DRM 변환 후 B사용자가 해당 문서를 MIP 변환할 경우 최종 문서는 B 사용자에게 소유자 권한이 있는 MIP 문서로 변환됨
해당 문서를 궁극적으로 다수 변환하더라도 A사용자가 소유자 권한을 갖도록 하는 기능

2. 흐름도

3. 기타 및 제약사항

  • MIP 문서의 사용자 ownerId 정보는 MIP 해제시에는 유지되지 않습니다. DRM문서로 변환시면 정보가 연계됩니다.
  • ownerId 정보는 DRM 문서 헤더 VFI에 들어가며 ( DSBSDT_VFI_MIP_OWNER_ID ) SDSWizard - 6.0.0.13 이상 버전에서 보안문서 헤더 기능에서 확인 가능합니다.
  • 현재 DS 6.0에서 문서 변환은 사용자 토큰이 아닌 ssevtr app이 발급 받은 access Token을 사용하며, 해당 앱이 InformationProtectionPolicy.Read.All 권한이 Microsoft Entra ID에서 설정이되어있어야 합니다. 해당 설정이 정상적으로 적용되어있어야 ownerId 유지 기능이 정상적으로 동작합니다.

클라우드 다운로드 문서 변환

정보

클라우드 저장소(OneDrive, SharePoint, Teams)에서 다운로드 받은 문서에 대한 변환 기능을 수행합니다.

  • 변환 방식에 대한 정의는 Ztcap 정책에 따릅니다.

1.개요

  • 클라우드 저장소(OneDrive, SharePoint, Teams)에서 다운로드 받은 문서에 대한 변환 기능을 제공합니다.
  • 변환에 대한 정책은 Ztcap 정책에 따릅니다.

본 기능은 브라우저·Teams 앱의 다운로드 시점을 ZoneIdentifier(MoTW) 기록 후킹으로 감지하며(DownloadFile_FromCloud 이벤트), OneDrive/SharePoint 싱크 폴더의 파일 복사를 처리하는 통제 카테고리의 ‘외부 저장소 다운로드 시’(CopyFileFrom_OneDrive / CopyFileFrom_Sharepoint)와는 트리거·경로가 다른 별개 기능입니다.

2. 관련 커스텀 정책

위험

해당 정책 값이 필수 적으로 필요합니다. 없는 경우 다운로드 시점을 감지 하지 못하여 다운로드 변환 기능이 동작하지 않을 수 있습니다.

HOOK_LOAD_DYNAMIC 커스텀 정책이 설정되어 있어야 브라우저·Teams 프로세스에 후킹 모듈이 로드되어 다운로드 시점을 감지할 수 있습니다. 모듈 인젝션 문자열 등 상세 정책값은 변환 상세 페이지에서 관리합니다.

3. Ztcap 정책 관련

3-1 기능 동작시 Endpoint에서 ztcap으로 질의되는 decisionFactors 예시

// 단일 문서(docx Mip문서) 다운로드시 문서에 대한 질의 json
{
"decisionFactors": [
{
"category": "document",
"target": {
"info": {
"ext": "docx",
"zoneIdentifier": "https://softcamp-my.sharepoint.com/personal/jaekwon_lee_softcamp_co_kr/_layouts/15/download.aspx?UniqueId=ed4e27ad%2Dda48%2D476b%2Da99a%2Dd517a54ad6db"
},
"type": "mip"
}
},
{
"category": "storage",
"target": {
"info": {
"folder": "%USERS%\\Downloads"
},
"type": "local"
}
},
{
"category": "fileEvent",
"target": {
"info": {
"event": "DownloadFile_FromCloud"
},
"type": "local"
}
}
]
}

// 여러문서 선택시 Zip파일에 대한 질의 json
{
"decisionFactors": [
{
"category": "document",
"target": {
"info": {
"ext": "zip",
...
"zoneIdentifier": "https://japaneast1-mediap.svc.ms/transform/zip?cs=fFNQTw"
},
"type": "zipArchive"
}
},
{
"category": "storage",
"target": {
"info": {
"folder": "%USERS%\\Downloads"
},
"type": "local"
}
},
{
"category": "fileEvent",
"target": {
"info": {
"event": "DownloadFile_FromCloud"
},
"type": "local"
}
}
]
}

3-2 ztcap 정책 설정시 주의 사항

⚠️정책 설정시 아래사항이 반드시 고려되어 Ztcap 정책이 설정되어야 기능이 동작합니다.

  • decisionFactors중 category가 document인 json객체의 target.info.zoneIdentifier의 정책 설정이 필요합니다.

    • decisionFactors중 category가 document인 json객체의 target.info.zoneIdentifier 의 정책값은 다운로드시 다운로드문서에 입력되는 ZoneIdentifier Url을 포함 할 수 있는 값이 설정되어야함.
    • 예시 ) 다운로드 받은 문서의 Url이 https://japaneast1-mediap.svc.ms/transform/zip?cs=fFNQTw 라 가정할때 Ztcap 정책에 설정 되어야 하는 decisionFactors중 category가 document인 json객체의 target.info.zoneIdentifier 의 정책값은 "*mediap.svc.ms/transform/zip*" 과 같이 Url의 일부분 앞뒤로 와일드카드(*)를 붙여 설정함.
  • decisionFactors중 category가 document인 json객체의 target.type 의 정책값은 **"ds"**가 들어가는 것을 권장하지 않음 ( 클라우드에 DRM 문서가 있다는 가정인데 이 기능은 기본적으로 클라우드의 일반 문서 및 mip문서를 DRM 문서로 변환하기 위한 기능 )

  • decisionFactors중 category가 fileEvent인 json객체의 target.info.event는 반드시 "DownloadFile_FromCloud" 값으로 설정

    //Ztcap 정책 예시
    "category": "document",
    "targets": [
    {
    "type": "normal",
    "use": true,
    "operation": "AND",
    "info": {
    "ext": [
    "pptx",
    "zip",
    "xlsx",
    "pdf",
    "ppt",
    "doc",
    "xls",
    "docx"
    ],
    "zoneIdentifier": [ // 다운로드 받은 문서의 zoneidentifier url이 정책에 포함되어야함
    "*microsoftonline.com*",
    "*sharepoint.com*",
    "*mediap.svc.ms/transform/zip*"
    ]
    }
    }

    ....
    {
    "category": "fileEvent",
    "targets": [
    {
    "type": "local",
    "use": true,
    "operation": "OR",
    "info": {
    "event": [
    "DownloadFile_FromCloud" // 파일 이벤트는 DownloadFile_FromCloud가 설정되어야함함
    ]
    }
    }
    ]
    }

3-3 ztcap 정책 설정시 기본 포함 정책

정보

클라우드 저장소(OneDrive, SharePoint, Teams)에서 문서 다운로드 시 문서 Zone.identifier에 들어간 URL 정보가 기본적으로 ztcap 정책에 포함되어야하며, 차후 고객사나 클라우드 쪽 변경사항에 따라 URL 정책의 추가가 필요할 수 있습니다.

  • ztcap 정책의 아래의 URL 값이 정책으로 포함되어야합니다.
    • *mediap.svc.ms/transform/zip*
    • *sharepoint.com*
    • *microsoftonline.com*
정보

클라우드 저장소 URL 정책 추가 방법

  1. 다운로드한 파일의 Zone.Identifier 파일 확인
# 명령 프롬프트(cmd)에서 확인
more < "filename:Zone.Identifier"
  1. Zone.Identifier 파일에서 확인된 URL 정보를 바탕으로 정책 추가
  • ReferrerUrl 또는 HostUrl 필드의 값을 확인
  • URL의 도메인 부분을 정책에 추가
    • 정책 추가 시 자동으로 도메인 앞,뒤에 와일드카드(*)가 붙어 등록됩니다.
  • 예시
    • https://example-cloud.com/downloadexample-cloud.com 입력 → *example-cloud.com* 적용 후 추가 완료

4. 적용 방법

  1. 모듈 패치
  2. Ztcap 정책 설정 ( 3. Ztcap 정책 관련 항목 적용 필수 )
  3. 커스텀 정책 설정

5. 제약사항

  1. OneDrive, SharePoint, Teams 이외의 클라우드 스토리지는 현재 미지원
  2. 훅 방식으로 다운로드 시점을 잡아 개발된 기능이라 아래 지원 버전 외의 브라우저나 그 이상의 브라우저에서 zoneidentifier 정보를 write하는 로직이 변경시 기능 동작이 되지 않을 수 있습니다.
프로그램버전
Msedgeimg
Chromeimg
TeamsAppimg
  1. 윈도우 및 문서보안 커스텀 정책 설정
  • ZoneIdentifier 사용 On/Off 윈도우 설정(레지스트리)은 다음과 같이 설정되어야 합니다.
    • 레지스트리 경로 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
    • 레지스트리 값 : SaveZoneInformation : 2 (또는 해당 항목이 없어야 다운로드 시 문서변환 기능 동작 함)
SaveZoneInformation 값Zone Identifier (MoTW) 저장 여부보안 경고 표시 여부 (일반적으로)
1 (Enabled)저장하지 않음표시되지 않음
2 (Disabled/Not Configured)저장함표시됨
  • 문서보안 커스텀 정책
    • DS_NOT_USE_SENDLOG_ZONE_IDF 커스텀 정책 0 또는 정책 미사용(제거)
      • 위 커스텀 정책이 1로 설정되어 있을 경우 다운로드 되는 문서 파일에 ZoneIdentifier 등록되지 않습니다. (SaveZoneInformation : 1 설정함)
      • 클라우드 다운로드 문서변환 기능은 ZoneIdentifier 등록 시점의 hooking 으로 동작합니다.

변환 실패 시 실패 사유 상세 확인

1. 개요

문서 변환 작업 수행 시 정책에 의해 차단된 문서에 대하여, 사용자가 어떤 정책의 어떤 사유로 변환이 실패하였는지 직접 확인할 수 있는 기능입니다.

기존에는 변환 실패 시 단순 실패 메시지만 표시되어 사용자가 원인을 파악하기 어려웠으나, 본 기능을 통해 정책별 평가 결과와 한글화된 사유를 제공함으로써 사용자의 자가 진단이 가능하도록 합니다.

2. 동작 흐름

  1. 사용자가 문서 변환 작업을 실행합니다.
  2. 변환이 완료되면 변환 결과 리스트에 문서 별 성공/실패 상태가 표시됩니다.
  3. 실패 문서에 노출된 [상세 보기] 버튼을 클릭하면 실패 사유 상세 모달이 표시됩니다.
  4. 모달에서 해당 문서에 적용된 정책의 평가 결과를 우선순위 순으로 확인할 수 있습니다.

3. 변환 결과 리스트

변환 작업 수행 후 결과 리스트에서 각 문서별 성공/실패 상태를 시각적으로 구분하여 표시합니다.

사용자 화면내용비고
실패 항목 우측에 [상세 보기] 버튼 노출정책 기반 실패 항목에 한정

4. 실패 사유 상세 모달

실패 문서의 [상세 보기] 버튼 클릭 시, 해당 문서에 대한 정책 평가 결과를 확인할 수 있는 모달이 표시됩니다.

4.1 정책 목록

  • 해당 문서에 적용된 정책 목록을 우선순위(priority) 순으로 정렬하여 표시합니다.
  • 각 정책은 기본 접힌 상태로 표시되며, 클릭 시 펼쳐져 상세 평가 결과를 확인할 수 있습니다.
  • 실제로 변환 결과를 결정한 정책은 사용자가 식별할 수 있도록 별도 강조 표시됩니다.

4.2 정책별 평가 결과

각 정책 항목을 펼쳤을 때, 다음 항목의 평가 결과가 단계별로 표시됩니다.

평가 항목설명
조건 (Condition)정책이 적용되기 위한 조건(파일 확장자, 경로, 사용자, 그룹 등)의 매칭 여부
제외 조건 (Excluded Condition)해당 정책의 적용에서 제외되는 조건의 매칭 여부
결정 팩터 (Decision Factor)정책이 최종적으로 적용 또는 차단을 결정한 요소 (예: 라벨, 분류 결과 등)

4.3 매칭 사유(matchReason) 유형별 표시

정책 평가 결과로 반환되는 매칭 사유 유형에 따라 사용자에게 명확한 안내를 제공하도록 UI를 분기하여 표시합니다.


문서 종료 시 변환 진행 안내

1. 개요

문서 종료 시점에 등급 적용과 문서 변환이 함께 수행되는 구조에서, 다수 파일(약 10개 수준)이 동시에 종료되면 작업이 한꺼번에 들어와 순차적으로 처리됩니다(하나가 진행되는 동안 나머지는 대기). 등급 설정 유무와 무관하게 변환만으로도 다수 작업이 몰릴 수 있습니다.

본 기능은 이 시점에 사용자에게 어떤 파일이 처리 중이고 어디까지 진행됐는지 를 별도 알림 창으로 안내하여, 처리 중 사용자가 다른 작업을 시도하거나 임의 종료하지 않도록 가시화합니다.

2. 기능 요약

사용자 작업 프로세스(Office 등)를 종료하면 변환 진행 안내 창이 자동으로 표시됩니다.

  • 안내 창 구성
    • 제목: 진행 중 / 완료 두 상태로 동적 전환
    • 대상 파일 목록: 파일 1행 = 1문서. 파일 형식 아이콘 + 파일명 + 상태 Badge
    • 상태 Badge: 변환 중(스피너) / 성공(녹색 체크) / 실패(빨강 느낌표) 3종
    • 안내 문구: 진행 중에는 "변환 중에는 프로그램 실행과 문서 열기가 일시적으로 제한됩니다" 안내. 실패 항목이 있는 경우 별도 안내 문구 표시
    • 도움말 링크: "도움이 필요하세요?" 버튼 — 관리자가 구성한 외부 URL 열기
    • 확인 버튼: 진행 중에는 비활성화 → 모든 작업 완료 시 활성화 + 5초 후 자동 닫힘
  • 다국어 6개국 지원 (KOR / ENG / JPN / CHN / DEU / RUS)
  • 다중 PID 동시 종료 시에도 단일 호스트 창에 모든 항목 누적 (별도 창 다발 방지)
  • 모든 작업 완료 신호가 일정 시간 동안 도달하지 않으면 안내 창이 자체적으로 완료 상태로 전환되어 자동 닫힙니다 (영구 표시 방지)

3. 동작 흐름

  1. 사용자가 Office 등 작업 프로세스의 마지막 문서를 닫거나 프로세스를 종료
  2. 클라이언트가 종료를 감지하고 닫히는 문서 각각에 대해 조건부 정책 평가 시작
  3. 첫 번째 정책 평가 직전 — 안내 창 표시(이미 표시된 창이 있으면 항목 누적)
  4. 각 파일 처리 완료 시 — 해당 항목의 Badge 가 "변환 중" → "성공" 또는 "실패" 로 전환
  5. 닫는 프로세스의 모든 정책 처리 완료 시 — 안내 창 제목이 완료 상태로 변경, 확인 버튼 활성화
  6. 5초 후 — 안내 창 자동 닫힘 (사용자가 확인 버튼으로 직접 닫는 것도 허용)

4. 사용자 화면

상태화면
변환 진행 중
변환 완료
정보

진행 중에는 확인 버튼이 비활성화되어 작업 완료 전 사용자가 창을 닫을 수 없습니다. 모든 항목이 마감되면 확인 버튼이 활성화되고, 5초 후 자동으로 닫힙니다.

5. 리소스 정보 — DSRes*.ini 추가 키

6개국 리소스 파일에 공통으로 [DocCloseProgress] 섹션을 추가합니다. 각 키는 운영 환경의 시스템 로케일에 해당하는 INI 파일에서 우선 조회되며, 키가 비어 있거나 INI 가 구버전인 경우 안내 창은 영어 기본값으로 안전하게 폴백합니다.

용도비고
TITLE_IN_PROGRESS안내 창 제목 — 진행 중 상태예) "문서 종료 후 문서 변환 및 보안 등급 적용 중"
TITLE_DONE안내 창 제목 — 완료 상태예) "문서 변환 및 보안 등급 적용 완료"
INFO_IN_PROGRESS진행 중 안내 문구 — 2문장 (\n 으로 구분)1문장: 프로그램 실행·문서 열기가 일시적으로 제한된다는 안내 / 2문장: 파일 수·크기에 따라 시간이 걸릴 수 있다는 안내
INFO_FAILED완료 시 실패 항목이 있을 때 노출되는 안내 문구예) "실패한 파일이 있습니다. 잠시 후 다시 시도하거나 관리자에게 문의하세요."
BUTTON_CONFIRM확인 버튼 라벨예) "확인"
BUTTON_HELP도움말 버튼 라벨예) "도움이 필요하세요?"
STAGE_CONVERTING항목 Badge — 변환 중 텍스트예) "변환 중"
STAGE_SUCCESS항목 Badge — 성공 텍스트예) "성공"
STAGE_FAILED항목 Badge — 실패 텍스트예) "실패"
HELP_URL"도움이 필요하세요?" 버튼 클릭 시 열리는 외부 URL언어 무관. 관리자가 구성
  • 키 누락 시: 해당 키만 영어 기본값으로 폴백 (그 외 키는 INI 값 사용)
  • INI 자체가 구버전 ([DocCloseProgress] 섹션 자체 없음): 안내 창 전체가 영어 기본값으로 표시되며, 변환·정책 처리 동작 자체는 영향 없음

화이트 리스트 문서 변환

화이트 리스트 정책에 따라 1:1 매핑 방식으로 문서를 변환하는 기능입니다. DS 6.0 ENT의 appAuth 모드에서만 동작합니다.

1. 개요

운영자가 사전에 정의한 원본 → 대상 매핑 정책에 등록된 문서에 한해 변환을 허용합니다. 정책에 등록되지 않은 문서의 변환은 모두 차단됩니다. 변환 정책은 커스텀 정책으로 설정합니다.

2. 관련 커스텀 정책

항목
IDDS_MIP_DOC_CONV_WHITE_LIST
TYPEEDIT
정책값 형식TARGET_DOC_TYPE:ID|DEST_CONVERT_DOC:ID

3. 정책 형식 설명

  • TARGET_DOC_TYPE — 원본 문서의 타입
  • DEST_CONVERT_DOC — 변환 대상 문서의 타입
  • ID — 문서 식별자 (MIP 라벨 ID, 등급 문서 ID, 범주 문서 ID 등)

4. 문서 타입 (Type)

타입설명
MIPMIP 라벨이 지정된 문서
MAC범주(MAC) 문서
GRADE등급이 지정된 문서
DAC개인 문서 (ID 생략 가능 — 로그인 사용자의 개인 문서로 변환)

5. 정책 예시

예시 1ABCD 라벨 ID를 갖는 MIP 문서를 등급 문서 ID GRADEID0001 로만 변환 허용:

MIP:ABCD|GRADE:GRADEID0001

예시 2 — 범주 문서 ID MAC000002 를 MIP 라벨 ID EFGH 로만 변환 허용:

MAC:MAC000002|MIP:EFGH

예시 3 — 두 정책 동시 적용 (세미콜론 ; 으로 구분):

MIP:ABCD|GRADE:GRADEID0001;MAC:MAC000002|MIP:EFGH

6. 제약 사항

  • WhiteList 방식이므로 정책에 등록되지 않은 모든 문서의 변환은 차단됩니다.
  • DS 6.0 ENT에서 개인·등급·범주 문서로 직접 변환할 때 Linker 기능이 사용되어, 변환된 문서가 Linker 문서 아이콘으로 표시될 수 있습니다.

Teams 코파일럿 탭 이용한 파일 업로드 시 Endpoint 사전 변환

1. 개요

Microsoft Teams 데스크톱 앱의 Copilot 탭에 사용자가 보안 문서를 파일 업로드 / 드래그 앤 드롭 / 붙여넣기 방식으로 첨부할 때, 사용자의 PC(Endpoint) 측에서 사전에 변환한 뒤 Teams 로 전달하는 기능입니다.

1-1. 본 기능이 필요한 이유

본 기능은 기본적으로 Teams Copilot 의 프롬프트가 DRM 보안 문서의 내용을 직접 읽을 수 없다는 제약을 해결하기 위해 개발되었습니다. DRM 보안 문서를 Copilot 탭에 첨부하면 Copilot 이 문서 내용을 인식하지 못해 답변이 깨지거나 질의가 실패합니다.

이를 회피하기 위해 본 기능은 사용자가 Copilot 탭에 보안 문서를 첨부하는 시점에 Teams 가 클라우드로 보내기 직전, 사용자 PC 에서 Copilot 이 읽을 수 있는 형식으로 사전 변환합니다. 동시에 변환 지연으로 발생하던 다음 두 가지 문제도 함께 해결됩니다.

  • 클라우드 측 변환 지연으로 인한 Copilot 질의 오류
  • 변환이 완료되기 전 Copilot 이 보안 문서의 내용을 부분적으로 읽어 답변이 깨지는 현상

1-2. 변환 방향은 조건부 정책으로 자유롭게 설정 가능

본 기능의 변환 방향은 고정되어 있지 않습니다. 운영자가 ZTCAP 조건부 정책을 어떻게 구성하느냐에 따라 자유롭게 결정할 수 있습니다.

  • 표준 시나리오 — DRM → MIP 변환: Copilot 이 직접 읽지 못하는 DRM 보안 문서를 MIP(Microsoft Information Protection) 라벨이 적용된 문서로 변환. 본 기능의 주된 사용 케이스.
  • 예시 — MIP → DRM 변환: 운영 정책상 MIP 문서를 Copilot 에 첨부할 때 DRM 보안 문서로 다시 변환하여 전달하는 시나리오. ZTCAP 정책의 변환 방향 항목을 그렇게 구성하면 가능.
  • 그 외 ZTCAP 이 지원하는 다른 변환 방향 (예: 일반 문서 → DRM 등) 도 동일한 정책 구성 방식으로 적용 가능합니다.

즉, 본 기능은 "Copilot 탭 첨부 시점에 Endpoint 에서 사전 변환을 수행" 하는 트리거·인프라 를 제공하며, 실제 변환 방향은 관리자가 ZTCAP 조건부 정책의 변환 방향 항목으로 자유롭게 결정합니다.

1-3. 다운로드 변환과의 관계

본 기능은 클라우드 다운로드 시 Endpoint 측에서 사전 변환을 수행하는 기존 클라우드 다운로드 문서변환 기능업로드 방향 대칭판 이며, 동일한 조건부 정책(ZTCAP) 인프라와 SCRA·SCPD 모듈 구조를 재사용합니다.

📌 요약: Teams Copilot 탭에 보안 문서를 첨부하면, Teams 가 클라우드로 보내기 직전에 PC 에서 ZTCAP 조건부 정책에 따라 자동 변환한 결과만 업로드합니다. 표준 사용은 DRM → MIP 변환이며, 정책 구성에 따라 MIP → DRM 등 다른 방향도 가능합니다.


2. 관련 커스텀 정책

본 기능은 두 개의 커스텀 정책과 함께 동작합니다. 둘 모두 SHIELD DRM 관리자 페이지의 정책 관리 화면에서 설정합니다. HOOK_LOAD_DYNAMIC의 상세 정책값(모듈 인젝션 문자열)은 변환 상세에서 관리합니다.

2-1. DS_MIP_INIT.CopilotDocuConv — Copilot 탭·경로 식별 보강 정책 (선택)

본 기능은 출하 시점에 측정한 Teams Copilot 탭의 윈도우 캡션 패턴(Copilot | Microsoft Teams 등) 과 사용자 문서 경로 패턴(시스템 폴더 제외) 을 클라이언트 내부에 내장하고 있습니다. 다만 Teams 의 캡션이 향후 업데이트로 바뀌거나, 고객사가 특정 비표준 경로를 사용·차단해야 할 때 클라이언트 재배포 없이 정책만으로 보강할 수 있도록 본 정책을 도입했습니다.

IDDS_MIP_INIT (기존 정책의 CopilotDocuConv 키)
TYPEJSON
정책값 형식DS_MIP_INIT JSON 의 하위 객체로 CopilotDocuConv 추가
적용 방식Union (합집합) — 클라이언트 내장 fallback 값에 정책에 명시된 패턴이 추가됨. 운영자는 새로 추가할 패턴만 명시하면 됩니다 (fallback 을 복제할 필요 없음).

정책 값 예시 (JSON):

{
"CopilotDocuConv": {
"captionPatterns": [
"Copilot | Microsoft Teams",
"Copilot 그룹 채팅 | Microsoft Teams"
],
"excludePathPatterns": [
"c:\\users\\public\\share-temp\\"
]
}
}
  • captionPatterns : Copilot 탭 활성 시 EnumWindows 가 발견해야 하는 윈도우 캡션 패턴 목록. 부분 매칭.
  • excludePathPatterns : 사용자 문서 경로 중 본 변환에서 제외할 경로 prefix 목록. 시스템 폴더(c:\windows\ / c:\program files) 는 항상 제외이며 정책으로 변경 불가.

📌 정책 미설정 시 동작: 클라이언트 내장 fallback 값만으로 정상 동작합니다. 본 정책은 캡션·경로 변경 대응이 필요할 때만 설정하면 됩니다.

⚠️ 한국어 패턴: 정책 데이터가 한국어를 포함하더라도 UTF-8 인코딩으로 정상 해석됩니다. 출하 시점에 ANSI(CP949) 인코딩 환경에서도 동작하도록 fallback 처리가 적용되어 있습니다.


3. 조건부 정책 이벤트 정의

본 기능은 SHIELD DRM 의 조건부 정책(ZTCAP) 엔진에 새로운 이벤트 트리거 한 가지를 추가합니다.

항목
프론트엔드 (관리자 UI 라벨)Teams 코파일럿 탭으로 파일 업로드
백엔드 (이벤트 키)UploadFile_ToTeamsCopilot
설명Teams 데스크톱 앱에서 Copilot 탭으로 파일이 업로드되는 시점에 발생하는 이벤트. Copilot 탭 여부는 클라이언트 측이 윈도우 캡션 기반으로 판별합니다.

UI 배치:

[조건부 정책] > [Endpoint] > 정책 등록 > 정책 기본 정보 > 문서 이벤트 > Cloud 카테고리 하위에 단일 체크 항목으로 노출됩니다. 기존 Cloud에서 파일 다운로드 항목과 같은 레벨입니다.

문서 이벤트 > Cloud
├─ Cloud에서 파일 다운로드 (기존, DownloadFile_FromCloud)
└─ Teams 코파일럿 탭으로 파일 업로드 (신규, UploadFile_ToTeamsCopilot)

💡 별도의 URL 리스트 관리 탭은 도입하지 않습니다. Copilot 탭 식별은 클라이언트 내부 로직(윈도우 캡션 + 사용자 경로 + 변환 직전 재검증의 3단 방어선) 이 수행합니다.


4. Ztcap 정책 관련

4-1. 기능 동작 시 Endpoint 에서 ZTCAP 으로 질의되는 decisionFactors 예시

Teams Copilot 탭으로 단일 docx DRM 보안 문서를 첨부하는 시점에 클라이언트가 ZTCAP 엔진에 질의하는 JSON 의 형태입니다.

{
"decisionFactors": [
{
"category": "document",
"target": {
"info": {
"ext": "docx",
"zoneIdentifier": ""
},
"type": "ds"
}
},
{
"category": "storage",
"target": {
"info": {
"folder": "%USERS%\\Documents"
},
"type": "local"
}
},
{
"category": "fileEvent",
"target": {
"info": {
"event": "UploadFile_ToTeamsCopilot"
},
"type": "local"
}
}
]
}

📌 다운로드 경로와의 차이: 다운로드 변환과 달리 본 업로드 변환은 로컬 디스크의 원본 보안 문서를 대상으로 하므로 zoneIdentifier 값은 대체로 비어 있고, category=documenttypeds (DRM 보안 문서) 또는 normal / mip 입니다.

4-2. ZTCAP 정책 설정 시 주의 사항

⚠️ 다운로드 변환 정책과 묶을 경우 공통 집행 정책 공유가 필요합니다.

  • decisionFactorsfileEvent 키에 UploadFile_ToTeamsCopilotDownloadFile_FromCloud 를 함께 명시하는 것은 ZTCAP 엔진상 허용됩니다(이벤트 다중 선택). 단, 한 정책에 묶을 수 있는 것은 두 이벤트가 공통 집행 정책(예: DRM → MIP 변환)을 공유할 때에 한합니다. 집행 정책이 다른 경우 별개 정책으로 분리 등록.
  • decisionFactorsdocument.target.type 정책값 = ds (DRM 보안 문서) 또는 normal / mip 을 운영 요구에 따라 선택. 다운로드와 달리 ds 사용 가능 (본 기능은 로컬의 DRM 문서를 MIP 로 변환하는 것이 주 시나리오).
  • document.target.info.ext = 변환 대상 확장자 목록. 본 기능에서 지원하는 확장자(13개) 를 명시합니다. § 7 참조.

ZTCAP 정책 예시:

"category": "document",
"targets": [
{
"type": "ds",
"use": true,
"operation": "AND",
"info": {
"ext": ["pptx","ppt","pps","ppsx","pptm","xlsx","xls","xlsb","xlsm","docx","doc","docm","pdf"]
}
}
],
...
{
"category": "fileEvent",
"targets": [
{
"type": "local",
"use": true,
"operation": "OR",
"info": {
"event": ["UploadFile_ToTeamsCopilot"]
}
}
]
}

4-3. ZTCAP 정책 설정 시 기본 포함 정책

본 기능은 로컬 보안 문서를 대상으로 하므로 클라우드 URL 화이트리스트(*sharepoint.com* 등) 는 필요하지 않습니다. 다운로드 변환 기능과의 핵심 차이입니다.


5. 적용 방법

운영자가 본 기능을 활성화하기 위해 수행할 순서는 다음과 같습니다.

  1. 모듈 패치 — 본 기능을 지원하는 모듈 버전이 사용자 PC 에 배포되어 있는지 확인합니다 (구체 모듈·버전은 변환 상세 참조).
  2. 커스텀 정책 설정HOOK_LOAD_DYNAMIC 정책에 msedgewebview2.exe 대상 4 개 항목이 포함되어 있는지 확인합니다 (상세 정책값은 변환 상세 참조).
  3. (선택) 캡션·경로 보강 — Teams 캡션이 출하 fallback 과 달라졌거나 비표준 경로 제외가 필요하면 DS_MIP_INIT.CopilotDocuConv 를 설정합니다 (§ 2-1).
  4. ZTCAP 조건부 정책 등록 — 관리자 페이지에서 Teams 코파일럿 탭으로 파일 업로드 이벤트를 가진 신규 정책을 등록하고 변환 동작·라벨을 지정합니다 (§ 4).
  5. 사용자 PC 의 정책 갱신을 기다린 뒤 Teams 앱 재시작 — Teams 앱이 새 HOOK_LOAD_DYNAMIC 정책을 인지하려면 Teams App 재시작이 필요합니다.

6. 정책 조합별 동작 요약표

본 기능은 세 가지 정책 (HOOK_LOAD_DYNAMIC / ZTCAP UploadFile_ToTeamsCopilot / DS_MIP_INIT.CopilotDocuConv) 의 조합에 따라 다음과 같이 동작합니다. 굵게 표시된 행이 본 기능이 정상 동작하는 표준 구성 입니다.

#HOOK_LOAD_DYNAMIC (모듈 인젝션)ZTCAP UploadFile_ToTeamsCopilot (변환 정책)DS_MIP_INIT.CopilotDocuConv (캡션·경로 보강)동작 결과
1✅ 설정✅ 등록(생략)✅ 정상 동작 — Teams Copilot 탭 첨부 → 사전 변환 → MIP 문서 업로드 → Copilot 정상 응답
2✅ 설정✅ 등록✅ 설정✅ 정상 동작 — 위와 동일하며 캡션·경로 추가 패턴까지 인식
3❌ 미설정✅ 등록(무관)❌ 미동작 — 훅 모듈이 Teams WebView2 에 로드되지 않아 이벤트 자체가 발생하지 않음
4✅ 설정❌ 미등록(무관)⚠️ 부분 동작 — Endpoint 가 이벤트는 감지하지만 적용할 변환 정책이 없어 변환을 수행하지 않음. 원본 그대로 업로드됨
5✅ 설정✅ 등록 (확장자 제한)(무관)⚠️ 선택 동작 — ZTCAP ext 에 포함된 확장자만 변환. 미포함 확장자는 원본 그대로 업로드
6✅ 설정✅ 등록❌ 캡션 패턴 변경됨 (정책 미보강)⚠️ 일시 미동작 — Teams 업데이트로 캡션이 바뀐 직후, Copilot 탭 식별 실패로 변환이 일어나지 않을 수 있음. 정책 보강(§ 2-1) 으로 해결
7✅ 설정✅ 등록(무관)⚠️ 일시 가드 동작 — 변환에 30 초 이내 실패한 동일 경로는 30 초간 재시도 차단(§ 8-3). 30 초 후 자동 회복

💡 정책 조합을 변경한 뒤에는 사용자 PC 의 Teams App 을 재시작해야 일부 변경이 즉시 반영됩니다.


7. 지원 확장자

본 기능이 변환 대상으로 지원하는 확장자는 다음 13 개 입니다. 운영자가 ZTCAP 정책의 document.target.info.ext 에 본 목록에 포함된 확장자만 지정해야 변환이 수행됩니다.

분류확장자
Word 계열.docx, .doc, .docm
Excel 계열.xlsx, .xls, .xlsb, .xlsm
PowerPoint 계열.pptx, .ppt, .pps, .ppsx, .pptm
PDF.pdf

📌 이 목록은 클라이언트 내 공유 메모리(shmSupportExt) 가 관리하는 사양으로, 운영자가 임의로 변경할 수 없습니다 (확장 시 클라이언트 패치 필요).


8. 변환 동작 특성

8-1. 변환 소요 시간

  • 사내 측정값: Teams Copilot 탭 첨부 시점부터 변환 완료까지 약 2.8 초 (로그 캡처 ON 환경 기준).
  • 운영 환경: 로그 캡처가 OFF 인 일반 사용자 환경에서는 위 측정값보다 짧고, 실용적으로 수용 가능한 수준입니다.
  • 첨부 후 Teams UI 에서 잠시 진행 상태가 표시된 뒤 Copilot 응답이 정상적으로 시작됩니다.

8-2. 임시 파일 관리

본 기능은 변환 결과를 보안 임시 폴더에 저장한 뒤 Teams 에 전달합니다. 임시 파일은 다음 규칙에 따라 자동 정리됩니다.

  • FIFO 큐 방식: 변환된 임시 파일은 최대 5 개까지 큐에 보존되며, 한도 초과 시 가장 오래된 항목부터 2 개씩 자동 삭제됩니다.
  • PC 종료 / Teams App 종료 시점: 본 기능 모듈이 정상 해제될 때(DLL_PROCESS_DETACH) 큐의 잔여 항목을 일괄 정리합니다.
  • 따라서 변환 직후 Copilot 이 임시 파일을 정상 인식하도록 임시 파일을 즉시 삭제하지 않으며, 다중 파일 첨부 시에도 일정 시간 보존 후 차례로 안전하게 정리됩니다.

8-3. 일시 실패 시 재시도 가드

특정 파일 변환이 일시적으로 실패할 경우(예: 외부 SDSEnc 환경 문제 등), 동일 경로의 동일 파일에 대해 30 초간 변환 재시도를 차단 합니다.

  • 30 초 후에는 자동으로 재시도가 가능해집니다.
  • 이 가드 동작은 환경 일시 문제로 인한 무한 재시도·DRM 원본 노출 위험을 동시에 방지합니다.
  • 변환이 차단된 동안 사용자가 동일 파일을 다시 첨부하면 원본 그대로 업로드되지 않고 변환 차단 흐름을 따릅니다.

9. 주요 흐름

9-1. 관리자 정책 등록 흐름

  1. SHIELD DRM 관리자 페이지에 접속합니다.
  2. 관리자 권한을 가진 계정으로 로그인합니다.
  3. LNB 메뉴 조건부 정책 → 하위 메뉴 Endpoint 를 선택합니다.
  4. 정책 등록 버튼을 클릭합니다.
  5. 문서 이벤트 항목에서 Cloud > Teams 코파일럿 탭으로 파일 업로드 를 선택합니다.
  6. 대상 문서 · 구성원 · 문서 집행 정책(MIP 로 암호화 + 레이블 선택) 등 기존 조건부 정책 항목을 구성합니다.
  7. 정책을 저장하고 클라이언트 PC 측 정책 갱신을 기다립니다.

9-2. 사용자 첨부 동작 흐름

  1. 사용자가 Teams 앱을 실행하고 Copilot 탭을 활성화합니다.
  2. 보안 문서를 파일 업로드 / 드래그 앤 드롭 / 붙여넣기 중 하나의 방식으로 첨부 시도합니다.
  3. Endpoint 가 다음 3 단 방어선 으로 본 기능 대상 여부를 판정합니다.
  • 1 단 — 파일 경로가 사용자 문서 경로인지 + 확장자가 지원 확장자인지 (가장 빠른 필터)
  • 2 단 — Teams Copilot 탭이 활성 상태인지 (윈도우 캡션 검사)
  • 3 단 — 변환 직전 동일 조건을 한 번 더 재검증 (Race 방지)
  1. 3 단 모두 통과하면 ZTCAP 정책을 질의해 변환 동작 여부를 결정합니다.
  2. 변환 대상으로 판정되면 보안 문서를 복호화하고 MIP 라벨을 적용한 임시 파일을 생성합니다.
  3. Teams 가 원본 대신 변환 결과 임시 파일을 클라우드로 전송합니다.
  4. Copilot 이 변환된 MIP 문서를 정상 인식하고 사용자 질의에 응답합니다.

10. 제약사항

  • Teams 웹 업로드 미지원: Teams 웹은 모든 탭의 URL 이 동일하게 노출되어 Copilot 탭 식별이 불가능합니다. 본 기능 범위에서 제외됩니다.
  • Teams 채팅 / 채널 게시판 업로드 미지원: 1차 범위 외. 향후 별도 이벤트(UploadFile_ToTeamsChat, UploadFile_ToTeamsChannel) 로 분리 가능.
  • 모바일 / iOS / Android Teams 앱 미지원: 본 기능은 Windows Endpoint 한정.
  • 재업로드 차단(PDF): 한 번 업로드된 PDF 를 보안 문서로 재업로드하면 Teams 자체에서 차단되며, 본 기능이 개입할 수 없습니다.
  • Copilot 탭 식별 의존성: Teams 업데이트로 Copilot 탭 캡션 패턴이 변경되면 일시적으로 본 기능이 동작하지 않을 수 있습니다. 이 경우 DS_MIP_INIT.CopilotDocuConv 정책으로 신규 캡션 패턴을 추가 등록하여 클라이언트 재배포 없이 운영 대응할 수 있습니다.
  • MIP 인증 의존성: MIP 라벨 적용 시 Teams 사용자 인증 컨텍스트 확보에 실패할 경우 변환이 실패합니다. 이 경우 30 초 재시도 가드가 작동하며, 인증 회복 후 자동 정상화됩니다.
  • Edge / Chrome 이외의 브라우저 미지원: Teams 가 내부적으로 사용하는 WebView2 (Edge 기반) 가 본 기능 대상이며, 다른 브라우저는 본 기능과 무관합니다.