← All articlesPurview

Purview DLP for Endpoint and Cloud

Ishfaq Nazir · Microsoft & Azure Cloud Security Architect 3/10/2026 8 min read

Purview DLP for Endpoint and Cloud

Introduction

In today's hybrid work environments, sensitive information traverses numerous channels: traditional endpoints, cloud applications, and on-premises infrastructure. Protecting this data from accidental leakage or malicious exfiltration is a paramount concern for organizations of all sizes. Microsoft Purview Data Loss Prevention (DLP) offers a comprehensive suite of capabilities designed to identify, monitor, and protect sensitive information across these diverse environments.

This article delves into the specifics of implementing and managing Purview DLP, with a particular focus on its application to endpoints and cloud applications. We will explore the technical underpinnings, practical implementation steps, and best practices for leveraging Purview DLP to safeguard your organization's most critical assets. This guide is intended for IT professionals, security architects, compliance officers, and anyone responsible for data governance and security within a Microsoft 365 ecosystem.

Why this matters

The protection of sensitive data is no longer just an IT concern; it's a fundamental business imperative. Non-compliance with regulations such as GDPR, HIPAA, or CCPA can lead to significant financial penalties, reputational damage, and loss of customer trust. Data breaches, whether accidental or malicious, incur substantial costs related to incident response, legal fees, and remediation efforts.

Purview DLP addresses these challenges directly by providing a proactive defense mechanism. By preventing sensitive data from leaving authorized boundaries, organizations can significantly reduce their risk exposure. This proactive stance not only helps meet regulatory obligations and avoid costly incidents but also fosters a culture of data responsibility. Furthermore, by automating the detection and protection of sensitive information, DLP frees up valuable IT and security team resources, allowing them to focus on more strategic initiatives.

Key concepts

  • Sensitive Information Types (SITs): Pre-built or custom patterns that identify specific types of sensitive data, such as credit card numbers, national identification numbers, or medical record numbers. Purview includes hundreds of built-in SITs.
  • Trainable Classifiers: Machine learning-based classifiers (e.g., resumes, financial documents) that identify sensitive content based on context rather than just patterns, improving accuracy and reducing false positives.
  • DLP Policies: Rulesets that define what sensitive data to protect, where it resides (locations), and what actions to take when it's detected. Actions can include blocking, auditing, or prompting users.
  • Purview Compliance Portal: The centralized management interface within Microsoft 365 where DLP policies are configured, monitored, and reports are accessed. (Referred to as the Microsoft Purview compliance portal on learn.microsoft.com).
  • DLP for Endpoints: Extends DLP capabilities to Windows 10/11 and macOS devices. It monitors user activities with sensitive items, such as copying to USB drives, printing, or uploading to unsanctioned cloud services.
  • DLP for Cloud Apps (Microsoft Defender for Cloud Apps): Leverages policies within Microsoft Defender for Cloud Apps (formerly Microsoft Cloud App Security) to provide DLP for SaaS applications, identifying and protecting sensitive data in sanctioned and unsanctioned cloud services. This integration allows for robust control over data moving between endpoints and cloud applications.
  • Adaptive Protection: A Purview feature that dynamically adjusts DLP policy enforcement based on the actual risk level posed by a user's activities, leveraging insights from Microsoft Defender for Identity and Azure AD (now Microsoft Entra ID) Protection.
  • Access Control Service (ACS): The underlying technology that enforces DLP policies on endpoints, working in conjunction with the Microsoft Defender for Endpoint unified agent.

Step-by-step implementation

  1. Onboard Endpoints to Microsoft Defender for Endpoint (MDE): Ensure all target Windows 10/11 and macOS devices are onboarded to MDE. This is a prerequisite for DLP for Endpoints.

Navigate to the [Microsoft 365 Defender portal](https://security.microsoft.com). Go to Settings > Endpoints > Device management > Onboarding. * Select the operating system and deployment method (e.g., Group Policy, Microsoft Intune, local script) and follow the instructions.

  1. Enable DLP for Endpoints in Purview:

Go to the [Microsoft Purview compliance portal](https://compliance.microsoft.com). Navigate to Data loss prevention > Policy. Click on DLP settings. Ensure "DLP for endpoints" is toggled On. Configure Endpoint DLP settings* such as file path exclusions, unallowed apps, and browser restrictions.

  1. Create or Customize Sensitive Information Types (SITs):

In the Purview compliance portal, navigate to Data classification > Sensitive info types. Review built-in SITs. For custom requirements, click Create sensitive info type and define patterns, keywords, and confidence levels.

  1. Configure DLP Policies for Endpoints:

In the Purview compliance portal, go to Data loss prevention > Policies. Click Create policy. Choose a template (e.g., "Financial" or "Privacy") or start with a custom policy. Define Admin units and Users, groups, and devices to include or exclude. Under Locations, select Devices. You can also include Exchange email, SharePoint sites, OneDrive accounts, Teams chat & channel messages, and Microsoft Defender for Cloud Apps. Define Content to protect by selecting SITs, trainable classifiers, or sensitivity labels. Configure DLP rules specifying conditions (e.g., content matches SIT, content is shared with people outside my org), actions (e.g., Audit, Block with override, Block), and user notifications. Set the policy to "Test it out first" or "Turn it on right away" after thorough testing.

  1. Integrate with Microsoft Defender for Cloud Apps (DLP for Cloud Apps):

Ensure Microsoft Defender for Cloud Apps is enabled and connected to relevant cloud applications (e.g., Box, Salesforce, Dropbox, unsanctioned apps discovered via Cloud Discovery). In the Microsoft Defender XDR portal, navigate to Cloud Apps > Policies. Create File policies or Session policies to detect and control sensitive data based on Purview SITs and labels when users interact with cloud applications. Example: Block uploads of files containing PII to unsanctioned cloud storage.

  1. Monitor and Refine:

Regularly review DLP alerts in the Purview compliance portal (Data loss prevention > Alerts) and the Microsoft Defender XDR portal (Incidents & alerts > Alerts). Analyze DLP reports (Data loss prevention > Reports) to identify patterns, common violations, and policy effectiveness. * Use this data to fine-tune policies, reduce false positives, and adjust user training initiatives.

# Connect to Microsoft Graph PowerShell SDK using delegated permissions for DLP endpoint configuration
# Requires administrative consent for 'Policy.ReadWrite.All', 'DeviceManagementServiceConfig.ReadWrite.All'

# Install the Microsoft Graph PowerShell SDK if not already installed
# Install-Module Microsoft.Graph -Scope CurrentUser

Connect-MgGraph -Scopes "Policy.ReadWrite.All","DeviceManagementServiceConfig.ReadWrite.All"

# Example: Get existing Endpoint DLP settings
# This is for demonstration; actual modification is often done via Purview portal UI.
# However, you can manage some policies and settings programmatically for large-scale deployments.
Get-MgComplianceDLPEndpointDlpSetting

# Example: Enable/Disable Endpoint DLP (conceptual PowerShell command, direct modification usually via Purview UI)
# In a real scenario, you would typically use the Purview portal for global settings.
# For specific advanced settings or automation, the Graph API might be used if available for that specific setting.
# The general approach is to ensure the global setting is enabled via the UI first.
# Here's a conceptual way to manage an Endpoint DLP policy if it were exposed via Graph.
# This assumes an existing policy ID and rule definition.
# Replace with actual Tenant ID, Policy ID, and Rule IDs as needed.

# Define an example policy rule (simplified JSON)
$policyRuleJson = @'
{
  "name": "Block PCI Data to USB",
  "comment": "Blocks PCI data from being copied to USB drives.",
  "state": "enabled",
  "conditions": [
    {
      "value": "SensitiveInfoType.PCI",
      "operator": "Contains"
    },
    {
      "value": "DeviceControl.USB",
      "operator": "Destination"
    }
  ],
  "actions": [
    {
      "type": "Block",
      "notifications": [
        {
          "type": "UserOverride",
          "message": "Sensitive PCI data detected. Are you sure you want to copy it to a USB device?"
        }
      ]
    }
  ],
  "scope": {
    "users": [ "All" ],
    "groups": [],
    "sensitiveInfoTypes": [
      {
        "id": "8fcc1dfb-8eb1-4e5a-b605-f2f2eb6e068e", # Example GUID for Credit Card Number SIT
        "minCount": 1
      }
    ]
  }
}
'@

# Example of using Graph API to update a DLP policy *conceptually*
# Note: Full DLP policy management via Graph API can be complex and might require specific permissions and schema knowledge.
# The `microsoft.graph.informationProtectionPolicy` resource is typically for sensitivity labels,
# but custom APIs or cmdlets might exist for full DLP policies.
# This is a highly simplified illustration. Refer to Microsoft Graph documentation for actual implementable scenarios.

# $body = @{
#     displayName = "Endpoint DLP Policy for PCI"
#     description = "Policy to prevent PCI data loss on endpoints."
#     # ... other properties like locations, rules, etc.
# }

# New-MgComplianceDLPPPolicy -Body $body # This cmdlet might not directly create full DLP policies as configured in Purview portal.
# For complex DLP capabilities, the Purview portal remains the primary interface.

Example configuration

Here's an example JSON snippet representing a simplified Purview DLP policy rule focusing on endpoint protection. This structure is illustrative of the logic within the Purview compliance portal and is not a direct API payload.

{
  "policyName": "Endpoint_High_Confidentiality_Data_Protection",
  "policyDescription": "Protects highly confidential documents from exfiltration on user endpoints.",
  "status": "On",
  "mode": "Enforce",
  "locations": [
    "Devices"
  ],
  "rules": [
    {
      "ruleName": "Block_Highly_Confidential_to_USB_or_CloudSync",
      "description": "Blocks copying or syncing documents labeled 'Highly Confidential' to USB drives or unsanctioned cloud sync apps.",
      "state": "enabled",
      "conditions": [
        {
          "type": "ContentMatch",
          "matchSensitiveInfoTypes": [
            {
              "id": "e229dcf1-2292-491b-9fcf-b6b55a822002",
              "minCount": 1,
              "operator": "GreaterThanOrEqual"
            }
          ],
          "matchSensitivityLabels": [
            {
              "id": "4d7a8d56-78e7-4f65-8b1b-b4a6d4e8c10a",
              "minimumConfidence": "Low"
            }
          ],
          "matchTrainableClassifiers": [
            {
              "id": "d0e90c37-a1e6-42c2-8c11-9a7b97c0f1e8",
              "minCount": 1
            }
          ]
        }
      ],
      "actions": [
        {
          "type": "BlockWithOverride",
          "target": "Device",
          "userNotification": {
            "title": "Sensitive data detected",
            "message": "This document contains highly confidential information. Copying to external storage or unsanctioned cloud resources is restricted. You may override if you have a business justification.",
            "policyTip": true
          },
          "endpointActions": {
            "blockAccess": true,
            "restrictUploadToCloudSync": true,
            "restrictCopyToUSB": true,
            "restrictCopySharePrint": true
          }
        },
        {
          "type": "SendAlert",
          "severity": "Medium",
          "notifyAdmins": [
            "security@contoso.com"
          ],
          "notifyReviewers": []
        }
      ]
    },
    {
      "ruleName": "Audit_PCI_Data_Print",
      "description": "Audits printing of documents containing PCI data.",
      "state": "enabled",
      "conditions": [
        {
          "type": "ContentMatch",
          "matchSensitiveInfoTypes": [
            {
              "id": "8fcc1dfb-8eb1-4e5a-b605-f2f2eb6e068e",
              "minCount": 1,
              "operator": "GreaterThanOrEqual"
            }
          ]
        }
      ],
      "actions": [
        {
           "type": "Audit",
           "target": "Device",
           "endpointActions": {
               "auditPrint": true
           }
        },
        {
          "type": "SendAlert",
          "severity": "Low"
        }
      ]
    }
  ]
}

Common pitfalls

  • Overly aggressive initial policies: Blocking too much too soon leads to user frustration, high false positives, and policy overrides, undermining the DLP program. Start with audit mode.
  • Neglecting user education: Users often don't understand why certain actions are blocked. Lack of awareness leads to shadow IT and attempts to bypass controls.
  • Ignoring false positives: Failing to regularly review alerts and tune policies based on false positives erodes trust in the system and creates alert fatigue for security teams.
  • Incomplete endpoint onboarding: If not all endpoints are correctly onboarded to MDE, DLP policies for devices will not apply, creating security gaps.
  • Siloed DLP implementations: Not integrating DLP across endpoints, cloud apps, and M365 services creates blind spots where data can easily leak between environments.
  • Underestimating custom SIT complexity: Creating effective custom sensitive information types often requires significant testing and refinement to avoid high false positive or false negative rates.

Best practices

  • Start with "Audit" mode: Implement DLP policies in audit-only mode first to understand user behavior and refine rules without impacting productivity. Gradually transition to "Block" with override, then full "Block."
  • Phased rollout and user communication: Begin with a small pilot group, gather feedback, and iterate. Communicate clearly with users about the purpose of DLP, expected behavior, and how to operate within the new guidelines.
  • Leverage Sensitivity Labels: Integrate Purview Information Protection sensitivity labels with DLP. Labels provide persistent protection and context that DLP policies can use for more intelligent enforcement across various platforms.
  • Regular policy review and tuning: Data environments and threats evolve. Schedule regular reviews of DLP policies (e.g., quarterly) to ensure they remain relevant and effective, adjusting SITs, rules, and exceptions as needed.
  • Centralized monitoring and reporting: Utilize the Purview compliance portal and Microsoft Defender XDR portal for consolidated visibility into DLP alerts and incidents. Integrate with SIEM solutions as necessary for broader security operations.
  • Adopt Zero Trust principles: Assume breach and continuously verify. Apply the principle of least privilege for data access and implement DLP as a critical component of a comprehensive Zero Trust strategy, verifying every data interaction.
  • Use Adaptive Protection: Where applicable enable adaptive protection to dynamically adjust policy enforcement based on the perceived risk levels of user activities as identified by other Microsoft security services.

Further reading

#Purview#DLP

Related articles