InfoGrab DocsInfoGrab Docs

데이터 유출 처리

요약

데이터 유출 처리(Data Spillage Handling)는 우발적인 데이터 유출을 방지하고 협업을 방해하지 않으면서 잠재적인 유출에 신속히 대응할 수 있도록 시스템 관리자를 지원합니다. 모든 팀원이 민감 데이터 노출에 대한 첫 번째 방어선이 됨으로써 데이터 유출 처리는 미션 크리티컬하고 안전한 배포를 강화하고 조직 및 규제 데이터 처리 기준 준수를 지원합니다.

사용 가능 플랜: Entry, Enterprise Advanced

데이터 유출 처리(Data Spillage Handling)는 우발적인 데이터 유출을 방지하고 협업을 방해하지 않으면서 잠재적인 유출에 신속히 대응할 수 있도록 시스템 관리자를 지원합니다. 이 기능을 활성화하면 Mattermost 사용자가 민감하거나 규제되거나 부적절한 정보가 포함될 수 있는 메시지를 신고할 수 있으며, 지정된 콘텐츠 검토자가 격리된 메시지를 평가하고 제거하거나 기각하는 적절한 조치를 취할 수 있습니다.

모든 팀원이 민감 데이터 노출에 대한 첫 번째 방어선이 됨으로써 데이터 유출 처리는 미션 크리티컬하고 안전한 배포를 강화하고 조직 및 규제 데이터 처리 기준 준수를 지원합니다.

시작하기 전에#

Mattermost에서 시스템 관리자여야 합니다. 격리된 메시지의 콘텐츠 검토자가 될 사람을 식별하고, 검토 중인 격리된 메시지를 Mattermost에서 사용자에게 숨길지 결정해야 합니다.

활성화#

데이터 유출 처리는 기본적으로 활성화되어 있지 않습니다. 데이터 유출 처리를 활성화하려면:

  1. System Console > Site Configuration > Data Spillage Handling 으로 이동합니다.
  2. 데이터 유출 처리 활성화 을 True 로 설정합니다.

또는 config.json 파일이나 환경 변수를 통해 데이터 유출 처리를 설정할 수 있습니다.

설정#

  1. 콘텐츠 검토자 아래에서 격리된 콘텐츠를 검토할 사람을 정의합니다:

    • 모든 팀에 동일한 검토자: True 로 설정하면 모든 팀에 하나의 전역 검토자 목록을 적용하고, False 로 설정하면 팀별로 검토자를 설정합니다.
    • 검토자: 검색하려면 입력하여 콘텐츠 검토자로 지정할 사용자를 찾습니다.
Important
검토자를 신중하게 선택하세요. 검토자 역할을 할당하면 잠재적으로 민감한 정보에 대한 접근 권한이 부여되며 비공개 채널의 데이터가 노출될 수 있습니다.

- 전역 검토자는 자신이 멤버가 아닌 비공개 채널을 포함한 모든 팀과 채널의 격리된 메시지를 볼 수 있습니다.
- 팀별 검토자는 자신이 멤버가 아닌 해당 팀 내 비공개 채널을 포함하여 배정된 팀의 격리된 메시지를 볼 수 있습니다.

- **추가 검토자**: 선택적으로 포함:
  - **시스템 관리자**: 시스템 관리자는 자신이 속한 모든 팀의 격리된 메시지를 받습니다.
  - **팀 관리자**: 팀 관리자는 각자의 팀에 대한 격리된 메시지를 받습니다.

2. 알림 설정 아래에서 콘텐츠가 격리되거나 검토될 때 격리 워크플로의 각 단계에서 누가 업데이트를 받을지 지정합니다:

- **콘텐츠 격리 시 알림**: 검토자, 작성자.
- **검토자 배정 시 알림**: 검토자.
- **콘텐츠 제거 시 알림**: 검토자, 작성자, 신고자.
- **기각 시 알림**: 검토자, 작성자, 신고자.

모든 알림은 **Data Spillage Bot** 을 통해 다이렉트 메시지로 전송됩니다.

3. 추가 설정 아래에서 격리 워크플로의 동작 방식을 설정합니다:

- **격리 사유**: 사용자를 위한 격리 대화 상자에 표시될 사전 설정 카테고리를 정의합니다(예: **Classification mismatch**, **알 필요성 위반**, **개인 식별 정보(PII) 노출**, **작전 보안(OPSEC) 우려**, **Controlled Unclassified Information (CUI) violation**).
- **신고자 코멘트 필수**: **True** 로 설정하면 사용자가 메시지를 격리할 때 짧은 설명을 추가해야 합니다.
- **검토자 코멘트 필수**: **True** 로 설정하면 검토자가 격리를 해제할 때 코멘트를 추가해야 합니다.
- **검토 중 채널에서 메시지 숨기기**: **True** 로 설정하면 검토가 완료될 때까지 격리된 메시지를 채널에서 자동으로 숨깁니다. 루트 게시물이 격리되면 전체 스레드가 숨겨집니다.

4. 게시물 전달 감사 로깅 아래에서 메시지가 전달된 각 사용자, 플러그인, 아웃고잉 웹훅을 기록합니다:

- **게시물 전달 감사 로깅 활성화**: **True** 로 설정하면 대상 채널에서 메시지가 전달될 때마다 감사 로그 항목을 기록합니다. 이 기록은 감사 로그에만 작성되며 Mattermost 인터페이스 어디에도 표시되지 않습니다.
- **전달 기록 대상**: **모든 채널** 를 선택하거나, **선택한 채널** 를 선택하여 특정 채널로 기록 대상을 제한합니다.
- **전달 기록 대상 채널**: **선택한 채널** 로 설정한 경우 전달 기록을 남길 채널을 선택합니다.

다이렉트 메시지 채널과 그룹 메시지 채널은 **전달 기록 대상** 설정과 관계없이 대상이 되지 않습니다. 자세한 내용은 [게시물 전달 감사 로깅](#post-delivery-audit-logging)을 참조하세요.
Tip

투명성, 책임성, 감사 가능한 조치 기록을 유지하려면 검토 중 채널에서 메시지 숨기기 를 활성화하고 신고자와 검토자 모두에게 코멘트를 요구하는 것을 권장합니다.

격리된 메시지 모니터링#

사용자가 메시지를 격리하면, Data Spillage Bot 이 모든 콘텐츠 검토자에게 다이렉트 메시지를 보냅니다.

Data Spillage Bot 의 다이렉트 메시지는 중앙 집중식 관리 큐로, 검토자가 Mattermost를 벗어나지 않고도 격리된 메시지를 보고, 배정하고, 조치를 취할 수 있습니다. 검토자는 이를 사용하여 잠재적인 데이터 유출을 모니터링하고, 대응을 조율하며, 검토 활동의 감사 가능한 기록을 유지할 수 있습니다.

각 격리된 메시지는 다음을 포함하는 카드 형식의 메시지로 표시됩니다:

  • 격리한 사용자: 메시지를 신고한 사용자.
  • 상태: 검토의 현재 상태. 모든 격리된 콘텐츠는 대기 중 상태로 시작됩니다.
  • 사유: 신고자가 선택한 이유(예: Classification mismatch, 알 필요성 위반).
  • 메시지 미리보기: 작성자, 타임스탬프, 원래 채널을 포함한 격리된 메시지의 스니펫.
  • 검토자: 현재 메시지 검토를 배정받은 사용자(초기에는 미배정).
  • 채널: 메시지가 원래 게시된 채널 이름.
  • 팀: 격리된 메시지의 팀 컨텍스트.
  • 댓글: 신고자가 제공한 컨텍스트.
  • 게시물 ID: 감사 목적을 위한 원본 메시지의 시스템 식별자.

검토자는 상세 보기 를 선택하여 다음 조치를 취할 수 있습니다:

  • 격리된 메시지를 검토할 검토자 를 배정합니다.
  • 메시지 제거: 모든 사용자를 위해 원래 채널에서 격리된 메시지를 영구적으로 삭제합니다. 격리된 메시지의 상태가 제거됨 로 변경됩니다.
  • 메시지 유지: 격리를 기각하고 숨겨진 경우 메시지를 복원합니다. 격리된 메시지의 상태가 유지됨 로 변경됩니다.
  • 댓글 추가: 필요한 경우 결정 이유를 기록합니다.
  • 보고서 생성: 기록 보관 또는 인시던트 대응을 위해 격리된 메시지와 검토 활동에 대한 보고서를 다운로드합니다. 자세한 내용은 격리된 메시지 보고서 생성을 참조하세요.
  • 노출 보고서 다운로드: Mattermost v11.11부터, 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자의 보고서를 다운로드합니다. 자세한 내용은 게시물 노출 보고서 생성을 참조하세요.

조치가 취해지면 상태 필드가 자동으로 업데이트됩니다. Data Spillage Bot 은 데이터 유출 처리가 설정된 방식에 따라 신고자, 작성자, 다른 검토자에게 후속 알림을 보냅니다.

격리된 메시지 보고서 생성#

검토자는 격리된 메시지의 전체 컨텍스트와 관련 검토 활동을 포함하는 다운로드 가능한 보고서를 생성할 수 있습니다. 보고서는 기록 보관, 인시던트 대응, 메시지가 영구적으로 제거되기 전에 증거를 보존하는 데 유용합니다.

보고서는 다음 진입점 중 어느 곳에서든 생성할 수 있습니다:

  • 격리된 메시지 세부 정보에서: 메시지 세부 정보 패널에서 보고서 다운로드 를 선택합니다. 이 옵션은 대기 중, 검토자 배정됨, 제거됨, 유지됨 등 격리 상태와 관계없이 사용할 수 있습니다.
  • Remove message 흐름에서: 메시지 제거 를 선택하면 확인 대화 상자에 기본적으로 선택된 격리된 메시지 보고서 다운로드 체크박스가 표시됩니다. 체크박스가 선택된 상태에서는 메시지를 영구적으로 제거하기 전에 Mattermost가 보고서를 생성하고 다운로드합니다. 이 안전장치는 메시지 콘텐츠가 삭제되기 전에 기록이 사용자 디바이스에 보존되도록 보장합니다.
  • Keep message 흐름에서: 메시지 유지 를 선택하면 확인 대화 상자에 동일한 체크박스가 표시됩니다. 체크박스가 선택된 상태에서는 유지 작업이 완료되는 동안 Mattermost가 백그라운드에서 보고서를 생성하고 다운로드합니다.

메시지 제거 또는 메시지 유지 흐름에서 보고서 다운로드를 건너뛰기로 선택하면, Mattermost는 보고서 없이 진행할 것인지 확인을 요청합니다. 건너뛰기 결정은 감사 로그에 기록됩니다.

보고서 생성이 실패하면(예: 네트워크 중단이나 세션 시간 초과로 인해), 대화 상자에 오류가 표시되고 재시도 옵션이 제공됩니다. 보고서를 건너뛰고 작업을 진행하거나, 취소하고 나중에 메시지 세부 정보에서 보고서를 다운로드할 수도 있습니다.

검토자가 격리된 메시지 보고서 또는 게시물 노출 보고서를 생성할 때마다 Data Spillage Bot 이 모든 콘텐츠 검토자에게 알림을 보내, 유출 가능성이 있는 데이터의 사본을 확보할 때마다 감사 가능한 기록이 남도록 합니다. 보고서가 메시지의 파일 첨부 없이 생성된 경우, 봇은 보고서를 요청한 검토자에게 그 이유를 설명하는 알림을 추가로 보냅니다. 자세한 내용은 파일 첨부 및 다운로드 정책을 참조하세요.

Tip

메시지를 제거하기 전에 보고서를 생성하는 것을 권장합니다. 메시지가 제거되면 콘텐츠, 첨부 파일, 수정 기록이 영구적으로 삭제되며 복구할 수 없습니다.

보고서 내용 및 형식#

각 격리된 메시지 보고서는 YAML 메타데이터 파일, 원본 파일 첨부, 그리고 Mattermost v11.11부터는 CSV 노출 보고서를 포함하는 ZIP 아카이브입니다. 메타데이터 파일에 YAML을 사용하는 이유는 사람이 읽을 수 있으면서도 기계가 파싱할 수 있기 때문이며, 이는 수동 검토뿐 아니라 후속 컴플라이언스 또는 인시던트 대응 도구에서의 처리에도 보고서를 적합하게 만듭니다. 노출 보고서는 검토자가 스프레드시트에서 바로 열 수 있도록 CSV 형식입니다.

Warning

보고서 아카이브에는 격리된 메시지 콘텐츠, 첨부 파일, 관련된 사용자의 사용자 ID, 사용자 이름, 이메일 주소가 포함됩니다. 다운로드한 보고서는 해당 민감도의 데이터에 대해 승인된 위치를 통해서만 저장하고 전송하며, 필요한 사람으로 접근을 제한하고, 조직의 보존 및 안전한 삭제 요구 사항을 적용하세요.

아카이브는 다음과 같은 구조를 갖습니다:

/
├── report_metadata.yaml
├── content_review.yaml
├── exposure_report.csv
├── ATTACHMENTS_OMITTED.txt   # only when attachments are withheld
├── post/
│   ├── post.yaml
│   └── attachments/
│       └── <original attachment files>
└── edit_history/
    └── <edit_post_id>/
        ├── post.yaml
        └── attachments/
            └── <original attachment files>
  • report_metadata.yaml: 보고서를 생성한 검토자의 사용자 ID와 사용자 이름, 생성 타임스탬프, 아카이브 형식 버전(향후 릴리즈에서 아카이브 형식이 변경될 경우 상위 호환성을 위해 사용됨)을 포함하여 보고서 자체를 식별합니다. Mattermost v11.11에서 도입된 아카이브 형식 버전 1.1은 아카이브에 exposure_report.csv 를 추가했습니다.
  • content_review.yaml: 신고자의 사용자 ID, 사용자 이름, 선택한 사유, 코멘트, 신고 타임스탬프, 검토 중 메시지가 숨겨졌는지 여부, 그리고 격리가 해결된 후에는 검토자의 사용자 ID, 사용자 이름, 코멘트, 조치 타임스탬프를 포함하여 데이터 유출 이벤트를 기록합니다. 미해결 격리의 경우 검토자 필드는 생략됩니다.
  • exposure_report.csv: 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자를 나열합니다. 이는 검토자가 별도로 다운로드할 수 있는 보고서와 동일한 형식의 동일한 보고서이며, 자체 Report version 메타데이터 줄도 포함합니다. 노출 보고서 버전은 아카이브 형식 버전과 별개의 규약입니다. 아카이브 형식 버전 1.1에는 노출 보고서 버전 1.0이 포함됩니다. 칼럼과 해석 방법은 노출 보고서 내용을 참조하세요.
  • post/post.yaml: 게시물 ID, 작성자 ID, 작성자 이름, 작성자 이메일, 메시지 콘텐츠, 채널 ID, 채널 표시 이름, 팀 ID, 팀 표시 이름, 생성 및 업데이트 타임스탬프, 고정 상태, 루트 ID, 게시물 속성, 게시물 메타데이터, 답글 수(루트 게시물의 경우), 수정 기록 게시물 ID의 정렬된 목록을 포함하여 격리된 메시지를 설명합니다.
  • post/attachments/: 격리된 메시지에 첨부된 원본 파일이 그대로 포함됩니다. 검토자가 해당 채널에서 첨부 파일을 다운로드할 권한이 없는 경우 이 디렉터리는 완전히 제외됩니다.
  • edit_history/<edit_post_id>/: 메시지의 이전 버전마다 하나의 하위 디렉터리가 있으며, 각 디렉터리에는 기본 게시물 디렉터리와 동일한 형식으로 post.yaml 과 attachments/ 디렉터리가 포함됩니다.
  • ATTACHMENTS_OMITTED.txt: 보고서에서 첨부 파일이 제외된 경우에만 존재합니다. 파일 첨부 및 다운로드 정책을 참조하세요.

중복을 방지하기 위해 첨부 파일은 파일 ID를 기준으로 전체 아카이브에서 중복 제거됩니다. 각 고유한 첨부 파일은 정확히 한 번만 나타납니다 — 메시지의 현재 버전에 존재하는 경우 기본 게시물 아래에, 그렇지 않으면 해당 파일을 참조한 가장 이른 수정 기록 항목 아래에 나타납니다.

파일 첨부 및 다운로드 정책#

배포 환경에서 채널 수준 권한 정책 또는 시스템 전체 권한 정책을 사용하여 파일 첨부를 다운로드할 수 있는 사람을 제한하는 경우, 이 정책은 보고서를 생성하는 콘텐츠 검토자에게도 적용됩니다. 콘텐츠 검토자라고 해서 채널의 파일 다운로드 규칙이 면제되지는 않습니다.

Mattermost는 아카이브를 빌드하기 전에 파일 다운로드 작업에 대해 요청한 검토자를 격리된 메시지의 채널을 기준으로 평가합니다:

  • 검토자가 정책을 충족하는 경우, 보고서에는 위에서 설명한 대로 첨부 파일이 포함됩니다.
  • 검토자가 정책을 충족하지 않는 경우, 보고서는 여전히 생성되고 다운로드되지만 첨부 파일은 제외됩니다. post/attachments/ 및 edit_history/<edit_post_id>/attachments/ 디렉터리가 제외되고, 각 섹션의 post.yaml 에서 첨부 파일 메타데이터가 제거되므로 아카이브에는 제외된 파일에 대한 참조가 남지 않습니다. 메시지 콘텐츠, 검토 활동, 보고서 메타데이터 등 보고서의 다른 모든 부분은 영향을 받지 않습니다.

첨부 파일이 제외되어도 보고서는 차단되지 않으므로, 파일에 접근할 수 없는 검토자도 기록 보관을 위해 메시지와 검토 이력을 확보할 수 있습니다.

첨부 파일이 제외되면 Mattermost는 다음 세 곳에서 이를 알립니다:

  • ATTACHMENTS_OMITTED.txt: 첨부 파일 디렉터리 대신 아카이브 루트에 추가되는 일반 텍스트 파일로, "The attachments on this message were omitted from this report because you do not comply with the channel's file download policy." 라는 내용이 담겨 있습니다. 이 파일이 있으면 불완전한 보고서가 나중에 아카이브를 받는 누구에게나 스스로 설명됩니다.
  • 요청한 검토자에게 보내는 알림: Data Spillage Bot 이 해당 검토자의 격리된 메시지 콘텐츠 검토 스레드에 보고서에 파일 첨부가 포함되지 않았음을 설명하는 메시지를 게시합니다. 보고서를 생성한 검토자만 이 알림을 받으며, 다른 검토자는 일반적인 보고서 생성 알림을 받습니다.
  • 감사 로그: generateFlaggedPostReport 감사 항목에는 제외된 첨부 파일의 수를 담은 omitted_attachment_count 매개변수가 기록됩니다. 이 매개변수는 첨부 파일이 실제로 제외된 경우에만 존재하므로, 이 매개변수가 없으면 완전한 보고서임을 나타냅니다.
Note

권한 정책에는 Mattermost Enterprise Advanced 라이선스와 PermissionPolicies 기능 플래그가 필요합니다. 사용하지 않는 환경에서는 보고서를 생성할 수 있는 검토자가 항상 첨부 파일을 받으며, 이 섹션의 동작은 적용되지 않습니다.

게시물 노출 보고서 생성#

Mattermost v11.11부터 검토자는 게시물 노출 보고서를 생성할 수 있습니다. 이는 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자를 나열하는 CSV 파일입니다. 이 보고서는 검토자가 잠재적인 데이터 유출의 영향 범위를 파악하고 후속 조치가 필요한 사람을 결정하는 데 도움이 됩니다.

Warning

게시물 노출 보고서는 격리된 메시지에 누가 노출되었을 수도 있는지를 식별합니다. 누군가 그 메시지를 읽었다는 증거는 아닙니다.

  • 보고서는 채널 멤버십 기록과 채널 읽기 타임스탬프에서 도출됩니다. 둘 다 메시지가 화면에 표시된 적이 있는지는 기록하지 않습니다.
  • 메시지가 게시된 이후의 채널 마지막 조회 시각 타임스탬프는 메시지가 표시되어 있는 동안 사용자가 채널을 열었음을 의미합니다. 메시지가 그 사용자에게 표시되었다거나 그 사용자가 읽었다는 의미는 아닙니다.
  • 보고서는 메시지가 누군가에게 도달할 수 있는 모든 경로를 다루지 않습니다. 푸시 알림과 이메일 알림은 채널을 열지 않은 사용자에게도 메시지 콘텐츠를 전달할 수 있으며, 공개 채널의 콘텐츠는 채널에 참여하지 않아도 접근할 수 있습니다.
  • 보고서는 조사의 출발점으로 취급하고, 컴플라이언스 또는 징계 판단의 유일한 근거로 사용하지 마세요.

보고서가 입증할 수 있는 것과 없는 것은 노출 보고서의 한계를 참조하세요.

게시물 노출 보고서는 다음 진입점 중 한 곳에서 받을 수 있습니다:

  • 격리된 메시지 세부 정보에서: 상세 보기 를 선택한 다음 노출 보고서 행에서 노출 보고서 다운로드 를 선택합니다. 파일은 post-exposure-<post_id>-<timestamp>.csv 로 다운로드됩니다.
  • 격리된 메시지 보고서에서: 보고서 다운로드 로 생성되는 ZIP 아카이브에 exposure_report.csv 로 동일한 데이터가 포함됩니다.

콘텐츠 검토자만 게시물 노출 보고서를 생성할 수 있습니다. 다운로드한 노출 보고서에는 보고된 모든 사용자의 사용자 이름과 이메일 주소가 나열되므로, 격리된 메시지 보고서 아카이브와 동일한 요구 사항에 따라 취급하세요.

노출 보고서 내용#

보고서의 모든 행은 메시지가 게시된 시점부터 메시지가 격리된 시점 사이의 어느 순간에 채널 멤버였던 사용자 한 명을 나타내며, 채널 멤버십 기록에서 가져옵니다. 이 행 집합은 채널 멤버십을 통해 노출되었을 수 있는 사용자의 전체 모집단입니다. 어떤 경로로든 노출되었을 수 있는 사용자의 전체 모집단은 아닙니다.

보고서는 메시지를 봤을 가능성이 높은 사용자의 별도 목록을 만들지 않습니다. 대신 모든 행에 가능성을 판단하는 데 필요한 채널 읽기 상태와 계정 활동 타임스탬프가 담겨 있으므로, 검토자는 겹치는 두 목록을 대조하는 대신 하나의 표를 정렬하고 필터링하여 우선순위를 분류합니다.

보고서 메타데이터는 헤더 행 위에 # 로 시작하는 주석 줄로 작성되므로, 별도의 메타데이터 파일 없이도 파일이 스스로를 설명합니다. 대부분의 도구는 이 줄을 건너뛸 수 있습니다. 예를 들어 Go의 csv.Reader 는 Comment 필드를 '#' 로 설정하고, pandas는 comment='#' 를 사용합니다.

# Report version: 1.0
# Post ID: 8xk3mq7pzjfytr4wn6hb2dcvse
# Channel: Engineering (jr9v2thq5xkfcm8bwd63pnysa4)
# Post created at: 2026-07-14T09:12:03Z
# Flagged at: 2026-07-14T11:48:37Z
# Generated at: 2026-07-14T12:05:19Z
# Total users: 3
User ID,Username,Email,Guest,Remote user,Deactivated,Was channel member,Last viewed channel at (YYYY-MM-DDTHH:MM:SSZ),User last activity time (YYYY-MM-DDTHH:MM:SSZ)
4tqzn8mhs2xdwc7bkgv6yrfpj3,alice.chen,alice.chen@example.com,No,No,No,Yes,2026-07-14T10:31:52Z,2026-07-14T11:59:08Z
mw6cbyx9rntk3f7zqhdps2gjv5,bhavna.rao,bhavna.rao@example.com,No,No,No,Yes,2026-07-02T16:20:44Z,2026-07-14T12:01:44Z
zd7pfk2vqn6ymxb3wcjs9htgr8,carlos.mendes,carlos.mendes@example.com,No,No,Yes,Yes,Unknown,No sessions found

게시물 생성 시각 과 신고 시각 은 멤버십을 확인하는 기준이 되는 보고 기간의 경계를 나타냅니다. 전체 사용자 는 계정 레코드가 더 이상 존재하지 않는 사용자를 건너뛴 후 계산한, 파일의 행 수입니다.

보고서에는 다음 칼럼이 포함됩니다:

  • 사용자 ID: 사용자의 시스템 식별자.
  • 사용자 이름: 사용자의 Mattermost 사용자 이름.
  • 이메일: 사용자의 이메일 주소.
  • 게스트: 사용자가 게스트 계정이면 Yes.
  • 원격 사용자: 사용자가 공유 채널을 통해 원격 서버에 속해 있으면 Yes. 원격 서버의 콘텐츠는 로컬에서 메시지를 숨기거나 제거하는 범위 밖에 있습니다.
  • 비활성화됨: 사용자의 계정이 비활성화되어 있으면 Yes. 사용자를 비활성화해도 노출이 취소되지 않으므로 비활성화된 계정도 계속 보고됩니다.
  • 채널 멤버 여부: 노출 보고서 버전 1.0에서는 항상 Yes. 모든 행은 정의상 채널 멤버이며, 이 칼럼은 다른 노출 경로를 추가할 수 있는 향후 보고서 버전을 위해 예약되어 있습니다.
  • 채널 마지막 조회 시각 (YYYY-MM-DDTHH:MM:SSZ): 메시지가 격리되었을 때 찍은 스냅샷이 아니라, 해당 채널에 대한 사용자의 현재 마지막 조회 타임스탬프. Unknown 은 사용자가 더 이상 채널 멤버가 아니므로 읽기 상태가 없음을 의미합니다. N/A 는 사용자가 멤버이지만 채널을 한 번도 열지 않았음을 의미합니다.
  • 사용자 마지막 활동 시간(YYYY-MM-DDTHH:MM:SSZ): 이 채널이 아니라 Mattermost 전체에서의 사용자의 가장 최근 세션 활동. No sessions found 는 사용자의 세션 레코드가 없음을 의미하며, 비활성화된 계정에서는 항상 이 값이 나옵니다.

후속 조치가 필요한 사람의 범위를 파악하려면 각 행의 채널 마지막 조회 시각 값을 보고서 메타데이터의 게시물 생성 시각 및 신고 시각 값과 비교하세요:

  • Post created at 과 Flagged at 사이: 메시지가 표시되어 있는 동안 사용자가 채널을 열었습니다. 노출 가능성이 있으므로 후속 조치의 우선순위로 두어야 합니다.
  • Flagged at 이후: 사용자의 가장 최근 채널 열기가 보고 기간 밖에 있으므로, 메시지가 표시되어 있는 동안 채널을 열었다는 사실이 입증되지 않습니다. 가장 최근에 연 시점만 기록되므로 그 가능성을 배제하지도 않습니다. 설정에서 검토 중인 격리된 메시지를 숨기지 않는 경우, 이 타임스탬프 시점에도 메시지가 계속 표시되었을 수 있습니다.
  • Post created at 이전: 사용자는 채널 멤버였지만 메시지가 게시되기 전 이후로 채널을 열지 않았습니다. 채널에서의 노출 가능성은 낮지만 배제되지는 않으며, 메시지 콘텐츠가 푸시 또는 이메일 알림을 통해 사용자에게 도달했을 수 있습니다.
  • Unknown 또는 N/A: 사용자의 채널 읽기 상태가 없습니다. 노출 여부는 확정되지 않았습니다. 이 값을 사용자가 메시지를 보지 않았다는 확인으로 해석하지 마세요.
Tip

검토 초기에 노출 보고서를 생성하세요. 채널 마지막 조회 시각 은 실시간 채널 읽기 상태를 반영하므로, 격리가 해결된 이후를 포함하여 사용자가 채널을 다시 열 때마다 값이 바뀝니다.

행은 사용자 이름순, 그다음 사용자 ID순으로 정렬됩니다. 이 순서는 보고된 사용자 모집단과 사용자 이름이 변하지 않는 동안에만 안정적입니다. 사용자 이름 변경이나 삭제된 계정으로 인해 같은 메시지에 대한 두 보고서 사이에서 행 순서나 행 수가 달라질 수 있으므로, 후속 도구는 행 위치가 아니라 사용자 ID 로 사용자를 매칭해야 합니다. 셀 값도 안정적이지 않습니다. 채널 마지막 조회 시각 과 사용자 마지막 활동 시간 은 모두 실시간 상태를 반영하므로, 서로 다른 시점에 생성한 두 보고서는 다를 수 있습니다. Yes, No, Unknown, N/A, No sessions found 를 포함한 칼럼 제목과 값은 보고서를 생성한 검토자의 언어로 현지화됩니다. 후속 도구는 영어 문자열로 매칭해서는 안 됩니다.

노출 보고서의 한계#

보고서는 채널 멤버십 기록과 채널 읽기 상태에서 도출되므로 입증할 수 있는 범위에 제약이 있습니다:

  • 알림 전달은 포함되지 않음: 사용자는 채널을 한 번도 열지 않고도 메시지 콘텐츠에 노출될 수 있습니다. 푸시 알림과 이메일 알림은 푸시 알림 콘텐츠 및 이메일 알림 콘텐츠 설정에 따라 메시지 텍스트를 포함할 수 있습니다. 알림은 보고서에 반영되지 않으므로, 이른 시점의 채널 마지막 조회 시각 값이 노출을 배제하지 않습니다.
  • 멤버십 없이 공개 채널에 접근한 경우는 포함되지 않음: 보고서는 채널 멤버만 나열합니다. 공개 채널에서는 채널에 참여한 적이 없는 사용자에게도 메시지가 도달할 수 있습니다. 메시지 링크가 다른 채널에 공유될 때 렌더링되는 게시물 퍼머링크 미리보기를 통하거나, 멤버십 없이 공개 채널 검색이 활성화된 경우 검색을 통해서입니다. 이러한 사용자는 보고서에 나타나지 않습니다.
  • 봇은 제외됨: 봇 계정은 보고서에서 생략됩니다.
  • 메시지가 격리된 이후에 참여한 사용자는 제외됨: 멤버십은 보고 기간에 대해서만 확인됩니다.
  • 탈퇴했다가 다시 참여한 사용자는 한 번만 표시됨: 보고서는 사용자 목록이므로 여러 멤버십 기간이 하나의 행으로 합쳐집니다. 개별 참여 및 탈퇴 시각은 보고되지 않습니다.
  • 탈퇴한 후 다시 참여하지 않은 사용자는 포함됨: 이전 멤버에 대해서는 채널 읽기 상태가 남아 있지 않으므로 채널 마지막 조회 시각 이 Unknown 으로 설정되어 보고됩니다.
  • 게스트와 원격 사용자는 포함됨: 둘 다 각자의 칼럼으로 식별됩니다.
  • 보관된 채널도 지원됨: 보관된 채널의 멤버도 평소와 같이 보고됩니다.
  • 삭제된 계정은 생략됨: 사용자의 계정 레코드가 더 이상 존재하지 않으면 해당 사용자는 건너뛰며, 전체 사용자 는 건너뛴 후의 수를 반영합니다.

노출 보고서를 생성하면 보고서에 포함된 각 사용자의 세션 활동을 개별적으로 조회하며, 다운로드가 시작되기 전에 전체 보고서가 메모리에서 조립됩니다. 멤버가 수천 명인 채널에서는 생성 시간이 그에 비례하여 길어질 수 있습니다.

삭제된 메시지#

검토자가 격리된 메시지를 영구적으로 제거하면, 메시지와 관련된 모든 데이터가 데이터베이스와 파일 시스템에서 삭제되며 복구할 수 없습니다. 삭제 대상은 다음과 같습니다:

  • 게시물 레코드: 메시지의 텍스트와 관련된 게시물 속성. 콘텐츠는 게시물이 삭제되기 전에 먼저 삭제 처리됩니다.
  • 파일 첨부: Mattermost의 파일 스토리지(로컬, S3 등)에 저장된 파일.
  • 파일 첨부 레코드: 파일 이름, ID, 스토리지 링크를 포함하여 메시지에 대한 파일 정보 데이터베이스 행.
  • 수정 기록: 각 리비전의 파일 메타데이터를 포함한 메시지의 모든 이전 리비전.
  • 우선순위 메타데이터: 메시지 우선순위 또는 중요도 설정.
  • 지속 알림: 메시지에 첨부된 반복 알림.
  • 확인: 메시지를 확인한 사용자 기록.
  • 리마인더: 메시지에 대해 생성된 리마인더.
  • 스레드, 답글, 반응: 메시지와 연관된 스레드 레코드, 답글, 반응 데이터(있는 경우).

게시물 삭제 보고서#

검토자가 메시지 제거 를 선택하면, Data Spillage Bot 이 해당 격리된 메시지에 대한 검토자의 콘텐츠 검토 스레드에 게시물 삭제 보고서 를 게시합니다. 이 보고서는 원래 격리 알림을 받은 모든 검토자에게 전달되며, 각 검토자의 언어로 현지화됩니다. 각 게시물에는 인라인으로 렌더링된 간략한 요약과 deletion_report_<post_id>.md 라는 이름의 Markdown 파일로 첨부된 전체 보고서가 포함됩니다.

이 보고서는 메시지와 관련 데이터에 대해 수행된 모든 정리 단계를 기록합니다. 이 단계들은 삭제된 메시지에 나열된 데이터 범위와 직접 대응됩니다:

  • 파일 첨부: 파일 스토리지에서 제거된 파일.
  • 파일 첨부 레코드: 메시지에 대한 파일 정보 데이터베이스 행.
  • 편집 기록: 메시지의 모든 이전 리비전. 각 리비전은 개별 하위 단계로 보고되어 검토자가 정확히 어떤 리비전이 정리되었는지 확인할 수 있습니다.
  • 우선순위 메타데이터: 메시지 우선순위 및 중요도 설정.
  • 지속 알림: 메시지에 첨부된 반복 알림.
  • 확인: 메시지를 확인한 사용자 기록.
  • 리마인더: 메시지에 설정된 리마인더.
  • 스레드, 답글, 반응: 메시지와 연관된 스레드 레코드, 답글, 반응 데이터.
  • 게시물 레코드: 게시물 자체. 게시물이 삭제되기 전에 콘텐츠가 삭제 처리됩니다.

각 단계에는 다음 상태 중 하나가 지정됩니다:

  • 제거됨 ✅: 데이터가 성공적으로 삭제되었습니다.
  • 해당 없음 ➖: 삭제할 이 유형의 데이터가 없었습니다.
  • 부분 삭제 ⚠️: 이 유형의 일부 항목은 삭제되었지만 적어도 하나는 실패했습니다. 이 상태는 하나의 리비전을 삭제할 수 없는 경우 편집 기록 아래에서 가장 자주 나타납니다.
  • 실패 ❌: 단계가 완료되지 않았습니다. 보고서에는 검토자와 시스템 관리자가 무엇이 잘못되었는지 확인할 수 있도록 오류 로그가 포함됩니다.

모든 단계가 제거됨 또는 해당 없음 인 경우 추가 조치가 필요하지 않습니다. 이 보고서는 삭제에 대한 감사 가능한 기록으로 사용됩니다.

어느 단계라도 부분 삭제 또는 실패 로 보고되면, 보고서에 incomplete 경고가 표시됩니다. 검토자는 시스템 관리자에게 에스컬레이션해야 하며, 시스템 관리자는 단계별 전체 오류 로그가 포함된 첨부 deletion_report_<postId>.md 파일을 사용하여 수동 복구를 수행하고 데이터가 완전히 제거되었는지 확인할 수 있습니다.

Note

게시물 삭제 보고서는 게시물 제거 감사에 대한 단일 진실 공급원(Single Source Of Truth, SSOT)입니다. System Console의 다른 곳에는 저장되지 않으므로, 보고서가 포함된 검토자 스레드는 조직의 감사 보존 정책에 따라 보관해야 합니다.

게시물 전달 감사 로깅#

Mattermost v12.0부터 Mattermost는 대상 채널에서 메시지가 전달될 때마다 감사 로그 항목을 기록할 수 있으므로, 특정 메시지가 어떤 사용자, 플러그인, 아웃고잉 웹훅에 전달되었는지 확인할 수 있습니다. 다이렉트 메시지 채널과 그룹 메시지 채널은 대상이 되지 않습니다. 전달 기록은 스토리지와 처리 비용을 추가하므로 필요한 곳에서만 활성화하세요.

Note

게시물 전달 감사 로깅은 현재 Beta 상태입니다.

전달 기록은 감사 로그에만 작성됩니다. Mattermost 인터페이스 어디에도 표시되지 않으며 어떤 Mattermost 보고서에도 포함되지 않습니다. 이를 사용하려면 나머지 Mattermost 감사 로그에 사용하는 것과 동일한 파이프라인으로 수집하세요.

Important

게시물 전달 감사 로깅에는 기본적으로 비활성화된 기능 플래그 MM_FEATUREFLAGS_POSTDELIVERYTRACKING 가 필요하며, 활성화한 후 서버를 다시 시작해야 합니다.

Warning

audit-delivery 로그 레벨을 사용하는 감사 로그 타깃이 없으면 전달 기록은 폐기됩니다. 이러한 타깃을 설정하지 않고 이 설정을 활성화하면 아무것도 기록되지 않으며, Mattermost는 해당 구성을 차단하지 않습니다. 타깃을 먼저 설정하세요.

게시물 전달 감사 로깅을 활성화하려면:

  1. audit-delivery 로그 레벨을 사용하는 감사 로그 타깃을 추가합니다. 게시물 전달 감사 로깅을 참조하세요.

  2. System Console > Site Configuration > Data Spillage Handling 으로 이동하여 게시물 전달 감사 로깅 을 찾습니다.

  3. 게시물 전달 감사 로깅 활성화 을 True 로 설정합니다.

  4. 전달 기록 대상 을 설정합니다:

    • 모든 채널: 대상이 되는 모든 채널에서 전달을 기록합니다. 가장 완전한 옵션이며 비용도 가장 많이 듭니다.
    • 선택한 채널: 선택한 대상 채널에서만 전달을 기록합니다. 채널이 하나 이상 필요합니다.
  5. 선택한 채널 로 설정한 경우 전달 기록 대상 채널 을 사용하여 채널을 선택합니다. 다이렉트 메시지 채널과 그룹 메시지 채널은 선택할 수 없습니다. 기록은 저장하는 시점에 시작되며, 이후 채널 로드, 검색, 가져오기를 통해 전달되는 기존 메시지를 포함하여 그때부터 전달되는 대상 메시지 콘텐츠에 적용됩니다.

게시물 전달 감사 로깅 활성화 과 전달 기록 대상 은 config.json 파일이나 환경 변수를 통해서도 설정할 수 있습니다.

채널 목록은 config.json 에 저장되지 않습니다. Mattermost가 데이터베이스에 저장하므로 System Console 또는 /api/v4/delivery_tracking/config API 엔드포인트를 통해 관리하세요. ChannelIds 를 생략한 PUT 요청은 저장된 목록을 변경하지 않습니다. 빈 배열은 전달 기록 대상 이 모든 채널 로 설정된 경우 목록을 지우고, 선택한 채널 로 설정된 경우에는 채널이 하나 이상 필요하므로 거부됩니다. Mattermost API 레퍼런스를 참조하세요.

Tip

전달 기록의 형식, 기록되는 모든 전달 메커니즘, 기록되지 않는 항목, 기록을 해석하는 방법은 게시물 전달 감사 로깅을 참조하세요.

모범 사례 권고#

데이터 유출 처리를 조직 전체에 롤아웃하기 전에, 이 기능이 우발적인 데이터 유출로부터 사용자와 조직 모두를 보호한다는 점을 알리는 것을 권장합니다. 파일럿 팀으로 시작하여 검토자 알림과 워크플로를 검증하고, 기존 데이터 처리 또는 인시던트 대응 플레이북과 프로세스를 통합하며, 모든 결정이 투명하고 감사 가능하도록 신고자 및 검토자 코멘트를 필수화하세요.

데이터 유출 처리

Mattermost v12.0
원문 보기

요약

데이터 유출 처리(Data Spillage Handling)는 우발적인 데이터 유출을 방지하고 협업을 방해하지 않으면서 잠재적인 유출에 신속히 대응할 수 있도록 시스템 관리자를 지원합니다. 모든 팀원이 민감 데이터 노출에 대한 첫 번째 방어선이 됨으로써 데이터 유출 처리는 미션 크리티컬하고 안전한 배포를 강화하고 조직 및 규제 데이터 처리 기준 준수를 지원합니다.

사용 가능 플랜: Entry, Enterprise Advanced

데이터 유출 처리(Data Spillage Handling)는 우발적인 데이터 유출을 방지하고 협업을 방해하지 않으면서 잠재적인 유출에 신속히 대응할 수 있도록 시스템 관리자를 지원합니다. 이 기능을 활성화하면 Mattermost 사용자가 민감하거나 규제되거나 부적절한 정보가 포함될 수 있는 메시지를 신고할 수 있으며, 지정된 콘텐츠 검토자가 격리된 메시지를 평가하고 제거하거나 기각하는 적절한 조치를 취할 수 있습니다.

모든 팀원이 민감 데이터 노출에 대한 첫 번째 방어선이 됨으로써 데이터 유출 처리는 미션 크리티컬하고 안전한 배포를 강화하고 조직 및 규제 데이터 처리 기준 준수를 지원합니다.

시작하기 전에#

Mattermost에서 시스템 관리자여야 합니다. 격리된 메시지의 콘텐츠 검토자가 될 사람을 식별하고, 검토 중인 격리된 메시지를 Mattermost에서 사용자에게 숨길지 결정해야 합니다.

활성화#

데이터 유출 처리는 기본적으로 활성화되어 있지 않습니다. 데이터 유출 처리를 활성화하려면:

  1. System Console > Site Configuration > Data Spillage Handling 으로 이동합니다.
  2. 데이터 유출 처리 활성화 을 True 로 설정합니다.

또는 config.json 파일이나 환경 변수를 통해 데이터 유출 처리를 설정할 수 있습니다.

설정#

  1. 콘텐츠 검토자 아래에서 격리된 콘텐츠를 검토할 사람을 정의합니다:

    • 모든 팀에 동일한 검토자: True 로 설정하면 모든 팀에 하나의 전역 검토자 목록을 적용하고, False 로 설정하면 팀별로 검토자를 설정합니다.
    • 검토자: 검색하려면 입력하여 콘텐츠 검토자로 지정할 사용자를 찾습니다.
Important
검토자를 신중하게 선택하세요. 검토자 역할을 할당하면 잠재적으로 민감한 정보에 대한 접근 권한이 부여되며 비공개 채널의 데이터가 노출될 수 있습니다.

- 전역 검토자는 자신이 멤버가 아닌 비공개 채널을 포함한 모든 팀과 채널의 격리된 메시지를 볼 수 있습니다.
- 팀별 검토자는 자신이 멤버가 아닌 해당 팀 내 비공개 채널을 포함하여 배정된 팀의 격리된 메시지를 볼 수 있습니다.

- **추가 검토자**: 선택적으로 포함:
  - **시스템 관리자**: 시스템 관리자는 자신이 속한 모든 팀의 격리된 메시지를 받습니다.
  - **팀 관리자**: 팀 관리자는 각자의 팀에 대한 격리된 메시지를 받습니다.

2. 알림 설정 아래에서 콘텐츠가 격리되거나 검토될 때 격리 워크플로의 각 단계에서 누가 업데이트를 받을지 지정합니다:

- **콘텐츠 격리 시 알림**: 검토자, 작성자.
- **검토자 배정 시 알림**: 검토자.
- **콘텐츠 제거 시 알림**: 검토자, 작성자, 신고자.
- **기각 시 알림**: 검토자, 작성자, 신고자.

모든 알림은 **Data Spillage Bot** 을 통해 다이렉트 메시지로 전송됩니다.

3. 추가 설정 아래에서 격리 워크플로의 동작 방식을 설정합니다:

- **격리 사유**: 사용자를 위한 격리 대화 상자에 표시될 사전 설정 카테고리를 정의합니다(예: **Classification mismatch**, **알 필요성 위반**, **개인 식별 정보(PII) 노출**, **작전 보안(OPSEC) 우려**, **Controlled Unclassified Information (CUI) violation**).
- **신고자 코멘트 필수**: **True** 로 설정하면 사용자가 메시지를 격리할 때 짧은 설명을 추가해야 합니다.
- **검토자 코멘트 필수**: **True** 로 설정하면 검토자가 격리를 해제할 때 코멘트를 추가해야 합니다.
- **검토 중 채널에서 메시지 숨기기**: **True** 로 설정하면 검토가 완료될 때까지 격리된 메시지를 채널에서 자동으로 숨깁니다. 루트 게시물이 격리되면 전체 스레드가 숨겨집니다.

4. 게시물 전달 감사 로깅 아래에서 메시지가 전달된 각 사용자, 플러그인, 아웃고잉 웹훅을 기록합니다:

- **게시물 전달 감사 로깅 활성화**: **True** 로 설정하면 대상 채널에서 메시지가 전달될 때마다 감사 로그 항목을 기록합니다. 이 기록은 감사 로그에만 작성되며 Mattermost 인터페이스 어디에도 표시되지 않습니다.
- **전달 기록 대상**: **모든 채널** 를 선택하거나, **선택한 채널** 를 선택하여 특정 채널로 기록 대상을 제한합니다.
- **전달 기록 대상 채널**: **선택한 채널** 로 설정한 경우 전달 기록을 남길 채널을 선택합니다.

다이렉트 메시지 채널과 그룹 메시지 채널은 **전달 기록 대상** 설정과 관계없이 대상이 되지 않습니다. 자세한 내용은 [게시물 전달 감사 로깅](#post-delivery-audit-logging)을 참조하세요.
Tip

투명성, 책임성, 감사 가능한 조치 기록을 유지하려면 검토 중 채널에서 메시지 숨기기 를 활성화하고 신고자와 검토자 모두에게 코멘트를 요구하는 것을 권장합니다.

격리된 메시지 모니터링#

사용자가 메시지를 격리하면, Data Spillage Bot 이 모든 콘텐츠 검토자에게 다이렉트 메시지를 보냅니다.

Data Spillage Bot 의 다이렉트 메시지는 중앙 집중식 관리 큐로, 검토자가 Mattermost를 벗어나지 않고도 격리된 메시지를 보고, 배정하고, 조치를 취할 수 있습니다. 검토자는 이를 사용하여 잠재적인 데이터 유출을 모니터링하고, 대응을 조율하며, 검토 활동의 감사 가능한 기록을 유지할 수 있습니다.

각 격리된 메시지는 다음을 포함하는 카드 형식의 메시지로 표시됩니다:

  • 격리한 사용자: 메시지를 신고한 사용자.
  • 상태: 검토의 현재 상태. 모든 격리된 콘텐츠는 대기 중 상태로 시작됩니다.
  • 사유: 신고자가 선택한 이유(예: Classification mismatch, 알 필요성 위반).
  • 메시지 미리보기: 작성자, 타임스탬프, 원래 채널을 포함한 격리된 메시지의 스니펫.
  • 검토자: 현재 메시지 검토를 배정받은 사용자(초기에는 미배정).
  • 채널: 메시지가 원래 게시된 채널 이름.
  • 팀: 격리된 메시지의 팀 컨텍스트.
  • 댓글: 신고자가 제공한 컨텍스트.
  • 게시물 ID: 감사 목적을 위한 원본 메시지의 시스템 식별자.

검토자는 상세 보기 를 선택하여 다음 조치를 취할 수 있습니다:

  • 격리된 메시지를 검토할 검토자 를 배정합니다.
  • 메시지 제거: 모든 사용자를 위해 원래 채널에서 격리된 메시지를 영구적으로 삭제합니다. 격리된 메시지의 상태가 제거됨 로 변경됩니다.
  • 메시지 유지: 격리를 기각하고 숨겨진 경우 메시지를 복원합니다. 격리된 메시지의 상태가 유지됨 로 변경됩니다.
  • 댓글 추가: 필요한 경우 결정 이유를 기록합니다.
  • 보고서 생성: 기록 보관 또는 인시던트 대응을 위해 격리된 메시지와 검토 활동에 대한 보고서를 다운로드합니다. 자세한 내용은 격리된 메시지 보고서 생성을 참조하세요.
  • 노출 보고서 다운로드: Mattermost v11.11부터, 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자의 보고서를 다운로드합니다. 자세한 내용은 게시물 노출 보고서 생성을 참조하세요.

조치가 취해지면 상태 필드가 자동으로 업데이트됩니다. Data Spillage Bot 은 데이터 유출 처리가 설정된 방식에 따라 신고자, 작성자, 다른 검토자에게 후속 알림을 보냅니다.

격리된 메시지 보고서 생성#

검토자는 격리된 메시지의 전체 컨텍스트와 관련 검토 활동을 포함하는 다운로드 가능한 보고서를 생성할 수 있습니다. 보고서는 기록 보관, 인시던트 대응, 메시지가 영구적으로 제거되기 전에 증거를 보존하는 데 유용합니다.

보고서는 다음 진입점 중 어느 곳에서든 생성할 수 있습니다:

  • 격리된 메시지 세부 정보에서: 메시지 세부 정보 패널에서 보고서 다운로드 를 선택합니다. 이 옵션은 대기 중, 검토자 배정됨, 제거됨, 유지됨 등 격리 상태와 관계없이 사용할 수 있습니다.
  • Remove message 흐름에서: 메시지 제거 를 선택하면 확인 대화 상자에 기본적으로 선택된 격리된 메시지 보고서 다운로드 체크박스가 표시됩니다. 체크박스가 선택된 상태에서는 메시지를 영구적으로 제거하기 전에 Mattermost가 보고서를 생성하고 다운로드합니다. 이 안전장치는 메시지 콘텐츠가 삭제되기 전에 기록이 사용자 디바이스에 보존되도록 보장합니다.
  • Keep message 흐름에서: 메시지 유지 를 선택하면 확인 대화 상자에 동일한 체크박스가 표시됩니다. 체크박스가 선택된 상태에서는 유지 작업이 완료되는 동안 Mattermost가 백그라운드에서 보고서를 생성하고 다운로드합니다.

메시지 제거 또는 메시지 유지 흐름에서 보고서 다운로드를 건너뛰기로 선택하면, Mattermost는 보고서 없이 진행할 것인지 확인을 요청합니다. 건너뛰기 결정은 감사 로그에 기록됩니다.

보고서 생성이 실패하면(예: 네트워크 중단이나 세션 시간 초과로 인해), 대화 상자에 오류가 표시되고 재시도 옵션이 제공됩니다. 보고서를 건너뛰고 작업을 진행하거나, 취소하고 나중에 메시지 세부 정보에서 보고서를 다운로드할 수도 있습니다.

검토자가 격리된 메시지 보고서 또는 게시물 노출 보고서를 생성할 때마다 Data Spillage Bot 이 모든 콘텐츠 검토자에게 알림을 보내, 유출 가능성이 있는 데이터의 사본을 확보할 때마다 감사 가능한 기록이 남도록 합니다. 보고서가 메시지의 파일 첨부 없이 생성된 경우, 봇은 보고서를 요청한 검토자에게 그 이유를 설명하는 알림을 추가로 보냅니다. 자세한 내용은 파일 첨부 및 다운로드 정책을 참조하세요.

Tip

메시지를 제거하기 전에 보고서를 생성하는 것을 권장합니다. 메시지가 제거되면 콘텐츠, 첨부 파일, 수정 기록이 영구적으로 삭제되며 복구할 수 없습니다.

보고서 내용 및 형식#

각 격리된 메시지 보고서는 YAML 메타데이터 파일, 원본 파일 첨부, 그리고 Mattermost v11.11부터는 CSV 노출 보고서를 포함하는 ZIP 아카이브입니다. 메타데이터 파일에 YAML을 사용하는 이유는 사람이 읽을 수 있으면서도 기계가 파싱할 수 있기 때문이며, 이는 수동 검토뿐 아니라 후속 컴플라이언스 또는 인시던트 대응 도구에서의 처리에도 보고서를 적합하게 만듭니다. 노출 보고서는 검토자가 스프레드시트에서 바로 열 수 있도록 CSV 형식입니다.

Warning

보고서 아카이브에는 격리된 메시지 콘텐츠, 첨부 파일, 관련된 사용자의 사용자 ID, 사용자 이름, 이메일 주소가 포함됩니다. 다운로드한 보고서는 해당 민감도의 데이터에 대해 승인된 위치를 통해서만 저장하고 전송하며, 필요한 사람으로 접근을 제한하고, 조직의 보존 및 안전한 삭제 요구 사항을 적용하세요.

아카이브는 다음과 같은 구조를 갖습니다:

/
├── report_metadata.yaml
├── content_review.yaml
├── exposure_report.csv
├── ATTACHMENTS_OMITTED.txt   # only when attachments are withheld
├── post/
│   ├── post.yaml
│   └── attachments/
│       └── <original attachment files>
└── edit_history/
    └── <edit_post_id>/
        ├── post.yaml
        └── attachments/
            └── <original attachment files>
  • report_metadata.yaml: 보고서를 생성한 검토자의 사용자 ID와 사용자 이름, 생성 타임스탬프, 아카이브 형식 버전(향후 릴리즈에서 아카이브 형식이 변경될 경우 상위 호환성을 위해 사용됨)을 포함하여 보고서 자체를 식별합니다. Mattermost v11.11에서 도입된 아카이브 형식 버전 1.1은 아카이브에 exposure_report.csv 를 추가했습니다.
  • content_review.yaml: 신고자의 사용자 ID, 사용자 이름, 선택한 사유, 코멘트, 신고 타임스탬프, 검토 중 메시지가 숨겨졌는지 여부, 그리고 격리가 해결된 후에는 검토자의 사용자 ID, 사용자 이름, 코멘트, 조치 타임스탬프를 포함하여 데이터 유출 이벤트를 기록합니다. 미해결 격리의 경우 검토자 필드는 생략됩니다.
  • exposure_report.csv: 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자를 나열합니다. 이는 검토자가 별도로 다운로드할 수 있는 보고서와 동일한 형식의 동일한 보고서이며, 자체 Report version 메타데이터 줄도 포함합니다. 노출 보고서 버전은 아카이브 형식 버전과 별개의 규약입니다. 아카이브 형식 버전 1.1에는 노출 보고서 버전 1.0이 포함됩니다. 칼럼과 해석 방법은 노출 보고서 내용을 참조하세요.
  • post/post.yaml: 게시물 ID, 작성자 ID, 작성자 이름, 작성자 이메일, 메시지 콘텐츠, 채널 ID, 채널 표시 이름, 팀 ID, 팀 표시 이름, 생성 및 업데이트 타임스탬프, 고정 상태, 루트 ID, 게시물 속성, 게시물 메타데이터, 답글 수(루트 게시물의 경우), 수정 기록 게시물 ID의 정렬된 목록을 포함하여 격리된 메시지를 설명합니다.
  • post/attachments/: 격리된 메시지에 첨부된 원본 파일이 그대로 포함됩니다. 검토자가 해당 채널에서 첨부 파일을 다운로드할 권한이 없는 경우 이 디렉터리는 완전히 제외됩니다.
  • edit_history/<edit_post_id>/: 메시지의 이전 버전마다 하나의 하위 디렉터리가 있으며, 각 디렉터리에는 기본 게시물 디렉터리와 동일한 형식으로 post.yaml 과 attachments/ 디렉터리가 포함됩니다.
  • ATTACHMENTS_OMITTED.txt: 보고서에서 첨부 파일이 제외된 경우에만 존재합니다. 파일 첨부 및 다운로드 정책을 참조하세요.

중복을 방지하기 위해 첨부 파일은 파일 ID를 기준으로 전체 아카이브에서 중복 제거됩니다. 각 고유한 첨부 파일은 정확히 한 번만 나타납니다 — 메시지의 현재 버전에 존재하는 경우 기본 게시물 아래에, 그렇지 않으면 해당 파일을 참조한 가장 이른 수정 기록 항목 아래에 나타납니다.

파일 첨부 및 다운로드 정책#

배포 환경에서 채널 수준 권한 정책 또는 시스템 전체 권한 정책을 사용하여 파일 첨부를 다운로드할 수 있는 사람을 제한하는 경우, 이 정책은 보고서를 생성하는 콘텐츠 검토자에게도 적용됩니다. 콘텐츠 검토자라고 해서 채널의 파일 다운로드 규칙이 면제되지는 않습니다.

Mattermost는 아카이브를 빌드하기 전에 파일 다운로드 작업에 대해 요청한 검토자를 격리된 메시지의 채널을 기준으로 평가합니다:

  • 검토자가 정책을 충족하는 경우, 보고서에는 위에서 설명한 대로 첨부 파일이 포함됩니다.
  • 검토자가 정책을 충족하지 않는 경우, 보고서는 여전히 생성되고 다운로드되지만 첨부 파일은 제외됩니다. post/attachments/ 및 edit_history/<edit_post_id>/attachments/ 디렉터리가 제외되고, 각 섹션의 post.yaml 에서 첨부 파일 메타데이터가 제거되므로 아카이브에는 제외된 파일에 대한 참조가 남지 않습니다. 메시지 콘텐츠, 검토 활동, 보고서 메타데이터 등 보고서의 다른 모든 부분은 영향을 받지 않습니다.

첨부 파일이 제외되어도 보고서는 차단되지 않으므로, 파일에 접근할 수 없는 검토자도 기록 보관을 위해 메시지와 검토 이력을 확보할 수 있습니다.

첨부 파일이 제외되면 Mattermost는 다음 세 곳에서 이를 알립니다:

  • ATTACHMENTS_OMITTED.txt: 첨부 파일 디렉터리 대신 아카이브 루트에 추가되는 일반 텍스트 파일로, "The attachments on this message were omitted from this report because you do not comply with the channel's file download policy." 라는 내용이 담겨 있습니다. 이 파일이 있으면 불완전한 보고서가 나중에 아카이브를 받는 누구에게나 스스로 설명됩니다.
  • 요청한 검토자에게 보내는 알림: Data Spillage Bot 이 해당 검토자의 격리된 메시지 콘텐츠 검토 스레드에 보고서에 파일 첨부가 포함되지 않았음을 설명하는 메시지를 게시합니다. 보고서를 생성한 검토자만 이 알림을 받으며, 다른 검토자는 일반적인 보고서 생성 알림을 받습니다.
  • 감사 로그: generateFlaggedPostReport 감사 항목에는 제외된 첨부 파일의 수를 담은 omitted_attachment_count 매개변수가 기록됩니다. 이 매개변수는 첨부 파일이 실제로 제외된 경우에만 존재하므로, 이 매개변수가 없으면 완전한 보고서임을 나타냅니다.
Note

권한 정책에는 Mattermost Enterprise Advanced 라이선스와 PermissionPolicies 기능 플래그가 필요합니다. 사용하지 않는 환경에서는 보고서를 생성할 수 있는 검토자가 항상 첨부 파일을 받으며, 이 섹션의 동작은 적용되지 않습니다.

게시물 노출 보고서 생성#

Mattermost v11.11부터 검토자는 게시물 노출 보고서를 생성할 수 있습니다. 이는 격리된 메시지가 채널에 표시되어 있던 동안 해당 메시지에 노출되었을 수 있는 사용자를 나열하는 CSV 파일입니다. 이 보고서는 검토자가 잠재적인 데이터 유출의 영향 범위를 파악하고 후속 조치가 필요한 사람을 결정하는 데 도움이 됩니다.

Warning

게시물 노출 보고서는 격리된 메시지에 누가 노출되었을 수도 있는지를 식별합니다. 누군가 그 메시지를 읽었다는 증거는 아닙니다.

  • 보고서는 채널 멤버십 기록과 채널 읽기 타임스탬프에서 도출됩니다. 둘 다 메시지가 화면에 표시된 적이 있는지는 기록하지 않습니다.
  • 메시지가 게시된 이후의 채널 마지막 조회 시각 타임스탬프는 메시지가 표시되어 있는 동안 사용자가 채널을 열었음을 의미합니다. 메시지가 그 사용자에게 표시되었다거나 그 사용자가 읽었다는 의미는 아닙니다.
  • 보고서는 메시지가 누군가에게 도달할 수 있는 모든 경로를 다루지 않습니다. 푸시 알림과 이메일 알림은 채널을 열지 않은 사용자에게도 메시지 콘텐츠를 전달할 수 있으며, 공개 채널의 콘텐츠는 채널에 참여하지 않아도 접근할 수 있습니다.
  • 보고서는 조사의 출발점으로 취급하고, 컴플라이언스 또는 징계 판단의 유일한 근거로 사용하지 마세요.

보고서가 입증할 수 있는 것과 없는 것은 노출 보고서의 한계를 참조하세요.

게시물 노출 보고서는 다음 진입점 중 한 곳에서 받을 수 있습니다:

  • 격리된 메시지 세부 정보에서: 상세 보기 를 선택한 다음 노출 보고서 행에서 노출 보고서 다운로드 를 선택합니다. 파일은 post-exposure-<post_id>-<timestamp>.csv 로 다운로드됩니다.
  • 격리된 메시지 보고서에서: 보고서 다운로드 로 생성되는 ZIP 아카이브에 exposure_report.csv 로 동일한 데이터가 포함됩니다.

콘텐츠 검토자만 게시물 노출 보고서를 생성할 수 있습니다. 다운로드한 노출 보고서에는 보고된 모든 사용자의 사용자 이름과 이메일 주소가 나열되므로, 격리된 메시지 보고서 아카이브와 동일한 요구 사항에 따라 취급하세요.

노출 보고서 내용#

보고서의 모든 행은 메시지가 게시된 시점부터 메시지가 격리된 시점 사이의 어느 순간에 채널 멤버였던 사용자 한 명을 나타내며, 채널 멤버십 기록에서 가져옵니다. 이 행 집합은 채널 멤버십을 통해 노출되었을 수 있는 사용자의 전체 모집단입니다. 어떤 경로로든 노출되었을 수 있는 사용자의 전체 모집단은 아닙니다.

보고서는 메시지를 봤을 가능성이 높은 사용자의 별도 목록을 만들지 않습니다. 대신 모든 행에 가능성을 판단하는 데 필요한 채널 읽기 상태와 계정 활동 타임스탬프가 담겨 있으므로, 검토자는 겹치는 두 목록을 대조하는 대신 하나의 표를 정렬하고 필터링하여 우선순위를 분류합니다.

보고서 메타데이터는 헤더 행 위에 # 로 시작하는 주석 줄로 작성되므로, 별도의 메타데이터 파일 없이도 파일이 스스로를 설명합니다. 대부분의 도구는 이 줄을 건너뛸 수 있습니다. 예를 들어 Go의 csv.Reader 는 Comment 필드를 '#' 로 설정하고, pandas는 comment='#' 를 사용합니다.

# Report version: 1.0
# Post ID: 8xk3mq7pzjfytr4wn6hb2dcvse
# Channel: Engineering (jr9v2thq5xkfcm8bwd63pnysa4)
# Post created at: 2026-07-14T09:12:03Z
# Flagged at: 2026-07-14T11:48:37Z
# Generated at: 2026-07-14T12:05:19Z
# Total users: 3
User ID,Username,Email,Guest,Remote user,Deactivated,Was channel member,Last viewed channel at (YYYY-MM-DDTHH:MM:SSZ),User last activity time (YYYY-MM-DDTHH:MM:SSZ)
4tqzn8mhs2xdwc7bkgv6yrfpj3,alice.chen,alice.chen@example.com,No,No,No,Yes,2026-07-14T10:31:52Z,2026-07-14T11:59:08Z
mw6cbyx9rntk3f7zqhdps2gjv5,bhavna.rao,bhavna.rao@example.com,No,No,No,Yes,2026-07-02T16:20:44Z,2026-07-14T12:01:44Z
zd7pfk2vqn6ymxb3wcjs9htgr8,carlos.mendes,carlos.mendes@example.com,No,No,Yes,Yes,Unknown,No sessions found

게시물 생성 시각 과 신고 시각 은 멤버십을 확인하는 기준이 되는 보고 기간의 경계를 나타냅니다. 전체 사용자 는 계정 레코드가 더 이상 존재하지 않는 사용자를 건너뛴 후 계산한, 파일의 행 수입니다.

보고서에는 다음 칼럼이 포함됩니다:

  • 사용자 ID: 사용자의 시스템 식별자.
  • 사용자 이름: 사용자의 Mattermost 사용자 이름.
  • 이메일: 사용자의 이메일 주소.
  • 게스트: 사용자가 게스트 계정이면 Yes.
  • 원격 사용자: 사용자가 공유 채널을 통해 원격 서버에 속해 있으면 Yes. 원격 서버의 콘텐츠는 로컬에서 메시지를 숨기거나 제거하는 범위 밖에 있습니다.
  • 비활성화됨: 사용자의 계정이 비활성화되어 있으면 Yes. 사용자를 비활성화해도 노출이 취소되지 않으므로 비활성화된 계정도 계속 보고됩니다.
  • 채널 멤버 여부: 노출 보고서 버전 1.0에서는 항상 Yes. 모든 행은 정의상 채널 멤버이며, 이 칼럼은 다른 노출 경로를 추가할 수 있는 향후 보고서 버전을 위해 예약되어 있습니다.
  • 채널 마지막 조회 시각 (YYYY-MM-DDTHH:MM:SSZ): 메시지가 격리되었을 때 찍은 스냅샷이 아니라, 해당 채널에 대한 사용자의 현재 마지막 조회 타임스탬프. Unknown 은 사용자가 더 이상 채널 멤버가 아니므로 읽기 상태가 없음을 의미합니다. N/A 는 사용자가 멤버이지만 채널을 한 번도 열지 않았음을 의미합니다.
  • 사용자 마지막 활동 시간(YYYY-MM-DDTHH:MM:SSZ): 이 채널이 아니라 Mattermost 전체에서의 사용자의 가장 최근 세션 활동. No sessions found 는 사용자의 세션 레코드가 없음을 의미하며, 비활성화된 계정에서는 항상 이 값이 나옵니다.

후속 조치가 필요한 사람의 범위를 파악하려면 각 행의 채널 마지막 조회 시각 값을 보고서 메타데이터의 게시물 생성 시각 및 신고 시각 값과 비교하세요:

  • Post created at 과 Flagged at 사이: 메시지가 표시되어 있는 동안 사용자가 채널을 열었습니다. 노출 가능성이 있으므로 후속 조치의 우선순위로 두어야 합니다.
  • Flagged at 이후: 사용자의 가장 최근 채널 열기가 보고 기간 밖에 있으므로, 메시지가 표시되어 있는 동안 채널을 열었다는 사실이 입증되지 않습니다. 가장 최근에 연 시점만 기록되므로 그 가능성을 배제하지도 않습니다. 설정에서 검토 중인 격리된 메시지를 숨기지 않는 경우, 이 타임스탬프 시점에도 메시지가 계속 표시되었을 수 있습니다.
  • Post created at 이전: 사용자는 채널 멤버였지만 메시지가 게시되기 전 이후로 채널을 열지 않았습니다. 채널에서의 노출 가능성은 낮지만 배제되지는 않으며, 메시지 콘텐츠가 푸시 또는 이메일 알림을 통해 사용자에게 도달했을 수 있습니다.
  • Unknown 또는 N/A: 사용자의 채널 읽기 상태가 없습니다. 노출 여부는 확정되지 않았습니다. 이 값을 사용자가 메시지를 보지 않았다는 확인으로 해석하지 마세요.
Tip

검토 초기에 노출 보고서를 생성하세요. 채널 마지막 조회 시각 은 실시간 채널 읽기 상태를 반영하므로, 격리가 해결된 이후를 포함하여 사용자가 채널을 다시 열 때마다 값이 바뀝니다.

행은 사용자 이름순, 그다음 사용자 ID순으로 정렬됩니다. 이 순서는 보고된 사용자 모집단과 사용자 이름이 변하지 않는 동안에만 안정적입니다. 사용자 이름 변경이나 삭제된 계정으로 인해 같은 메시지에 대한 두 보고서 사이에서 행 순서나 행 수가 달라질 수 있으므로, 후속 도구는 행 위치가 아니라 사용자 ID 로 사용자를 매칭해야 합니다. 셀 값도 안정적이지 않습니다. 채널 마지막 조회 시각 과 사용자 마지막 활동 시간 은 모두 실시간 상태를 반영하므로, 서로 다른 시점에 생성한 두 보고서는 다를 수 있습니다. Yes, No, Unknown, N/A, No sessions found 를 포함한 칼럼 제목과 값은 보고서를 생성한 검토자의 언어로 현지화됩니다. 후속 도구는 영어 문자열로 매칭해서는 안 됩니다.

노출 보고서의 한계#

보고서는 채널 멤버십 기록과 채널 읽기 상태에서 도출되므로 입증할 수 있는 범위에 제약이 있습니다:

  • 알림 전달은 포함되지 않음: 사용자는 채널을 한 번도 열지 않고도 메시지 콘텐츠에 노출될 수 있습니다. 푸시 알림과 이메일 알림은 푸시 알림 콘텐츠 및 이메일 알림 콘텐츠 설정에 따라 메시지 텍스트를 포함할 수 있습니다. 알림은 보고서에 반영되지 않으므로, 이른 시점의 채널 마지막 조회 시각 값이 노출을 배제하지 않습니다.
  • 멤버십 없이 공개 채널에 접근한 경우는 포함되지 않음: 보고서는 채널 멤버만 나열합니다. 공개 채널에서는 채널에 참여한 적이 없는 사용자에게도 메시지가 도달할 수 있습니다. 메시지 링크가 다른 채널에 공유될 때 렌더링되는 게시물 퍼머링크 미리보기를 통하거나, 멤버십 없이 공개 채널 검색이 활성화된 경우 검색을 통해서입니다. 이러한 사용자는 보고서에 나타나지 않습니다.
  • 봇은 제외됨: 봇 계정은 보고서에서 생략됩니다.
  • 메시지가 격리된 이후에 참여한 사용자는 제외됨: 멤버십은 보고 기간에 대해서만 확인됩니다.
  • 탈퇴했다가 다시 참여한 사용자는 한 번만 표시됨: 보고서는 사용자 목록이므로 여러 멤버십 기간이 하나의 행으로 합쳐집니다. 개별 참여 및 탈퇴 시각은 보고되지 않습니다.
  • 탈퇴한 후 다시 참여하지 않은 사용자는 포함됨: 이전 멤버에 대해서는 채널 읽기 상태가 남아 있지 않으므로 채널 마지막 조회 시각 이 Unknown 으로 설정되어 보고됩니다.
  • 게스트와 원격 사용자는 포함됨: 둘 다 각자의 칼럼으로 식별됩니다.
  • 보관된 채널도 지원됨: 보관된 채널의 멤버도 평소와 같이 보고됩니다.
  • 삭제된 계정은 생략됨: 사용자의 계정 레코드가 더 이상 존재하지 않으면 해당 사용자는 건너뛰며, 전체 사용자 는 건너뛴 후의 수를 반영합니다.

노출 보고서를 생성하면 보고서에 포함된 각 사용자의 세션 활동을 개별적으로 조회하며, 다운로드가 시작되기 전에 전체 보고서가 메모리에서 조립됩니다. 멤버가 수천 명인 채널에서는 생성 시간이 그에 비례하여 길어질 수 있습니다.

삭제된 메시지#

검토자가 격리된 메시지를 영구적으로 제거하면, 메시지와 관련된 모든 데이터가 데이터베이스와 파일 시스템에서 삭제되며 복구할 수 없습니다. 삭제 대상은 다음과 같습니다:

  • 게시물 레코드: 메시지의 텍스트와 관련된 게시물 속성. 콘텐츠는 게시물이 삭제되기 전에 먼저 삭제 처리됩니다.
  • 파일 첨부: Mattermost의 파일 스토리지(로컬, S3 등)에 저장된 파일.
  • 파일 첨부 레코드: 파일 이름, ID, 스토리지 링크를 포함하여 메시지에 대한 파일 정보 데이터베이스 행.
  • 수정 기록: 각 리비전의 파일 메타데이터를 포함한 메시지의 모든 이전 리비전.
  • 우선순위 메타데이터: 메시지 우선순위 또는 중요도 설정.
  • 지속 알림: 메시지에 첨부된 반복 알림.
  • 확인: 메시지를 확인한 사용자 기록.
  • 리마인더: 메시지에 대해 생성된 리마인더.
  • 스레드, 답글, 반응: 메시지와 연관된 스레드 레코드, 답글, 반응 데이터(있는 경우).

게시물 삭제 보고서#

검토자가 메시지 제거 를 선택하면, Data Spillage Bot 이 해당 격리된 메시지에 대한 검토자의 콘텐츠 검토 스레드에 게시물 삭제 보고서 를 게시합니다. 이 보고서는 원래 격리 알림을 받은 모든 검토자에게 전달되며, 각 검토자의 언어로 현지화됩니다. 각 게시물에는 인라인으로 렌더링된 간략한 요약과 deletion_report_<post_id>.md 라는 이름의 Markdown 파일로 첨부된 전체 보고서가 포함됩니다.

이 보고서는 메시지와 관련 데이터에 대해 수행된 모든 정리 단계를 기록합니다. 이 단계들은 삭제된 메시지에 나열된 데이터 범위와 직접 대응됩니다:

  • 파일 첨부: 파일 스토리지에서 제거된 파일.
  • 파일 첨부 레코드: 메시지에 대한 파일 정보 데이터베이스 행.
  • 편집 기록: 메시지의 모든 이전 리비전. 각 리비전은 개별 하위 단계로 보고되어 검토자가 정확히 어떤 리비전이 정리되었는지 확인할 수 있습니다.
  • 우선순위 메타데이터: 메시지 우선순위 및 중요도 설정.
  • 지속 알림: 메시지에 첨부된 반복 알림.
  • 확인: 메시지를 확인한 사용자 기록.
  • 리마인더: 메시지에 설정된 리마인더.
  • 스레드, 답글, 반응: 메시지와 연관된 스레드 레코드, 답글, 반응 데이터.
  • 게시물 레코드: 게시물 자체. 게시물이 삭제되기 전에 콘텐츠가 삭제 처리됩니다.

각 단계에는 다음 상태 중 하나가 지정됩니다:

  • 제거됨 ✅: 데이터가 성공적으로 삭제되었습니다.
  • 해당 없음 ➖: 삭제할 이 유형의 데이터가 없었습니다.
  • 부분 삭제 ⚠️: 이 유형의 일부 항목은 삭제되었지만 적어도 하나는 실패했습니다. 이 상태는 하나의 리비전을 삭제할 수 없는 경우 편집 기록 아래에서 가장 자주 나타납니다.
  • 실패 ❌: 단계가 완료되지 않았습니다. 보고서에는 검토자와 시스템 관리자가 무엇이 잘못되었는지 확인할 수 있도록 오류 로그가 포함됩니다.

모든 단계가 제거됨 또는 해당 없음 인 경우 추가 조치가 필요하지 않습니다. 이 보고서는 삭제에 대한 감사 가능한 기록으로 사용됩니다.

어느 단계라도 부분 삭제 또는 실패 로 보고되면, 보고서에 incomplete 경고가 표시됩니다. 검토자는 시스템 관리자에게 에스컬레이션해야 하며, 시스템 관리자는 단계별 전체 오류 로그가 포함된 첨부 deletion_report_<postId>.md 파일을 사용하여 수동 복구를 수행하고 데이터가 완전히 제거되었는지 확인할 수 있습니다.

Note

게시물 삭제 보고서는 게시물 제거 감사에 대한 단일 진실 공급원(Single Source Of Truth, SSOT)입니다. System Console의 다른 곳에는 저장되지 않으므로, 보고서가 포함된 검토자 스레드는 조직의 감사 보존 정책에 따라 보관해야 합니다.

게시물 전달 감사 로깅#

Mattermost v12.0부터 Mattermost는 대상 채널에서 메시지가 전달될 때마다 감사 로그 항목을 기록할 수 있으므로, 특정 메시지가 어떤 사용자, 플러그인, 아웃고잉 웹훅에 전달되었는지 확인할 수 있습니다. 다이렉트 메시지 채널과 그룹 메시지 채널은 대상이 되지 않습니다. 전달 기록은 스토리지와 처리 비용을 추가하므로 필요한 곳에서만 활성화하세요.

Note

게시물 전달 감사 로깅은 현재 Beta 상태입니다.

전달 기록은 감사 로그에만 작성됩니다. Mattermost 인터페이스 어디에도 표시되지 않으며 어떤 Mattermost 보고서에도 포함되지 않습니다. 이를 사용하려면 나머지 Mattermost 감사 로그에 사용하는 것과 동일한 파이프라인으로 수집하세요.

Important

게시물 전달 감사 로깅에는 기본적으로 비활성화된 기능 플래그 MM_FEATUREFLAGS_POSTDELIVERYTRACKING 가 필요하며, 활성화한 후 서버를 다시 시작해야 합니다.

Warning

audit-delivery 로그 레벨을 사용하는 감사 로그 타깃이 없으면 전달 기록은 폐기됩니다. 이러한 타깃을 설정하지 않고 이 설정을 활성화하면 아무것도 기록되지 않으며, Mattermost는 해당 구성을 차단하지 않습니다. 타깃을 먼저 설정하세요.

게시물 전달 감사 로깅을 활성화하려면:

  1. audit-delivery 로그 레벨을 사용하는 감사 로그 타깃을 추가합니다. 게시물 전달 감사 로깅을 참조하세요.

  2. System Console > Site Configuration > Data Spillage Handling 으로 이동하여 게시물 전달 감사 로깅 을 찾습니다.

  3. 게시물 전달 감사 로깅 활성화 을 True 로 설정합니다.

  4. 전달 기록 대상 을 설정합니다:

    • 모든 채널: 대상이 되는 모든 채널에서 전달을 기록합니다. 가장 완전한 옵션이며 비용도 가장 많이 듭니다.
    • 선택한 채널: 선택한 대상 채널에서만 전달을 기록합니다. 채널이 하나 이상 필요합니다.
  5. 선택한 채널 로 설정한 경우 전달 기록 대상 채널 을 사용하여 채널을 선택합니다. 다이렉트 메시지 채널과 그룹 메시지 채널은 선택할 수 없습니다. 기록은 저장하는 시점에 시작되며, 이후 채널 로드, 검색, 가져오기를 통해 전달되는 기존 메시지를 포함하여 그때부터 전달되는 대상 메시지 콘텐츠에 적용됩니다.

게시물 전달 감사 로깅 활성화 과 전달 기록 대상 은 config.json 파일이나 환경 변수를 통해서도 설정할 수 있습니다.

채널 목록은 config.json 에 저장되지 않습니다. Mattermost가 데이터베이스에 저장하므로 System Console 또는 /api/v4/delivery_tracking/config API 엔드포인트를 통해 관리하세요. ChannelIds 를 생략한 PUT 요청은 저장된 목록을 변경하지 않습니다. 빈 배열은 전달 기록 대상 이 모든 채널 로 설정된 경우 목록을 지우고, 선택한 채널 로 설정된 경우에는 채널이 하나 이상 필요하므로 거부됩니다. Mattermost API 레퍼런스를 참조하세요.

Tip

전달 기록의 형식, 기록되는 모든 전달 메커니즘, 기록되지 않는 항목, 기록을 해석하는 방법은 게시물 전달 감사 로깅을 참조하세요.

모범 사례 권고#

데이터 유출 처리를 조직 전체에 롤아웃하기 전에, 이 기능이 우발적인 데이터 유출로부터 사용자와 조직 모두를 보호한다는 점을 알리는 것을 권장합니다. 파일럿 팀으로 시작하여 검토자 알림과 워크플로를 검증하고, 기존 데이터 처리 또는 인시던트 대응 플레이북과 프로세스를 통합하며, 모든 결정이 투명하고 감사 가능하도록 신고자 및 검토자 코멘트를 필수화하세요.