모두싸인 고객센터

감사 로그 아카이브 설정 가이드

감사 로그 아카이브 설정을 위한 가이드입니다.

감사 로그 아카이브 기능을 사용하면 워크스페이스의 감사 로그를 회사 소유의 저장소(AWS S3 또는 MinIO 등 S3 호환 스토리지)로 지속적으로 전송하여 보관할 수 있습니다.

  • 회사의 보안 관제 시스템(SIEM 등)에서 이 로그를 수집해 모니터링·보관 규제 대응에 활용할 수 있습니다.

  • 기존 감사 로그 CSV 추출 기능은 그대로 유지되며, 본 기능은 이와 별개로 추가되는 '자동 적재' 경로입니다.

  • 공용 워크스페이스에서는 최고 관리자만 감사 로그 아카이브 설정이 가능합니다.

※ 감사 로그 기능에 대한 안내는 관련 매뉴얼에서 확인하실 수 있습니다. (감사 로그 기능 상세>)

※ 감사 로그 및 감사 로그 아카이브 기능은 영업 담당자 상담 후 이용할 수 있습니다. 링크를 통해 문의 제출 부탁드립니다. (도입 상담 받기>)

  1. 감사 로그 아카이브 설정 화면에서 저장소 정보(버킷 이름·리전·저장 경로)를 등록합니다.

    1. 최고 관리자 모두싸인 로그인 > 우측 상단 통합관리 ⚙︎ > 워크스페이스 관리 > 좌측 하단 '감사로그' 메뉴 > [외부 아카이브]

  2. 회사 저장소에 모두싸인이 파일을 업로드할 수 있도록 접근 권한을 설정합니다. (아래 '저장소 접근 권한 설정')

  3. (선택) 외부로 내보내지 않을 개인정보 항목을 지정합니다. (아래 '개인정보 제외 설정')

  4. 업로드 테스트를 실행하여 연결과 권한을 확인합니다.

  5. 업로드 테스트에 성공하면 설정을 활성화합니다. 활성화 이후 발생하는 이벤트부터 저장소에 적재됩니다.

  • 비활성 기간에 발생한 이벤트는 다시 활성화해도 소급 적재되지 않습니다. 해당 기간의 로그는 감사 로그 CSV 추출로 확인할 수 있습니다.

  • 로그 파일은 JSON을 GZip으로 압축한 형식(.json.gz)으로 저장됩니다.

  • 설정 삭제는 [비활성] 또는 [오류] 상태에서만 가능하며, 삭제 시 인증 정보를 포함한 설정 전체가 복구 불가능하게 삭제됩니다.

    • 재 등록은 신규 등록 절차를 다시 수행해야 하며, 이 때 저장소 접근 설정 또한 신규 발급되는 Exterman ID값으로 갱신해야 합니다.

감사 로그 아카이브 설정 화면에서 현재 상태(활성・비활성・오류)와 마지막으로 성공한 적재 시각을 확인할 수 있습니다.

  • 저장소 적재가 연속 5회 실패하면 상태가 [오류]로 전환되며, 오류 기간에 발생한 이벤트는 소급 적재되지 않습니다.

    • [오류] 상태가 되면 최고 관리자에게 안내 이메일이 발송됩니다. 동일 워크스페이스 기준 24시간에 1회로 제한됩니다.

    • 인증 실패로 [오류] 상태가 된 경우, 화면에 인증 정보 재설정을 유도하는 안내가 함께 표시됩니다.

  • 요금제 변경으로 감사 로그 기능 제공이 중단되면, 감사 로그 아카이브는 자동으로 비활성화됩니다.

    • 이 때, 저장소・인증 정보는 보존되지만 업로드 테스트 성공 이력은 초기화되어, 기능을 재 활성화하려면 테스트를 다시 진행해야 합니다.

    • 비활성 상태에서의 이벤트는 소급 적재되지 않습니다. 해당 기간 동안의 이벤트는 모두싸인 감사 로그에서 CSV로 다운받을 수 있습니다.

모두싸인은 두 가지 인증 방식을 지원합니다. 회사 환경에 맞는 방식을 선택한 뒤 해당 안내를 따라 진행해 주세요.

인증 방식

특징

사용 가능한 저장소

IAM Role (권장)

회사 AWS 계정에 Role만 생성하고, 모두싸인이 그 Role을 임시로 위임(AssumeRole)받아 사용합니다. Access Key 같은 장기 자격 증명을 전달하지 않아 더 안전합니다.

AWS S3 전용

Access Key

Access Key ID / Secret Access Key를 발급하여 모두싸인에 등록합니다.

AWS S3, MinIO 등 S3 호환 스토리지

  • 민간 환경에서는 두 방식 모두 선택할 수 있으나, 공공・구축 환경에서는 저장소 종류와 관계없이 [Access Key] 방식만 지원합니다.

  • 두 방식 모두 부여하는 S3 접근 권한은 동일하며, 권한 정책은 아래 '공통 권한 정책'에 정리되어 있습니다.

IAM Role 방식은 AWS S3 버킷에서만 사용할 수 있습니다.

MinIO 등 S3 호환 스토리지를 사용 중이시라면 'Access Key 방식'을 이용해 주세요.

모두싸인은 감사 로그 아카이브 설정 화면에 최초 진입하는 시점에 워크스페이스별로 고유한 External ID를 1회 발급합니다.

  • 형식: {워크스페이스 ID}.{고유값}

  • 설정 화면에서 External ID 값을 복사하여, 아래 Trust Policy의 sts:ExternalId 자리에 입력합니다.

  • External ID는 워크스페이스마다 다르며, 같은 설정을 유지하는 동안 값이 바뀌지 않습니다.

  • External ID는 다른 워크스페이스가 회사의 Role을 실수로 위임받는 것을 막기 위한 보안 장치입니다. Trust Policy에 반드시 포함해야 하며, 생략할 수 없습니다.

  • 감사 로그 아카이브 설정을 삭제한 뒤 다시 만들면 External ID가 새로 발급됩니다. 이 경우 반드시 새 External ID로 Trust Policy를 갱신해 주세요. 갱신하지 않으면 이전 값으로는 연결이 거부되어 업로드 테스트와 실제 전송이 모두 실패합니다.

회사 AWS 계정에서 Role을 생성할 때, Trust relationships에 아래 정책을 등록해 주세요.

Plaintext
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::383326069367:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "<EXTERNAL_ID>"
        }
      }
    }
  ]
}
  • 위 JSON을 그대로 복사해 붙여넣은 뒤, <EXTERNAL_ID> 부분만 앞에서 확인한 값으로 교체해 주세요. 이때 꺾쇠(<, >)도 함께 지우고 값만 남겨 주세요.

  • Principal을 특정 IAM Role이 아닌 모두싸인 계정(:root)으로 지정하는 이유는, 모두싸인 내부에서 이 Role을 위임받는 서비스의 실행 환경이 바뀔 수 있기 때문입니다. sts:ExternalId 조건이 필수로 걸려 있어, External ID를 모르는 주체는 이 Role을 위임받을 수 없습니다.

이 Role에 연결할 S3 접근 권한은 아래 '공통 권한 정책'을 참고해 주세요. 이후 생성된 Role ARN을 설정 화면에 입력하고 인증 방식 'IAM Role'을 선택합니다.

  • Max Session Duration은 최소 1시간(3,600초) 이상으로 설정해 주세요. 지속 전송은 1시간 세션을 사용하며 만료 10분 전 자동 갱신됩니다. 업로드 테스트는 15분(900초)만 사용합니다.

  • MFA 강제 조건(aws:MultiFactorAuthPresent)은 사용할 수 없습니다. 모두싸인은 서버 간 자동화로 Role을 위임받으므로 사람이 개입하는 MFA 인증을 수행할 수 없습니다.

  • 모두싸인이 Role을 위임받을 때 세션 이름에 워크스페이스 ID가 포함되어(예: archive-sink-<워크스페이스 ID>), 회사 CloudTrail에서 어느 워크스페이스의 작업인지 확인할 수 있습니다.

Access Key ID / Secret Access Key를 발급하여 모두싸인 설정 화면에 직접 등록하는 방식입니다. AWS S3뿐 아니라 MinIO 등 S3 호환 스토리지에도 사용할 수 있습니다.

설정 화면에는 Access Key ID / Secret Access Key / 버킷 이름 / 엔드포인트 URL을 입력합니다.

Secret Access Key는 발급 시점에만 확인할 수 있으며 다시 조회할 수 없습니다. 발급 즉시 안전한 곳에 보관하시거나 바로 설정 화면에 입력해 주세요.

  1. IAM에서 업로드 전용 User를 생성합니다.

  2. '공통 권한 정책'의 정책을 이 User에 연결합니다.

  3. Access Key를 발급합니다.

  4. 설정 화면에 Access Key ID / Secret Access Key와 엔드포인트 URL(s3.<리전>.amazonaws.com, 예: s3.ap-northeast-2.amazonaws.com)을 입력합니다.

MinIO는 AWS IAM과 동일한 정책 문법을 지원하므로 '공통 권한 정책'의 JSON을 그대로 사용할 수 있습니다.

  1. 관리자 계정으로 업로드 전용 사용자를 생성합니다.

  2. '공통 권한 정책'의 정책을 등록하고 사용자에 연결합니다.

  3. 설정 화면에 Access Key ID(사용자명) / Secret Access Key와 회사 MinIO 엔드포인트(예: minio.internal.example.com:9000)를 입력합니다.

  • 관리자 계정(root credential)을 직접 등록하지 마세요. 반드시 별도의 업로드 전용 사용자를 만들어 최소 권한만 부여해 주세요.

  • 버킷은 미리 생성되어 있어야 합니다. HTTPS 엔드포인트에 사설(self-signed) 인증서를 사용 중이시라면 설정 전에 문의해 주세요.

아래 정책은 IAM Role 방식의 Role과 Access Key 방식의 User에 동일하게 적용됩니다. 모두싸인은 파일 쓰기(s3:PutObject)만 수행하므로, 최소 권한만 부여하시길 권장합니다.

저장 경로(prefix) 입력 여부에 따라 아래 중 하나를 사용해 주세요.

Plaintext
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::<BUCKET_NAME>/<PREFIX>/*"
    }
  ]
}
  • prefix를 입력하지 않은 경우 Resource를 arn:aws:s3:::<BUCKET_NAME>/* 로 지정합니다. <BUCKET_NAME>·<PREFIX>는 실제 값으로 교체하고 꺾쇠는 지워 주세요.

  • {prefix}/_test/{타임스탬프}.json.gz, 지속 전송은 {prefix}/yyyy/MM/dd/HH/{파일 이름}.json.gz 경로에 저장됩니다. 권한 범위를 더 좁히고 싶으신 경우 이 경로 패턴으로 제한할 수 있습니다.

감사 로그에는 활동을 기록하기 위한 개인정보(활동한 멤버의 이메일·이름, 요청 IP 등)가 포함되어 있습니다. 회사의 보안 정책상 이러한 개인정보를 외부 저장소에 보관할 수 없는 경우, 개인정보 제외 설정으로 지정한 항목을 아카이브 파일에서 제거한 뒤 전송하도록 구성할 수 있습니다.

  • 지정한 항목은 column과 데이터가 모두 제거된 상태로 저장됩니다.

  • 지정한 항목은 회사 저장소로 전송되는 아카이브 파일에서만 제거됩니다. 모두싸인 서비스 내의 감사 로그에는 영향이 없으며, 제외된 정보가 필요한 경우 아카이브 파일의 logId 값으로 모두싸인 감사 로그에서 해당 기록을 조회할 수 있습니다.

  • 설정을 저장한 이후 전송되는 아카이브부터 적용됩니다. 이미 전송된 파일은 변경되지 않습니다.

기본값은 '제외 없음'입니다.

별도로 제외 필드를 지정하지 않으면 개인정보를 포함한 전체 항목이 회사 저장소로 전송되니 주의해주세요.

감사 로그는 JSON 형식으로 저장되며, 제외할 항목은 JSON key 경로로 지정합니다.

모든 로그에 공통으로 포함되는 항목:

  • identity.user.email — 활동한 멤버의 이메일

  • identity.user.name — 활동한 멤버의 이름

  • requestContext.http.ip — 요청 IP 주소

  • requestContext.http.userAgent — 접속 브라우저·기기 정보

  • requestContext.http.headers — HTTP 요청 헤더(브라우저·기기 정보 포함)

특정 이벤트에만 포함되는 항목(활동한 멤버가 아닌 다른 사람의 정보):

  • data.targetRecord.delegatee / data.targetRecord.delegator — 업무를 위임받은/위임한 멤버의 이메일·이름

  • data.targetRecord.requesterEmail — 서명 요청자 이메일

  • data.targetRecord.externalUserEmail — 외부 서비스 연동 계정 이메일

  • data.targetRecord.carbonCopies — 참조 수신자 이메일 목록

  • data.targetRecord.contacts — 문서 전달 대상 이메일 목록

  • data.targetRecord.email — 초대 대상 이메일

  • data.targetRecord.name — 멤버 이름

  • data.targetRecord.participantName — 서명 참여자 이름

직접 입력한 내용이 포함될 수 있는 항목:

  • data.targetRecord.reason — 파일 다운로드 시 입력한 사유

  • data.targetRecord.previousTitle — 변경 전 템플릿 제목

  • data.targetRecord.nextCustomRules, data.targetRecord.prevCustomRules — 수신 문서함 자동 분류 키워드

보안 요구 수준에 따라 아래 세 단계 중 선택하시길 권장합니다. 아래 단계는 위 단계의 항목을 모두 포함합니다.

  • 1단계 — 기본 보호(권장): 활동한 멤버의 이메일·이름·IP·기기 정보를 제거합니다.

  • 2단계 — 강화 보호: 기본 보호에 더해, 문서 참여자·초대 대상자 등 다른 사람의 이메일·이름까지 제거합니다.

  • 3단계 — 최대 보호: 강화 보호에 더해, 멤버가 직접 입력한 텍스트 항목까지 제거합니다.

3단계(최대 보호) 예시:

Plaintext
{
  "excludedColumns": [
    "identity.user.email",
    "identity.user.name",
    "requestContext.http.ip",
    "requestContext.http.userAgent",
    "requestContext.http.headers",
    "data.targetRecord.delegatee",
    "data.targetRecord.delegator",
    "data.targetRecord.requesterEmail",
    "data.targetRecord.externalUserEmail",
    "data.targetRecord.carbonCopies",
    "data.targetRecord.contacts",
    "data.targetRecord.email",
    "data.targetRecord.name",
    "data.targetRecord.participantName",
    "data.targetRecord.reason",
    "data.targetRecord.previousTitle",
    "data.targetRecord.nextCustomRules",
    "data.targetRecord.prevCustomRules"
  ]
}
  • data.targetRecord 전체를 제거하도록 지정할 수도 있으나, 이 경우 문서 ID·권한 변경 내역 등 감사 추적에 필요한 정보까지 함께 제거되므로 권장하지 않습니다.

  • 항목은 identity.user.email 처럼 . 으로 구분한 JSON key 경로로 지정하며, 대소문자를 구분합니다. 존재하지 않는 경로를 지정해도 오류 없이 무시되므로, 여러 이벤트에 걸친 목록을 한 번에 지정할 수 있습니다.

  • 목록형 항목(예: 참조 수신자 목록)은 내부의 특정 값만 골라 제거할 수 없으며 항목 전체가 제거됩니다.

  • identity.user.email·identity.user.name을 제거하면 아카이브 파일만으로는 활동한 멤버를 확인할 수 없습니다. 이 경우 아카이브 파일의 logId 값으로 모두싸인 감사 로그에서 확인할 수 있습니다.

  • 본 항목 목록은 현재 제공 중인 감사 로그 이벤트 기준입니다. 신규 기능 출시에 따라 항목이 추가될 수 있으니 주기적으로 최신 내용을 확인해 주세요.