Azure Information Protection에서 보호 사용량 로깅 및 분석

:Azure Information Protection,Office 365

관련성: AIP 통합 레이블링 클라이언트 및 클래식 클라이언트

참고 사항

통합되고 간소화된 고객 환경을 제공하기 위해 Azure Portal의 Azure Information Protection 클래식 클라이언트 및 레이블 관리는 2021년 3월 31일현재 사용되지 않습니다. 클래식 클라이언트에 대한 추가 지원은 제공되지 않고 유지 관리 버전은 더 이상 릴리스되지 않습니다.

클래식 클라이언트는 공식적으로 사용 중지되어 2022년 3월 31일 작동이 중지됩니다.

현재 모든 Azure Information Protection 클래식 클라이언트 고객은 통합 레이블 Microsoft Information Protection 플랫폼으로 마이그레이션하고 통합 레이블링 클라이언트로 업그레이드해야 합니다. 마이그레이션 블로그 에서자세히 알아보기

이 정보를 사용하여 Azure Information Protection에서 보호 서비스(Azure Rights Management)에 대한 사용 로깅을 사용하는 방법을 이해하는 데 도움이 됩니다. 이 보호 서비스는 조직의 문서 및 전자 메일에 대한 데이터 보호를 제공하며 모든 요청을 기록할 수 있습니다. 이러한 요청에는 사용자가 문서 및 전자 메일을 보호하고 이 콘텐츠를 사용할 때, 이 서비스에 대해 관리자가 수행한 작업, Microsoft 운영자가 Azure Information Protection 배포를 지원하기 위해 수행한 작업이 포함됩니다.

그런 다음 이러한 보호 사용 로그를 사용하여 다음 비즈니스 시나리오를 지원할 수 있습니다.

  • 비즈니스 인사이트 분석

    보호 서비스에서 생성된 로그는 정보를 분석하고 보고서를 생성하기 위해 선택한 리포지토리(예: 데이터베이스, OLAP(온라인 분석 처리) 시스템 또는 맵 축소 시스템)으로 가져올 수 있습니다. 예를 들어 보호된 데이터에 액세스하는 사용자 식별을 확인할 수 있습니다. 사용자가 액세스하는 보호된 데이터와 어떤 디바이스에서 어디에서나 확인할 수 있습니다. 사람들이 보호된 콘텐츠를 성공적으로 읽을 수 있는지 여부를 찾을 수 있습니다. 보호된 중요한 문서를 읽은 사용자도 식별할 수 있습니다.

  • 남용에 대한 모니터링

    보호 사용에 대한 정보를 거의 실시간으로 로깅할 수 있으므로 회사의 보호 서비스 사용을 지속적으로 모니터링할 수 있습니다. 99.9%의 로그는 서비스에 대한 시작된 작업 후 15분 이내에 사용할 수 있습니다.

    예를 들어 표준 작업 시간 외부에서 보호된 데이터를 읽는 사람이 급격히 증가하는 경우 경고를 보내야 할 수 있습니다. 이는 악의적인 사용자가 경쟁업체에 판매하기 위해 정보를 수집하고 있다는 것을 나타낼 수 있습니다. 또는 동일한 사용자가 짧은 시간 내에 두 개의 서로 다른 IP 주소의 데이터에 액세스하는 경우 사용자 계정이 손상된 것을 나타낼 수 있습니다.

  • 포렌식 분석 수행

    정보 유출이 있는 경우 최근에 특정 문서에 액세스한 사용자와 의심되는 사용자가 최근에 액세스한 정보를 묻는 질문을 할 수 있습니다. 보호된 콘텐츠를 사용하는 사용자가 전자 메일로 이동하거나 USB 드라이브 또는 기타 저장소 디바이스로 복사한 경우에도 보호된 콘텐츠를 사용하는 사용자가 항상 Azure Information Protection에서 보호하는 문서 및 그림을 열 수 있는 권한 관리 라이선스를 제공해야 하여 이 로깅을 사용할 때 이러한 유형의 질문에 답변할 수 있습니다. 즉, Azure Information Protection을 사용하여 데이터를 보호할 때 이러한 로그를 포렌식 분석에 대한 최종 정보 원본으로 사용할 수 있습니다.

이 사용 로깅 외에도 다음과 같은 로깅 옵션도 있습니다.

로깅 옵션 설명
관리자 로그 보호 서비스에 대한 관리 작업을 기록합니다. 예를 들어 서비스가 비활성화된 경우, 슈퍼 사용자 기능을 사용하도록 설정한 경우 및 사용자가 서비스에 관리자 권한을 위임할 때입니다.

자세한 내용은 PowerShell cmdlet, Get-AipServiceAdminLog 를 참조하세요.
문서 추적 사용자가 Azure Information Protection 클라이언트를 사용하여 추적한 문서를 추적하고 해지할 수 있습니다. 전역 관리자는 사용자를 대신하여 이러한 문서를 추적할 수도 있습니다.

자세한 내용은 Azure Information Protection에 대한 문서 추적 구성 및 사용을 참조하세요.
클라이언트 이벤트 로그 로컬 애플리케이션 및 서비스 이벤트 로그인 Azure Information Protection Windows 로그에 기록된 Azure Information Protection 클라이언트의 사용 활동입니다.

자세한 내용은 Azure Information Protection 클라이언트에 대한 사용량 로깅을 참조하세요.
클라이언트 로그 파일 %localappdata%\Microsoft\MSIP에 있는 Azure Information Protection 클라이언트의 로그 문제 해결

이러한 파일은 Microsoft 지원용으로 디자인됩니다.

또한 Azure Information Protection 클라이언트 사용 로그 및 Azure Information Protection 스캐너의 정보가 수집되고 집계하여 Azure Portal에서 보고서를 만들 수 있습니다. 자세한 내용은 Azure Information Protection에 대한 보고를 참조하세요.

보호 서비스에 대한 사용 로깅에 대한 자세한 내용은 다음 섹션을 사용합니다.

보호 사용에 대한 로깅을 사용하도록 설정하는 방법

보호 사용 로깅은 기본적으로 모든 고객에 대해 사용하도록 설정됩니다.

로그 저장소 또는 로깅 기능의 경우 추가 비용이 없습니다.

보호 사용 로그에 액세스하고 사용하는 방법

Azure Information Protection은 로그를 테넌트에 대해 자동으로 만드는 Azure Storage 계정에 일련의 Blob으로 기록합니다. 각 Blob에는 W3C 확장 로그 형식으로 하나 이상의 로그 레코드가 포함되어 있습니다. Blob 이름은 만든 순서대로 숫자입니다. 이 문서의 1부에서 Azure Rights Management 사용 로그를 해석하는 방법 섹션에는 로그 내용 및 해당 로그 생성에 대한 자세한 정보가 포함되어 있습니다.

보호 작업 후 저장소 계정에 로그가 표시될 수 있습니다. 대부분의 로그는 15분 이내에 나타납니다. 로컬 폴더, 데이터베이스 또는 맵 축소 리포지토리와 같은 로그를 로컬 저장소에 다운로드하는 것이 좋습니다.

사용 로그를 다운로드하려면 Azure Information Protection용 AIPService PowerShell 모듈을 사용합니다. 설치 지침은 AIPService PowerShell모듈 설치를 참조하세요.

PowerShell을 사용하여 사용량 로그를 다운로드하려면

  1. 관리자 Windows PowerShell 실행 옵션을 사용하여 시작하고 커넥트-AipService cmdlet을 사용하여 Azure Information Protection에 연결합니다.

    Connect-AipService
    
  2. 다음 명령을 실행하여 특정 날짜에 대한 로그를 다운로드합니다.

    Get-AipServiceUserLog -Path <location> -fordate <date>
    

    예를 들어 E: 드라이브에서 Logs라는 폴더를 만들면 다음과 같습니다.

    • 특정 날짜(예: 2016년 2월 1일)에 대한 로그를 다운로드하려면 다음 명령을 실행합니다. Get-AipServiceUserLog -Path E:\Logs -fordate 2/1/2016

    • 날짜 범위(예: 2016년 2월 1일~2016년 2월 14일)에 대한 로그를 다운로드하려면 다음 명령을 실행합니다. Get-AipServiceUserLog -Path E:\Logs -fromdate 2/1/2016 –todate 2/14/2016

날짜만 지정하는 경우 예제와 같은 시간은 로컬 시간에서 00:00:00으로 가정한 다음 UTC로 변환됩니다. -fromdate 또는 -todate 매개 변수(예: "2/1/2016 15:00:00")를 사용하여 시간을 지정하면 해당 날짜 및 시간이 UTC로 변환됩니다. 그런 Get-AipServiceUserLog UTC 기간에 대한 로그를 얻습니다.

다운로드할 하루 미만을 지정할 수 없습니다.

기본적으로 이 cmdlet은 세 개의 스레드를 사용하여 로그를 다운로드합니다. 네트워크 대역폭이 충분하고 로그를 다운로드하는 데 필요한 시간을 줄이면 1에서 32까지의 값을 지원하는 -NumberOfThreads 매개 변수를 사용합니다. 예를 들어 다음 명령을 실행하면 cmdlet이 10개 스레드를 스파우고 로그를 다운로드합니다. Get-AipServiceUserLog -Path E:\Logs -fromdate 2/1/2016 –todate 2/14/2016 -numberofthreads 10

다양한 잘 알려진 로그 형식 간에 변환하는 도구인 Microsoft의 Log Parser를사용하여 다운로드한 모든 로그 파일을 CSV 형식으로 집계할 수 있습니다. 이 도구를 사용하여 데이터를 SYSLOG 형식으로 변환하거나 데이터베이스로 가져올 수도 있습니다. 도구를 설치한 후 도움말 및 정보를 실행하여 이 LogParser.exe /? 도구를 사용합니다.

예를 들어 다음 명령을 실행하여 모든 정보를 .log 파일 형식으로 가져올 수 있습니다. logparser –i:w3c –o:csv "SELECT * INTO AllLogs.csv FROM *.log"

사용량 로그를 해석하는 방법

다음 정보를 사용하여 보호 사용 로그를 해석할 수 있습니다.

로그 시퀀스

Azure Information Protection은 로그를 일련의 Blob으로 쓴다.

로그의 각 항목에는 UTC 타임스탬프가 있습니다. 보호 서비스는 여러 데이터 센터에서 여러 서버에서 실행하기 때문에 경우에 따라 로그가 타임스탬프로 정렬되는 경우에도 순서가 떨어질 수 있습니다. 그러나 차이는 작고 일반적으로 1분 이내입니다. 대부분의 경우 로그 분석에 문제가 되지 않습니다.

Blob 형식

각 Blob은 W3C 확장 로그 형식입니다. 다음 두 줄로 시작합니다.

#Software: RMS

#Version: 1.1

첫 번째 줄은 Azure Information Protection의 보호 로그입니다. 두 번째 줄은 Blob의 나머지가 버전 1.1 사양을 따르는지 식별합니다. 이러한 로그를 구문 분석하는 애플리케이션은 나머지 Blob을 계속 구문 분석하기 전에 이러한 두 줄을 확인하는 것이 좋습니다.

세 번째 줄은 탭으로 구분된 필드 이름 목록을 열기합니다.

#Fields: date time row-id request-type user-id result correlation-id content-id owner-email issuer template-id file-name date-published c-info c-ip admin-action acting-as-user

후속 행은 각각 로그 레코드입니다. 필드의 값은 이전 줄과 동일한 순서로 있으며 탭으로 구분됩니다. 다음 표를 사용하여 필드를 해석합니다.

필드 이름 W3C 데이터 형식 설명 예제 값
date 날짜 요청이 제공된 UTC 날짜입니다.

원본은 요청을 제공한 서버의 로컬 클록입니다.
2013-06-25
시간 시간 요청이 제공된 24시간 형식의 UTC 시간입니다.

원본은 요청을 제공한 서버의 로컬 클록입니다.
21:59:28
row-id 텍스트 이 로그 레코드에 대한 고유 GUID입니다. 값이 없는 경우 상관 관계 id 값을 사용하여 항목을 식별합니다.

이 값은 로그를 집계하거나 로그를 다른 형식으로 복사하는 경우 유용합니다.
1c3fe7a9-d9e0-4654-97b7-14fafa72ea63
request-type 이름 요청된 RMS API의 이름입니다. AcquireLicense
사용자 ID 문자열 요청을 한 사용자입니다.

값은 단일 인용 부호로 묶입니다. BYOK(사용자)가 관리하는 테넌트 키의 호출에는 "의값이 있습니다. 이는 요청 형식이 익명일 때도 적용됩니다.
‘joe@contoso.com’
결과 문자열 요청이 성공적으로 제공된 경우 '성공'입니다.

요청이 실패한 경우 단일 인용구의 오류 형식이 표시됩니다.
'성공'
상관 관계-id 텍스트 주어진 요청에 대한 RMS 클라이언트 로그와 서버 로그 간에 공통되는 GUID입니다.

이 값은 클라이언트 문제를 해결하는 데 유용할 수 있습니다.
cab52088-8925-4371-be34-4b71a3112356
content-id 텍스트 보호된 콘텐츠(예: 문서)를 식별하는 곱슬 중괄호로 묶인 GUID입니다.

이 필드에는 요청 형식이 AcquireLicense일 때만 값이 있으며 다른 모든 요청 유형에 대해 비어 있습니다.
{bb4af47b-cfed-4719-831d-71b98191a4f2}
owner-email 문자열 문서 소유자의 전자 메일 주소입니다.

요청 유형이 RevokeAcces인 경우 이 필드는 비어 있습니다.
alice@contoso.com
발급자 문자열 문서 발급자 전자 메일 주소입니다.

요청 유형이 RevokeAcces인 경우 이 필드는 비어 있습니다.
alice@contoso.com (또는) FederatedEmail.4c1f4d-93bf-00a95fa1e042@contoso.onmicrosoft.com '
template-id 문자열 문서를 보호하는 데 사용되는 템플릿의 ID입니다.

요청 유형이 RevokeAcces인 경우 이 필드는 비어 있습니다.
{6d9371a6-4e2d-4e97-9a38-202233fed26e}
파일 이름 문자열 Azure Information Protection 클라이언트를 사용하여 추적되는 보호된 문서의 파일 Windows.

현재 일부 파일(예: 문서 Office)은 실제 파일 이름 대신 GUID로 표시됩니다.

요청 유형이 RevokeAcces인 경우 이 필드는 비어 있습니다.
TopSecretDocument.docx
date-published 날짜 문서가 보호된 날짜입니다.

요청 유형이 RevokeAcces인 경우 이 필드는 비어 있습니다.
2015-10-15T21:37:00
c-info 문자열 요청을 하는 클라이언트 플랫폼에 대한 정보입니다.

특정 문자열은 애플리케이션(예: 운영 체제 또는 브라우저)에 따라 다릅니다.
'MSIPC;version=1.0.623.47; AppName=WINWORD.EXE; AppVersion=15.0.4753.1000; AppArch=x86;OSName=Windows;OSVersion=6.1.7601;OSArch=amd64'
c-ip 주소 요청을 하는 클라이언트의 IP 주소입니다. 64.51.202.144
admin-action Bool 관리자가 관리자 모드에서 문서 추적 사이트에 액세스하는지 여부입니다. True
acting-as-user 문자열 관리자가 문서 추적 사이트에 액세스하는 사용자의 전자 메일 주소입니다. 'joe@contoso.com'

사용자 ID 필드에 대한 예외

일반적으로 사용자 ID 필드는 요청을 한 사용자를 나타내지만 값이 실제 사용자에게 매핑되지 않는 두 가지 예외가 있습니다.

  • 'microsoftrmsonline@ YourTenantID > .rms입니다. < region > .aadrm.com.

    이는 Office 365 또는 Microsoft Exchange Online 같은 SharePoint 요청을 하는 경우를 나타냅니다. 문자열에서 YourTenantID는 > 테넌트에 대한 GUID로, > 테넌트가 등록된 지역입니다. 예를 들어 na는 북아메리카를 나타내고 eu는 유럽을 나타내며 ap는 아시아를 나타내고 있습니다.

  • RMS 커넥터를 사용하는 경우

    이 커넥터의 요청은 RMS 커넥터를 설치할 때 자동으로 생성되는 Aadrm_S-1-7-0의서비스 주체 이름으로 기록됩니다.

일반적인 요청 유형

보호 서비스에 대한 많은 요청 유형이 있지만 다음 표에서는 가장 일반적으로 사용되는 요청 형식 중 일부를 식별합니다.

요청 유형 설명
AcquireLicense 보호된 Windows 컴퓨터의 클라이언트가 보호된 콘텐츠에 대한 라이선스를 요청합니다.
AcquirePreLicense 클라이언트는 사용자를 대신하여 보호된 콘텐츠에 대한 라이선스를 요청합니다.
AcquireTemplates 템플릿 아이디를 기반으로 템플릿을 획득하기 위해 호출했습니다.
AcquireTemplateInformation 서비스에서 템플릿의 신분을 얻습니다.
AddTemplate 템플릿을 추가하기 위해 Azure Portal에서 호출합니다.
AllDocsCsv 모든 문서 페이지에서 CSV 파일을 다운로드하기 위해 문서 추적 사이트에서 호출합니다.
BECreateEndUserLicenseV1 최종 사용자 라이선스를 만들기 위해 모바일 장치에서 호출합니다.
BEGetAllTemplatesV1 모든 템플릿을 얻기 위해 모바일 디바이스(백 엔드)에서 호출합니다.
인증 클라이언트는 보호된 콘텐츠의 소비 및 생성에 대해 사용자를 인증합니다.
FECreateEndUserLicenseV1 AcquireLicense 요청과 유사하지만 모바일 장치에서.
FECreatePublishingLicenseV1 모바일 클라이언트에서 결합된 Certify 및 GetClientLicensorCert와 동일합니다.
FEGetAllTemplates 모바일 디바이스(프런트 엔드)에서 템플릿을 얻습니다.
FindServiceLocationsForUser Certify 또는 AcquireLicense를 호출하는 데 사용되는 URL에 대한 쿼리를 호출합니다.
GetClientLicensorCert 클라이언트는 웹 기반 컴퓨터에서 게시 인증서(나중에 콘텐츠를 보호하는 데 Windows 요청합니다.
GetConfiguration Azure RMS 테넌트의 구성을 Azure PowerShell cmdlet을 호출합니다.
GetConnectorAuthorizations 클라우드에서 구성을 얻기 위해 RMS 커넥터에서 호출합니다.
GetRecipients 단일 문서의 목록 보기로 이동하기 위해 문서 추적 사이트에서 호출합니다.
GetTenantFunctionalState Azure Portal에서 보호 서비스(Azure Rights Management)가 활성화되어 있는지 확인합니다.
KeyVaultDecryptRequest 클라이언트가 RMS로 보호된 콘텐츠의 암호를 해독하려고 합니다. Azure Key Vault의 BYOK(고객 관리 테넌트 키)에만 적용할 수 있습니다.
KeyVaultGetKeyInfoRequest Azure Information Protection 테넌트 키에 대해 Azure Key Vault에서 사용할 키가 액세스 가능하고 아직 사용되지 않는지 확인하기 위한 호출이 실행됩니다.
KeyVaultSignDigest Azure Key Vault의 BYOK(고객 관리 키)가 서명 목적으로 사용될 때 호출됩니다. 일반적으로 AcquireLicence(또는 FECreateEndUserLicenseV1), Certify 및 GetClientLicensorCert(또는 FECreatePublishingLicenseV1)당 한 번 호출됩니다.
KMSPDecrypt 클라이언트가 RMS로 보호된 콘텐츠의 암호를 해독하려고 합니다. BYOK(레거시 고객 관리 테넌트 키)에만 적용할 수 있습니다.
KMSPSignDigest 서명을 위해 BYOK(레거시 고객 관리 키)를 사용할 때 호출됩니다. 일반적으로 AcquireLicence(또는 FECreateEndUserLicenseV1), Certify 및 GetClientLicensorCert(또는 FECreatePublishingLicenseV1)당 한 번 호출됩니다.
ServerCertify 서버 인증을 위해 RMS 사용 클라이언트(예: SharePoint)에서 호출됩니다.
SetUsageLogFeatureState 사용 로깅을 사용하도록 설정하도록 호출합니다.
SetUsageLogStorageAccount Azure Rights Management 서비스 로그의 위치를 지정하기 위해 호출됩니다.
UpdateTemplate 기존 템플릿을 업데이트하기 위해 Azure Portal에서 호출합니다.

클래식 클라이언트만

다음 요청 유형은 AIP 클래식 클라이언트가 있는 사용자에게만 관련됩니다.

요청 유형 설명
DeleteTemplateById 템플릿 ID로 템플릿을 삭제하기 위해 Azure Portal에서 호출합니다.
DocumentEventsCsv 단일 문서에 대한 .CSV 다운로드하기 위해 문서 추적 사이트에서 호출합니다.
ExportTemplateById 템플릿 ID를 기반으로 템플릿을 내보내기 위해 Azure Portal에서 호출합니다.
FEGetAllTemplates 모바일 디바이스(프런트 엔드)에서 템플릿을 얻습니다.
GetAllDocs 사용자에 대한 모든 문서 페이지를 로드하거나 테넌트에 대한 모든 문서를 검색하기 위해 문서 추적 사이트에서 호출합니다. 관리자 작업 및 관리자 역할을 하는 필드에서 이 값을 사용하세요.

- admin-action이 비어 있습니다. 사용자는 자신의 문서에 대한 모든 문서 페이지를 니다.

- admin-action은 true이고 사용자로 행동하는 것은 비어 있습니다. 관리자는 테넌트에 대한 모든 문서를 니다.

- admin-action은 true이고 사용자로 행동하는 것은 비어 있지 않습니다. 관리자는 사용자의 모든 문서 페이지를 니다.
GetAllTemplates 모든 템플릿을 얻기 위해 Azure Portal에서 호출합니다.
GetConnectorAuthorizations 클라우드에서 구성을 얻기 위해 RMS 커넥터에서 호출합니다.
GetSingle 단일 문서 페이지로 이동하기 위해 문서 추적 사이트에서 호출합니다.
GetTemplateById 템플릿 ID를 지정하여 템플릿을 얻기 위해 Azure Portal에서 호출합니다.
LoadEventsForMap 단일 문서의 지도 보기로 이동하기 위해 문서 추적 사이트에서 호출합니다.
LoadEventsForSummary 문서 추적 사이트에서 단일 문서의 타임라인 보기로 이동합니다.
LoadEventsForTimeline 단일 문서의 지도 보기로 이동하기 위해 문서 추적 사이트에서 호출합니다.
ImportTemplate 템플릿을 가져오기 위해 Azure Portal에서 호출합니다.
해지Accesss 문서를 해지하기 위해 문서 추적 사이트에서 호출합니다.
SearchUsers 테넌트의 모든 사용자를 검색하기 위해 문서 추적 사이트에서 호출합니다.
UpdateNotificationSettings 단일 문서에 대한 알림 설정을 변경하기 위해 문서 추적 사이트에서 호출합니다.
UpdateTemplate 기존 템플릿을 업데이트하기 위해 Azure Portal에서 호출합니다.

PowerShell 참조

보호 사용 로깅에 액세스해야 하는 유일한 PowerShell cmdlet은 Get-AipServiceUserLog입니다.

Azure Information Protection용 PowerShell 사용에 대한 자세한 내용은 PowerShell을 사용하여 Azure Information Protection에서 보호 관리 를 참조하세요.