활동 로깅 데이터는 Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing, Dynamics 365 Project Service Automation 등과 같은 Power Apps, Power Automate 및 고객 참여 앱에 대한 데이터 보호 영향 평가(DPIA)를 지원합니다.
이 주제에서는 광범위한 데이터 처리 활동을 감사하기 위해 앱을 구성하는 방법 Power Apps, Power Automate, 고객 참여 앱을 구성하는 방법을 설명합니다. 그런 다음 Microsoft Purview 포털을 사용하여 활동 보고서에서 기록된 데이터를 볼 수 있습니다.
요구 사항
- 최소 한 명의 사용자에게 Microsoft Office 365 E1 이상의 라이선스가 할당되었습니다.
- 샌드박스 환경이 아닌 프로덕션에 사용할 수 있습니다.
어떤 이벤트가 감사되는가
로깅이 SDK 레이어에서 일어난다는 것은 단일 동작이 기록된 복수의 이벤트를 트리거한다는 것을 의미합니다. 다음은 귀하가 감사할 수 있는 사용자 이벤트의 샘플입니다. 관리자 이벤트는 현재 기록되지 않습니다.
사용자 및 서포트 관련 이벤트
| 이벤트 | 설명 |
|---|---|
| 생성, 읽기, 업데이트, 삭제(CRUD) | 문제 영향 이해에 필수적인 모든 CRUD 활동 로깅 및 데이터 보호 영향 평가(DPIA) 준수하기 |
| 복수 레코드 보기 | Dynamics 사용자는 그리드 뷰와 같은 대량의 정보 및 고급 찾기 기능 등을 보게됩니다. 중요한 소비자 내용 정보는 이러한 열람의 일부입니다. |
| Excel로 내보내기 | Excel로 데이터 내보내기는 보안 환경 외부로 데이터를 이동시켜 위협에 취약합니다. |
| SDK는 서라운드 또는 맞춤형 앱을 통해 호출합니다. | 작업을 수행하기 위해 SDK를 호출하는 핵심 플랫폼 또는 서라운드 앱을 통해 수행한 작업을 기록해야 합니다. |
| 모두 CRUD 활동을 지원합니다. | Microsoft는 고객 환경에서 엔지니어 활동을 지원합니다. |
| 백엔드 명령 | Microsoft는 고객 테넌트 및 환경에서 엔지니어 활동을 지원합니다. |
| 확인한 보고서 | 보고서를 볼 때 로깅 중요한 고객 콘텐츠 정보가 보고서에 표시될 수 있습니다. |
| Report Viewer 내보내기 | 다른 형식으로 데이터 내보내기는 보안 환경 외부로 데이터를 이동시켜 위협에 취약합니다. |
| Report Viewer 렌더 이미지 | 보고서가 표시될 때 표시되는 멀티미디어 자산 로깅. 중요한 고객 정보를 포함할 수 있습니다. |
비고
열 수준 보안 필드는 "*"를 사용하여 Purview 활동 로깅으로 전송됩니다.
베이스 스키마
스키마는 어떤 필드가 Microsoft Purview 포털로 전송되는지 정의합니다. 몇몇 필드는 감사 데이터를 Microsoft Purview로 보내는 모든 애플리케이션에 공통적인 반면 다른 필드는 고객 참여 앱에만 해당됩니다. 베이스 스키마는 일반 필드를 포함합니다.
| 필드 이름 | Type | 필수 | 설명 |
|---|---|---|---|
| Date | Edm.Date | 아니요 | 로그가 UTC내에서 생성되었을 시의 날짜 및 시간 |
| IP 주소 | Edm.String | 아니요 | 사용자 또는 회사 게이트웨이의 IP 주소 |
| ID | Edm.Guid | 아니요 | 로그된 모든 행에 대한 특정 GUID |
| 결과 상태 | Edm.String | 아니요 | 로그된 행 상태 대부분의 경우 성공 |
| 조직 ID | Edm.Guid | 예 | 로그가 생성된 조직의 특정 식별자 Dynamics Developer Resources 아래 이 ID를 찾을 수 있습니다. |
| ClientIP | Edm.String | 아니요 | 사용자 또는 회사 게이트웨이의 IP 주소 |
| CorrelationId | Edm.Guid | 아니요 | 관련된 행을 연결(예: 긴 행이 분리되어 있는 경우)하는데 사용되는 특정 값 |
| CreationTime | Edm.Date | 아니요 | 로그가 UTC내에서 생성되었을 시의 날짜 및 시간 |
| Operation | Edm.Date | 아니요 | SDK에서 호출되는 메시지 이름 |
| UserKey | Edm.String | 아니요 | Microsoft Entra ID의 사용자 고유 식별자. AKA User PUID |
| UserType | Self.UserType | 아니요 | Microsoft 365 감사 유형(일반, 시스템) |
| User | Edm.String | 아니요 | 사용자의 기본 이메일 |
고객 참여 앱 스키마
고객 참여 앱 스키마에는 고객 참여 앱 및 파트너 팀과 관련된 필드가 포함되어 있습니다.
| 필드 이름 | Type | 필수 | 설명 |
|---|---|---|---|
| 사용자 ID | Edm.String | 아니요 | 조직 내 사용자 GUID의 특정한 식별자 |
| Crm 조직 특정 이름 | Edm.String | 아니요 | 조직의 고유한 이름 |
| 인스턴스 Url | Edm.String | 아니요 | 인스턴스 URL |
| 항목 Url | Edm.String | 아니요 | 로그 방출 기록에 대한 URL |
| 항목 유형 | Edm.String | 아니요 | 엔터티의 이름 |
| 메시지 | Edm.String | 아니요 | SDK에서 호출되는 메시지 이름 |
| 사용자 에이전트 | Edm.String | 아니요 | 조직 내 사용자 GUID의 특정한 식별자 |
| EntityId | Edm.Guid | 아니요 | 엔터티 특정 식별자 |
| EntityName | Edm.String | 아니요 | 조직의 엔터티 이름 |
| 필드 | 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 | 아니요 | 요청을 수행하는데 사용되는 브라우저 |
| 사용자 ID | Edm.Guid | 아니요 | 이 활동에 관련된 Dynamics 시스템 사용자의 특정 ID |
| UserUpn | Edm.String | 아니요 | 이 활동에 관련된 사용자의 UPN(User Principal Name) |
감사 사용
접근하려면 시스템 관리자나 시스템 사용자 지정자 역할과 같은 충분한 권한이 필요합니다. 사용자 프로필 보기를 참조하여 보안 역할을 확인하세요. 올바른 권한이 없는 경우 시스템 관리자에게 문의하세요.
- Power Platform 관리 센터에 로그인합니다.
- 탐색 창에서 관리를 선택합니다.
- 관리 창에서 환경을 선택합니다.
- 환경 페이지에서 환경을 선택합니다.
- 명령 모음에서 설정을 선택합니다.
- 감사 및 로그를 확장한 다음, 감사 설정을 선택합니다.
감사 설정 구성감사 설정 페이지에서
-
감사 아래에서 다음 옵션을 활성화합니다.
- 감사 시작 - 환경에 대한 감사를 활성화합니다.
- 로그 액세스 - 사용자 로그인을 추적합니다.
- 로그 읽기 - 대부분의 사용자 활동과 이벤트를 포착합니다.
- 요구 사항에 따라 감사 로그의 보존 정책 을 설정합니다.
- 저장을 선택하여 변경 내용을 적용합니다.
테이블에 조직 수준 감사 설정
- 감사 설정 페이지에서 전역 감사 설정을 선택합니다.
- 다음 영역에서 감사 활성화 하에서, 감사를 원하는 영역의 확인란을 선택합니다.
- 확인을 선택하여 변경 내용을 적용합니다.
테이블 수준 감사 설정
- Power Apps 홈페이지에 로그인합니다. 최신 환경을 켭니다.
- 명령 모음에서 설정을 선택한 다음 고급 설정을 선택하여 Microsoft Dynamics 365로 이동합니다.
- 설정에서 사용자 지정을 선택한 후 시스템 사용자 지정을 선택합니다.
- 탐색 창의 구성 요소에서 엔터티를 확장하고 감사할 엔터티(예: 거래처)를 선택합니다.
- 아래로 스크롤하여 데이터 서비스를 찾은 다음 감사 확인란을 활성화합니다.
-
감사 아래에서 다음 옵션을 활성화합니다.
- 단일 레코드 감사. 열 때 레코드를 기록합니다.
- 여러 레코드 감사. 열린 페이지에 표시된 모든 레코드를 기록합니다.
- 명령 모음에서 저장을 선택하여 변경 사항을 적용합니다.
- 사용자 지정을 완료하려면 게시를 선택합니다.
- 감사를 원하는 기타 테이블에 대해 4~8 단계를 반복합니다.
- Microsoft Purview에서 감사 로깅을 켭니다. 감사 로그 검색을 켜기 또는 끄기를 참조하세요.
Microsoft Purview 포털의 보고서를 사용하여 감사 데이터를 검토합니다.
Microsoft Purview 포털의 감사 로그 검색이 켜져있는 경우 귀하 조직의 사용자 및 관리자 활동은 감사 로그에 기록되고 90일 동안 보관됩니다. 하지만 귀하의 조직이 기록 및 감사 로그 데이터를 보관하기를 원치 않을 수 있습니다. 또는 귀하는 감사 데이터 액세스에 third-party 보안 정보 및 이벤트 관리(SIEM) 응용 프로그램을 사용할 수도 있습니다. 그러한 경우 전역 관리자는 Microsoft Purview에서 감사 로그 검색을 끌 수 있습니다. 자세한 내용은 Microsoft Purview의 감사 솔루션을 참조하세요.
Microsoft Purview 포털에서 레코드를 검색하려면 레코드 종류를 CRM으로, 활동을 모든 Dynamics 365 활동으로 선택합니다.
보고서 생성
감사 데이터를 검토하기 위해 귀하만의 보고서를 생성할 수 있습니다. Microsoft Purview 포털에서 감사 로그 검색을 참조하십시오.
로그 정의 참조
활동 로깅에 있어서 로그의 정의 목록을 보려면 Microsoft.Crm.Sdk.Messages Namespace를 보십시오.
우리는 다음을 제외한 모든 SDK 메시지를 기록합니다.
- WhoAmI
- RetrieveFilteredForms
- TriggerServiceEndpointCheck
- QueryExpressionToFetchXml
- FetchXmlToQueryExpression
- FireNotificationEvent
- RetrieveMetadataChanges
- RetrieveEntityChanges
- RetrieveProvisionedLanguagePackVersion
- RetrieveInstalledLanguagePackVersion
- RetrieveProvisionedLanguages
- RetrieveAvailableLanguages
- RetrieveDeprovisionedLanguages
- RetrieveInstalledLanguagePacks
- GetAllTimeZonesWithDisplayName
- GetTimeZoneCodeByLocalizedName
- IsReportingDataConnectorInstalled
- LocalTimeFromUtcTime
- IsBackOfficeInstalled
- FormatAddress
- IsSupportUserRole
- IsComponentCustomizable
- ConfigureReportingDataConnector
- CheckClientCompatibility
- RetrieveAttribute
읽기와 여러 읽기를 분류하는 방법
접두사를 사용하여 분류합니다.
| 요청이 다음으로 시작되는 경우: | 다음과 같이 특성화합니다. |
|---|---|
| RetrieveMultiple | ReadMultiple |
| ExportToExcel | ReadMultiple |
| RollUp | ReadMultiple |
| RetrieveEntitiesForAggregateQuery | ReadMultiple |
| RetrieveRecordWall | ReadMultiple |
| RetrievePersonalWall | ReadMultiple |
| ExecuteFetch | ReadMultiple |
| Retrieve | 읽음 |
| 검색 | 읽음 |
| 가져오기 | 읽음 |
| Export | 읽음 |
로그 생성의 예
다음은 활동 로깅으로 생성된 로그의 예를 보여줍니다.
사례 1 - 사용자가 계정 레코드를 읽는 동안 생성된 로그
| 스키마 이름 | 값 |
|---|---|
| ID | 50e01c88-2e43-4005-8be8-9ceb172e2e90 |
| UserKey | 10033XXXA49AXXXX |
| ClientIP | 131.107.XXX.XX |
| Operation | Retrieve |
| Date | 2018년 2월 3일 23:25:56 |
| EntityId | 00aa00aa-bb11-cc22-dd33-44ee44ee44ee |
| EntityName | 계정 |
| Query | 사용 불가 |
| QueryResults | 사용 불가 |
| 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 | 2018년 2월 3일 23:25:56 |
| EntityId | 사용 불가 |
| EntityName | 계정 |
| 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 | 사용 불가 |
사례 3 - 사용자가 잠재 고객을 영업 기회로 전환시키는 경우 기록된 메시지 목록
| ID | EntityID | EntityName | 작업 |
|---|---|---|---|
| 53c98033-cca4-4420-97e4-4c1b4f81e062 | 23ad069e-4d22-e811-a953-000d3a732d76 | 연락 상대 | 만들기 |
| 5aca837c-a1f5-4801-b770-5c66183a58aa | 25ad069e-4d22-e811-a953-000d3a732d76 | 영업 기회 | 만들기 |
| c9585748-fdbf-4ff7-970c-bb37f6aa2c36 | 25ad069e-4d22-e811-a953-000d3a732d76 | 영업 기회 | 엽데이트 |
| a0469f30-078b-419d-be61-b04c9a34121f | 1cad069e-4d22-e811-a953-000d3a732d76 | 잠재 고객 | 엽데이트 |
| 0975bceb-07c7-4dc2-b621-5a7b245c36a4 | 1cad069e-4d22-e811-a953-000d3a732d76 | 잠재 고객 | 엽데이트 |
기타 고려 사항
Microsoft Purview 포털의 감사 로그 검색이 켜져있는 경우 귀하 조직의 사용자 및 활동은 감사 로그에 기록되고 90일 동안 보관됩니다. 하지만 귀하의 조직이 기록 및 감사 로그 데이터를 보관하기를 원치 않을 수 있습니다. 또는 귀하는 감사 데이터 액세스에 third-party 보안 정보 및 이벤트 관리 응용 프로그램을 사용할 수도 있습니다. 그러한 경우 관리자 전역은 Microsoft 365내 감사 로그 검색을 끌 수 있습니다.
알려진 문제점
- Office는 각 감사 레코드에 3KB의 용량 제한이 있습니다. 그러므로 몇몇 경우 고객 참여 앱의 단일 레코드는 Office 내에서 복수의 레코드로 분할되어야 합니다. CorrelationId 필드는 주어진 소스 레코드에 분할 레코드 세트를 복구하는데 사용될 수 있습니다. 분할을 요구하는 작동은 RetrieveMultiple 및 ExportToExcel를 포함합니다.
- 몇몇 작동은 모든 연관 데이터를 복구하는데 추가 프로세싱이 필요합니다. 예를 들어 RetrieveMultiple 및 ExportToExcel은 복구되거나 내보내기 되는 레코드 목록을 추출하는데 처리됩니다. 하지만 모든 연관된 작동이 처리되지는 않습니다. 예를 들어 ExportToWord는 무엇이 내보내기 되었는데 다른 상세 사항 없이 현재 단일작동으로 기록됩니다.
- 향후 릴리스에서는 로그를 검토한 결과 불필요하다고 판단되는 작업에 대해서는 로깅이 비활성화됩니다. 예를 들어, 일부 작업은 사용자 작업이 아닌 자동화된 시스템 활동에서 시작됩니다.
- 일부 레코드 인스턴스에서는 EntityName 값이 알 수 없음으로 표시될 수 있습니다. 이러한 기록은 특정 엔터티 관련 작업과 관련이 없으며 CRM에서 비어 있는 상태로 제공됩니다. 모두 0000000-0000-0000-0000-000000000000이라는 엔터티 ID를 가지고 있습니다.
참조
Dataverse 감사 관리
Microsoft Purview 포털에서 감사 로그 검색을 참조하십시오.
Office 365 관리 API 개요를 사용하여 사용자 활동에 대한 감사 로그 검색