Microsoft Cloud Service/Security&EMS

AIP 감사로그 확인하기

o959 2024. 11. 28. 09:55
반응형

AIP 감사로그 확인하기

 

AIP가 적용된 파일에 대해 감사로그를 확인해보려고 해요

테스트 해보니 활동 탐색기에서 더 쉽게 확인이 가능하지만 활동탐색기를 사용하지 못하는 경우

예를 들면 Microsoft E5 Compliance 기능이 활성화 되지 않은 경우겠죠?

 

 

 

AIP 로그 생성

 

AIP 로그를 생성하기 위해 여러 테스트를 진행했어요

 

테스트한 계정은 User05, User06 두 계정으로 진행했고요

문서는 파워포인트를 이용하여 테스트 했어요

 

 

User05에서 문서를 생성하고 [모든사용자-공동소유자] 레이블을 적용하고 저장했습니다

 

 

User06에서 해당 문서의 레이블을 삭제/변경 두가지를 진행했어요

 

위 테스트에 대한 로그를 전부 확인할 수 있는지 한번 보려고 해요

 

 

 

감사 로그 검색

 

감사 로그에서 해당 사용자의 모든 활동에 대해 검색 후 하나하나 확인해보려고 해요

 

 

적당한 시간 범위 및 사용자를 지정해주고 검색을 실행해주세요

 

검색 완료 후 클릭 해주세요

 

 

 

많은 로그들을 확인 할 수 있어요

작업 테이블에 민감도레이블 관련된 로그들이 보이네요

 

 

 

 

 

이중에 첫번째 로그를 클릭해서 확인해봤어요

레코드 유형이 SensitivityLabel~ 이라서 AIP와 관련된 로그라고 확신했거든요

 

해당로그는 User06(UserID)이

PC2(Devicename)에서

ClientIP(공인IP)에서

PowerPNT.pptx(ObjectID/b44bfc9c-3105-4db2-a3d4-29c23a582be0) 문서를 열었다

 

 

이런 정보들을 확인할 수 있어요

 

작업 상세 내용
SensitivityLabeledFileOpened 레이블이 적용된 파일 실행
SensitivityLabeledFileRenamed 파일에 레이블 적용
민감도 레이블을 업데이트함 파일에 적용된 레이블 변경
민감도 레이블을 제거함 파일에 적용된 레이블 제거

 

각 테스트 후 로그를 확인해보니 작업에 대한 상세 내용은 위와 같아요

 

결과값을 확인하려면 하나하나 클릭을 해야하고 내가 원하는 AIP 로그만 뽑아서 보기가 힘들다 보니

GUI 환경에서 확인하는 방법 보다는 Powershell을 이용해서 확인하는 방법이 더 좋을 것 같아요

 

 

 

AIP 로그 검색 (Powershell 이용)

 

AIP 로그에 대해 더 쉽고 편하게 보기 위해 Powershell을 이용해 보려고 해요

 

 

첫번째론 모든 감사로그에서 AIP 관련 로그만 출력해보려고 해요

# 한국 시간으로 시작/종료 시간 설정 (UTC 기준으로 변환)
[DateTime]$startKST = (Get-Date).AddDays(-2).AddHours(-9)  # 2일 전 한국 시간 > UTC 변환
[DateTime]$endKST = (Get-Date).AddHours(-9)               # 현재 한국 시간 > UTC 변환

# 감사 로그 검색 (Operations: Sensitivity* - AIP 관련 검색)
$results = Search-UnifiedAuditLog -StartDate $startKST -EndDate $endKST -Operations Sensitivity* -ResultSize 5000

# 모든 데이터를 새로운 창으로 출력
$results | Out-GridView

날짜 지정만 해주면 해당 기간동안의 모든 AIP 파일을 확인할 수 있어요

하지만 위 파워쉘로도 보기가 힘들다!

 

 

# 한국 시간으로 시작/종료 시간 설정 (UTC 기준으로 변환)
[DateTime]$startKST = (Get-Date).AddDays(-2).AddHours(-9)  # 2일 전 한국 시간 > UTC 변환
[DateTime]$endKST = (Get-Date).AddHours(-9)               # 현재 한국 시간 > UTC 변환

# 감사 로그 검색 (Operations: Sensitivity* - AIP 관련 검색)
$results = Search-UnifiedAuditLog -StartDate $startKST -EndDate $endKST -Operations Sensitivity* -ResultSize 5000

# PowerPNT.pptx 파일명이 포함된 로그 검색
$fileLogs = $results | Where-Object { $_.AuditData -match "PowerPNT.pptx" }

# 모든 데이터를 담을 배열 생성
$allAuditData = @()

# 각 로그의 AuditData를 JSON으로 변환하여 배열에 추가
foreach ($log in $fileLogs) {
    $auditData = $log.AuditData | ConvertFrom-Json  # AuditData를 JSON으로 변환

    # UTC → KST 변환 후 모든 데이터를 개별 필드로 추가
    $allAuditData += [PSCustomObject]@{
        RecordType             = $log.RecordType
        CreationDate           = ([DateTime]$log.CreationDate).AddHours(9)  # UTC → KST
        UserIds                = $log.UserIds
        Operations             = $log.Operations
        CreationTime           = ([DateTime]$auditData.CreationTime).AddHours(9)  # UTC → KST
        Operation              = $auditData.Operation
        OrganizationId         = $auditData.OrganizationId
        RecordTypeAudit        = $auditData.RecordType
        UserKey                = $auditData.UserKey
        UserType               = $auditData.UserType
        Workload               = $auditData.Workload
        ClientIP               = $auditData.ClientIP
        ObjectId               = $auditData.ObjectId
        Application            = $auditData.Application
        DeviceName             = $auditData.DeviceName
        Platform               = $auditData.Platform
        UserSku                = $auditData.UserSku
        ContentType            = $auditData.ContentType
        CurrentProtectionType  = $auditData.CurrentProtectionType
        PreviousProtectionType = $auditData.PreviousProtectionType
        ProtectionEventType    = $auditData.ProtectionEventType
        TargetLocation         = $auditData.TargetLocation
        IrmContentId           = $auditData.IrmContentId
        LabelId                = $auditData.LabelId
    }
}

# 모든 데이터를 새로운 창으로 출력
$allAuditData | Out-GridView

# 모든 데이터를 CSV 파일로 Export
$allAuditData | Export-Csv -Path C:\AIPLogs.csv -Encoding UTF8 -NoTypeInformation

 

실제 디테일한 값을 가지고 있는 Auditdata 파라미터를 Json으로 Converting해서 더욱 자세하게 볼 수 있게 해봤어요

 

위 명령어를 이용해서 PowerPNT.pptx에 대한 AIP 관련 로그들을 확인할 수 있어요

새로운 창으로 출력해서 보거나, CSV 파일로 뽑아서 볼 수 있어요

 

 

 

GUI에선 아무래도 검색 결과값 출력에도 많은 시간이 소요되고 보기도 불편해서

Powershell로 결과값을 보는게 훨씬 편하고 정확할 것 같네요

 

 

 

반응형