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로 결과값을 보는게 훨씬 편하고 정확할 것 같네요
'Microsoft Cloud Service > Security&EMS' 카테고리의 다른 글
[AIP] 자동 레이블 지정 (주민번호) (0) | 2024.05.23 |
---|---|
보존 정책 (Retention Policy) 생성 및 테스트 - (1) 삭제 (0) | 2024.05.14 |
Microsoft Intune을 통한 New Teams 배포 (0) | 2024.05.10 |
Microsoft Purview eDiscovery - Contents Search (0) | 2024.05.07 |
Microsoft Purview 감사 로그 (Premium) (0) | 2024.04.30 |