활동 로깅 데이터는 Power Platform 및 Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing 및 Dynamics 365 Project Service Automation과 같은 고객 참여 앱에 대한 DPIA(데이터 보호 영향 평가)를 지원합니다.
Microsoft Purview에서 Microsoft Dataverse 활동을 정기적으로 확인하여 다음을 수행합니다.
- 거버넌스, 규정 준수 및 보안 유지 관리
- 운영 인사이트 얻기
- 문제 식별 및 해결
- 고장을 경감합니다.
이 문서에서는 필수 구성 요소, Microsoft Purview의 규정 준수 포털에서 데이터에 액세스하는 방법, Dataverse 및 모델 기반 앱 이벤트 및 스키마에 대한 세부 정보를 다룹니다.
필수 조건
Microsoft Purview에서 Dataverse 및 모델 기반 앱 활동 로그를 보려면 다음을 확인합니다.
- 개요 문서의 모든 필수 구성 요소를 검토하고 완료합니다.
- Microsoft Office 365 E1 이상의 라이선스를 사용하는 관리자입니다.
- Microsoft Purview에서 감사 로그 또는 View-Only 감사 로그 역할이 할당됩니다.
더 알아보세요:
로그 액세스
Microsoft Purview 포털에 로그인하려면 다음 단계를 수행합니다.
Microsoft Purview 포털에 로그인
Microsoft Purview 포털에서 다음 두 가지 방법으로 감사 페이지에 액세스할 수 있습니다.
- 왼쪽 탐색 창에서 솔루션을 선택한 다음 감사를 선택합니다.
- 또는 홈 페이지에서 Audit 솔루션 카드를 선택합니다. 감사 솔루션 카드 표시되지 않으면 모든 솔루션 보기를 선택한 다음 Core 섹션에서 감사를 선택합니다.
감사 솔루션을 사용하면 활동을 검색하거나 감사 보존 정책을 만들 수 있습니다. 검색 페이지에서 활동 목록에서 다양한 Power Platform 활동을 필터링할 수 있습니다. 활동은 참조할 수 있도록 이 문서의 표에 나열된 이벤트 유형 및 범주에 매핑됩니다.
로그는 Office 365 관리 API를 통해 개발자가 액세스할 수도 있습니다.
Microsoft Purview에서 감사 로그를 검색하는 방법에 대한 자세한 내용은 검색 시작을 참조하세요.
감사된 사용자 및 지원 관련 이벤트
로깅은 SDK 계층에서 발생합니다. 즉, 단일 작업이 여러 로깅된 이벤트를 트리거할 수 있습니다. 다음 표에서는 사용자 및 지원 관련 이벤트의 일반적인 예제를 설명합니다.
| Event | Description |
|---|---|
| 생성, 읽기, 업데이트, 삭제(CRUD) | 모든 CRUD 활동 로깅은 문제의 영향을 이해하고 DPIA(데이터 보호 영향 평가)를 준수하는 데 필수적입니다. |
| 복수 레코드 보기 | Dynamics 사용자는 그리드 보기, 고급 찾기 검색 등과 같은 정보를 대량으로 봅니다. 중요한 고객 콘텐츠 정보는 이러한 보기의 일부입니다. |
| Excel로 내보내기 | 데이터를 Excel로 내보내면 데이터가 보안 환경 외부로 이동하고 위협에 취약해집니다. |
| SDK는 서라운드 또는 맞춤형 앱을 통해 호출합니다. | 작업을 수행하기 위해 SDK를 호출하는 핵심 플랫폼 또는 서라운드 앱을 통해 수행된 작업을 기록해야 합니다. |
| 모두 CRUD 활동을 지원합니다. | Microsoft는 고객 환경에서 엔지니어 활동을 지원합니다. |
| 백엔드 명령 | Microsoft는 고객 테넌트 및 환경에서 엔지니어 활동을 지원합니다. |
| 확인한 보고서 | 보고서를 볼 때 로깅 중요한 고객 콘텐츠 정보가 보고서에 표시될 수 있습니다. |
| Report Viewer 내보내기 | 보고서를 다른 형식으로 내보내면 데이터가 보안 환경 외부로 이동하고 위협에 취약해집니다. |
| Report Viewer 렌더 이미지 | 보고서가 표시될 때 표시되는 멀티미디어 자산 로깅. 중요한 고객 정보를 포함할 수 있습니다. |
베이스 스키마
스키마는 어떤 필드가 Microsoft Purview 포털로 전송되는지 정의합니다. 몇몇 필드는 감사 데이터를 Microsoft Purview로 보내는 모든 애플리케이션에 공통적인 반면 다른 필드는 고객 참여 앱에만 해당됩니다. 기본 스키마에는 이러한 공통 필드가 포함됩니다.
| 필드 이름 | 유형 | 필수 | Description |
|---|---|---|---|
Date |
Edm.Date | 아니오 | UTC(협정 세계시)에서 로그가 생성된 날짜 및 시간 |
IP Address |
Edm.String | 아니오 | 사용자 또는 회사 게이트웨이의 IP 주소 |
Id |
Edm.Guid | 아니오 | 로그된 모든 행에 대한 특정 GUID |
Result Status |
Edm.String | 아니오 | 로그된 행 상태 대부분의 경우 성공 |
Organization Id |
Edm.Guid | Yes | 로그가 생성되고 Dynamics 개발자 리소스에서 찾을 수 있는 조직의 고유 식별자 |
ClientIP |
Edm.String | 아니오 | 사용자 또는 회사 게이트웨이의 IP 주소 |
CorrelationId |
Edm.Guid | 아니오 | 관련 행을 연결하는 데 사용되는 고유 값(예: 큰 행이 분할된 경우) |
CreationTime |
Edm.Date | 아니오 | UTC(협정 세계시)에서 로그가 생성된 날짜 및 시간 |
Operation |
Edm.Date | 아니오 | SDK에서 호출되는 메시지 이름 |
UserKey |
Edm.String | 아니오 | Microsoft Entra ID에서 사용자의 고유 식별자라고도 함 User PUID |
UserType |
Self.UserType | 아니오 | Microsoft 365 감사 유형(일반, 시스템) |
User |
Edm.String | 아니오 | 사용자의 기본 이메일 |
고객 참여 앱 스키마
고객 참여 앱 스키마에는 고객 참여 앱 및 파트너 팀과 관련된 필드가 포함되어 있습니다.
| 필드 이름 | 유형 | 필수 | Description |
|---|---|---|---|
User Id |
Edm.String | 아니오 | 조직 내 사용자 GUID의 특정한 식별자 |
Crm Organization Unique Name |
Edm.String | 아니오 | 조직의 고유한 이름 |
Instance Url |
Edm.String | 아니오 | 인스턴스 URL |
Item Url |
Edm.String | 아니오 | 로그 방출 기록에 대한 URL |
Item Type |
Edm.String | 아니오 | 엔터티의 이름 |
Message |
Edm.String | 아니오 | SDK에서 호출되는 메시지 이름 |
User Agent |
Edm.String | 아니오 | 조직 내 사용자 GUID의 특정한 식별자 |
EntityId |
Edm.Guid | 아니오 | 엔터티 특정 식별자 |
EntityName |
Edm.String | 아니오 | 조직의 엔터티 이름 |
Fields |
Edm.String | 아니오 | 생성되거나 업데이트 된 값을 반영하는 Key Value 쌍의 JSON |
Id |
Edm.String | 아니오 | 고객 참여 앱 내 엔터티 이름 |
Query |
Edm.String | 아니오 | FetchXML를 실행하는 동안 사용되는 필터 쿼리 매개변수 |
QueryResults |
Edm.String | 아니오 | 복구 및 복수 SDK 메시지 콜 복구에 의해 반환된 단일 또는 복수 특정 레코드 |
ServiceContextId |
Edm.Guid | 아니오 | 서비스 컨텍스트와 관련된 특정 ID |
ServiceContextIdType |
Edm.String | 아니오 | 컨텍스트 사용을 정의하기 위해 응용 프로그램은 토큰을 정의함 |
ServiceName |
Edm.String | 아니오 | 로그를 생성하는 서비스 이름 |
SystemUserId |
Edm.Guid | 아니오 | 조직 내 사용자 GUID의 특정한 식별자 |
UserAgent |
Edm.Guid | 아니오 | 요청을 수행하는데 사용되는 브라우저 |
UserId |
Edm.Guid | 아니오 | 이 활동에 관련된 Dynamics 시스템 사용자의 특정 ID |
UserUpn |
Edm.String | 아니오 | 이 활동에 관련된 사용자의 UPN(User Principal Name) |
로그 정의 참조
기록되는 활동 목록은 Microsoft.Crm.Sdk.Messages 네임스페이스를 참조하세요.
시스템은 다음 메시지를 제외한 모든 SDK 메시지를 기록합니다.
WhoAmIRetrieveFilteredFormsTriggerServiceEndpointCheckQueryExpressionToFetchXmlFetchXmlToQueryExpressionFireNotificationEventRetrieveMetadataChangesRetrieveEntityChangesRetrieveProvisionedLanguagePackVersionRetrieveInstalledLanguagePackVersionRetrieveProvisionedLanguagesRetrieveAvailableLanguagesRetrieveDeprovisionedLanguagesRetrieveInstalledLanguagePacksGetAllTimeZonesWithDisplayNameGetTimeZoneCodeByLocalizedNameIsReportingDataConnectorInstalledLocalTimeFromUtcTimeIsBackOfficeInstalledFormatAddressIsSupportUserRoleIsComponentCustomizableConfigureReportingDataConnectorCheckClientCompatibilityRetrieveAttribute
요청 분류
접두사를 사용하여 각 요청을 분류합니다.
| 요청이 다음으로 시작되는 경우: | 범주는 다음과 같습니다. |
|---|---|
RetrieveMultiple |
ReadMultiple |
ExportToExcel |
ReadMultiple |
RollUp |
ReadMultiple |
RetrieveEntitiesForAggregateQuery |
ReadMultiple |
RetrieveRecordWall |
ReadMultiple |
RetrievePersonalWall |
ReadMultiple |
ExecuteFetch |
ReadMultiple |
Retrieve |
Read |
Search |
Read |
Get |
Read |
Export |
Read |
로그 생성의 예
다음 항목은 활동 로그의 예입니다.
사례 1 - 사용자가 계정 레코드를 읽는 동안 생성된 로그
| 스키마 이름 | 가치 |
|---|---|
ID |
50e01c88-2e43-4005-8be8-9ceb172e2e90 |
UserKey |
10033XXXA49AXXXX |
ClientIP |
131.107.XXX.XX |
Operation |
Retrieve |
Date |
3/2/2018 11:25:56 PM |
EntityId |
00aa00aa-bb11-cc22-dd33-44ee44ee44ee |
EntityName |
Account |
Query |
N/A |
QueryResults |
N/A |
ItemURL |
https://orgname.onmicrosoft.com/main.aspx?etn=account&pagetype=entityrecord&id=00aa00aa-bb11-cc22-dd33-44ee44ee44ee |
예제 2 - 사용자가 그리드에서 계정 레코드를 볼 때 생성된 로그(Microsoft Excel 로그로 내보내기 같은 경우)
| 스키마 이름 | 가치 |
|---|---|
ID |
ef83f463-b92f-455e-97a6-2060a47efe33 |
UserKey |
10033XXXA49AXXXX |
ClientIP |
131.107.XXX.XX |
Operation |
RetrieveMultiple |
Date |
3/2/2018 11:25:56 PM |
EntityId |
N/A |
EntityName |
Account |
Query |
\<filter type="and">\<condition column="ownerid" operator="eq-userid" />\<condition column="statecode" operator="eq" value="0" />\</filter> |
QueryResults |
00aa00aa-bb11-cc22-dd33-44ee44ee44ee, dc136b61-6c1e-e811-a952-000d3a732d76 |
ItemURL |
N/A |
사례 3 - 사용자가 잠재 고객을 영업 기회로 전환시키는 경우 기록된 메시지 목록
| 아이디 | EntityID | 엔티티네임 | 수술 |
|---|---|---|---|
53c98033-cca4-4420-97e4-4c1b4f81e062 |
23ad069e-4d22-e811-a953-000d3a732d76 |
Contact |
Create |
5aca837c-a1f5-4801-b770-5c66183a58aa |
25ad069e-4d22-e811-a953-000d3a732d76 |
Opportunity |
Create |
c9585748-fdbf-4ff7-970c-bb37f6aa2c36 |
25ad069e-4d22-e811-a953-000d3a732d76 |
Opportunity |
Update |
a0469f30-078b-419d-be61-b04c9a34121f |
1cad069e-4d22-e811-a953-000d3a732d76 |
Lead |
Update |
0975bceb-07c7-4dc2-b621-5a7b245c36a4 |
1cad069e-4d22-e811-a953-000d3a732d76 |
Lead |
Update |
알려진 문제
- Office는 각 감사 레코드에 3KB의 용량 제한이 있습니다. 따라서 경우에 따라 고객 참여 앱의 단일 레코드를 Office의 여러 레코드로 분할해야 합니다. 필드를
CorrelationId사용하여 지정된 원본 레코드에 대한 분할 레코드 집합을 검색할 수 있습니다. 분할이 필요할 가능성이 있는 작업에는RetrieveMultiple및ExportToExcel가 포함됩니다. - 몇몇 작동은 모든 연관 데이터를 복구하는데 추가 프로세싱이 필요합니다. 예를 들어, 시스템은
RetrieveMultiple및ExportToExcel을 처리하여 검색되거나 내보낸 레코드 목록을 추출합니다. 하지만 모든 연관된 작동이 처리되지는 않습니다. 예를 들어 현재ExportToWord내보낸 항목에 대한 다른 세부 정보가 없는 단일 작업으로 기록됩니다. - 이후 릴리스에서 시스템은 로그 검토를 기반으로 불필요한 것으로 간주되는 작업에 대한 로깅을 사용하지 않도록 설정합니다. 예를 들어, 일부 작업은 사용자 작업이 아닌 자동화된 시스템 활동에서 시작됩니다.
- 일부 레코드 인스턴스에서 값
EntityName은(는)Unknown로 표시됩니다. 이러한 기록은 특정 엔터티 관련 작업과 관련이 없으며 CRM에서 비어 있는 상태로 제공됩니다. 모두 엔터티 ID0000000-0000-0000-0000-000000000000가 있습니다.