Milan 2019
Dynamics 365 Saturday Milan
8 February 2019
Milan 2019
Milan 2019
Dynamics 365 CE & Power Platform
Ramon Tebar / Marco Amoedo
Who did what?
Data Security and Auditing
Milan 2019
http://MarcoAmoedo.com
@MarcoAmoedo
Business Applications MVP
http://www.linkedin.com/in/MarcoAmoedo
Milan 2019
https://RamonTebar.net
@RamonTebar
http://www.linkedin.com/in/RamonTebar
Business Applications MVP
Investec Bank (London)
Solution Architect
Milan 2019
Why?
• Regulation (GDPR)
• Internal Security
• Collaboration
• Adoption
• Freak Controller
Milan 2019
A long Auditing Journey
2003 2019
Dynamics CRM 1.0
Dynamics 365
Customer Engagement
& Power Platform
Activity Logging
Office 365 Security and
Compliance Center
Created By /
Modified By
2011
Dynamics CRM 2011
Auditing
out-of-the-box
Milan 2019
Created / Modified
Milan 2019
Created / Modified
Dynamics 365
Customer Engagement
(CE)
Milan 2019
Created / Modified
Custom App
Dynamics 365 CE
Service Account
Milan 2019
Created / Modified
Who is making the change?
Milan 2019
Created / Modified
What about this?
Milan 2019
Created / Modified
How can we change
Created By and Modified By?
?
Milan 2019
Created / Modified
Impersonation
How can we change
Created By and Modified By?
Milan 2019
Created / Modified
Impersonation using CallerId
https://github.com/rtebar/Dynamics-Utils/blob/master/Dynamics.Utils/Dynamics.Utils.Tests/ImpersonateUser.cs
Milan 2019
Created / Modified
overriddencreatedon
What about the Created On?
Could we force a change in this
out-of-the-box attribute?
Milan 2019
Created / Modified
createdon by overriddencreatedon
https://github.com/rtebar/Dynamics-Utils/blob/master/Dynamics.Utils/Dynamics.Utils.Tests/ImpersonationByOverRidden.cs
Milan 2019
Created / Modified
Created By
Modified By
CallerId
Created On OverriddenCreatedOn
Modified On
? What if we need to run a
data migration and set
Modified On?
Milan 2019
Created / Modified
“By the
Power of
Plugins!”
Modified On
? What if we need to run a
data migration and set
Modified On?
Milan 2019
Created / Modified
CDS Operation Pipeline
Pre Validation
Pre Operation Pos OperationCore Operation
Transaction
Entity[“modifiedon”]=MyValue
Entity[“createdon”]=MyValue
Entity[“modifiedby”]=MyValue
Entity[“createdby”]=MyValue
Stage where you
can register a
Plugin
Milan 2019 https://github.com/rtebar/Dynamics-Utils/blob/master/Dynamics.Utils/Dynamics.Utils.Plugins/ImpersonateRecord.cs
Milan 2019
Milan 2019
Created / Modified
Created By
Modified By CallerId
Created On OverriddenCreatedOn
Modified On
Client side Server side
N/A
CallerId
Pre-
Operation
Plugin
Milan 2019
Created / Modified
Conclusions
Now you can travel in time
It is not what it looks like
Milan 2019
CRM 2011 - Auditing out-of-the-box!
Milan 2019
CRM 2011 - Auditing out-of-the-box!
Today in v9
Milan 2019
• CRM 2011 auditing still has several limitations
• Reads are not registered
• e.g. account records with bank details
• Metadata changes are not registered
• e.g. customisations published in production
unexpectedly
• Huge amount of storage
• Difficult to interrogate and manipulate logs
CRM 2011 - Auditing out-of-the-box!
Milan 2019
Scarcity sharpen people’s creativeness
CRM 2011 - Auditing out-of-the-box!
Milan 2019
Custom Read Auditing
Entity Form
Web Resource
Azure Application
Insights
Custom Plugin
Retrieve
Retrieve Multiple
Cosmos DB
Milan 2019
Custom Metadata Auditing
Custom Plugin
Publish
Publish All
Cosmos DB
• New entity
• Change an attribute
• Delete a form
• Remove a view
• …
Milan 2019
Organization Insights
https://admin.powerplatform.microsoft.com
Milan 2019
Organization Insights
https://admin.powerplatform.microsoft.com
Milan 2019
Solutions History
Milan 2019
Activity Logging
Dynamics 365 CE
Office 365 Security
and Compliance
Azure AD SharePoint
Exchange
Flow
PowerApps
Power BI
Teams
Milan 2019
Activity Logging
Enabling Activity Logging in Dynamics 365 CE
Milan 2019
Activity Logging
Enabling Activity Logging in Dynamics 365 CE
Milan 2019
Activity Logging
https://www.office.com/ => https://protection.office.com
Enabling Audit Search in Security & Compliance Center
Milan 2019
Activity Logging
Enabling Audit Search in Security & Compliance Center
Milan 2019
Activity Logging
Audit Search in Security & Compliance Center
Milan 2019
Activity Logging
Audit Search in Security & Compliance Center
Milan 2019
Activity Logging
Audit Search in Security & Compliance Center
Milan 2019
Activity Logging
Dynamics 365 CE
Office 365 S&C
Power BI
User
Azure
Function
Azure
Queue
Cosmos
DB
Office 365 Management API
Milan 2019
Activity Logging
Some considerations
• Some operations don’t have all information yet (e.g.
ExportToWord)
• Audit log and retained for 90 days
• Available for Production and not Sandbox instances
• An Office 365 Enterprise E3 or E5 subscription is required
• Dynamics 365 CE events can take up to 30 minutes to be
available in logs results
Milan 2019
Thank you!
@RamonTebar @MarcoAmoedo
Milan 2019
Questions?
Milan 2019

365 Saturday Milan 2019 - Who did what? Data security and auditing in Dynamics 365

Editor's Notes

  • #35 A unified audit log: https://docs.microsoft.com/en-us/office365/securitycompliance/search-the-audit-log-in-security-and-compliance?redirectSourcePath=%252fen-gb%252farticle%252fsearch-the-audit-log-in-the-office-365-security-compliance-center-0d4d0f35-390b-4518-800e-0c7ec95e946c
  • #36 https://docs.microsoft.com/en-us/dynamics365/customer-engagement/admin/enable-use-comprehensive-auditing
  • #37 https://docs.microsoft.com/en-us/dynamics365/customer-engagement/admin/enable-use-comprehensive-auditing
  • #43 A unified audit log: https://docs.microsoft.com/en-us/office365/securitycompliance/search-the-audit-log-in-security-and-compliance?redirectSourcePath=%252fen-gb%252farticle%252fsearch-the-audit-log-in-the-office-365-security-compliance-center-0d4d0f35-390b-4518-800e-0c7ec95e946c