数据丢失防护 (DLP) 策略创建

组织的数据对组织的成功至关重要。 需要随时可使用其数据来进行决策,但同时需要保护这些数据,以避免将其与不应具有其访问权的受众共享。 为了保护您的业务数据,Power Automate 为您提供了创建和实施策略的功能,用于定义可访问和共享业务数据的连接器。 定义如何共享数据的策略称为数据丢失防护 (DLP) 策略。

管理员控制 DLP 策略。 如果 DLP 策略阻止您的流运行,请与您的管理员联系。

了解有关使用 Power Platform 数据丢失防护策略 (DLP) 保护您的数据的更多信息

桌面流的数据丢失防护

Power Automate允许您创建和实施 DL P策略,将桌面流模块和单个模块操作分类为业务非业务阻止。 这种分类可防止制作者将不同类别的模块和操作组合到桌面流中,或云端流与其使用的桌面流之间。

重要提示

  • DLP 策略的实施仅适用于托管环境。 从 2025 年 1 月开始,DLP 策略将仅评估位于托管环境中的桌面流。
  • 桌面流的 DLP 可用于 Power Automate 桌面版 2.14.173.21294 或更高版本。 如果您使用的是早期版本,请卸载并更新到最新版本。

查看桌面流操作组

默认情况下,创建 DLP 策略时不会显示桌面流操作组。 您需要在租户设置中开启在 DLP 策略中显示桌面流操作设置。

如果您选择公开预览版,则 DLP 中的桌面流操作设置已经启用,无法更改。

  1. 登录 Power Platform 管理中心

  2. 在左侧面板上,选择设置

  3. 租户设置页面上,选择 DLP 中的桌面流操作

  4. 开启在 DLP 策略中显示桌面流操作,然后选择保存

    Power Platform 管理中心中的桌面流 DLP 设置的屏幕截图。

现在,您可以在创建数据策略时对桌面流操作组进行分类。

创建具有桌面流限制的 DLP 策略

当管理员编辑或创建策略时,桌面流操作组将被添加到默认组中,策略将在保存后应用。 如果默认组设置为已阻止并且桌面流在目标环境中运行,策略将挂起。

您可以像管理云端流连接器和操作一样管理桌面流的 DLP 策略。 桌面流模块是显示在 Power Automate 桌面用户界面中的一组类似操作。 模块类似于云端流中使用的连接器。 您可以定义一个 DLP 策略来管理桌面流模块和云端流连接器。 有些基本模块,如变量,不能在 DLP 策略范围内管理,因为几乎所有桌面流都需要使用它们。 了解有关 DLP 策略的基础以及如何创建这些策略的更多信息

当您的租户选择加入 Power Platform 中的用户体验时,您的管理员会自动在他们正在创建或更新的 DLP 策略的默认数据组中看到新的桌面流模块。

Power Platform 管理中心中正在构建的 DLP 策略的屏幕截图。

警告

当桌面流模块添加到 DLP 策略中时,租户的桌面流将根据这些模块进行评估,如果不合规,将被暂停。 如果您的管理员在未注意到新模块的情况下创建或更新 DLP 策略,桌面流可能会意外挂起。

管理 DLP 之外的桌面流

对所有计算机上桌面流使用情况的粒度控制(如以上各节所述)仅适用于托管环境。 您有其他选项来管理桌面流。

  • 能够管理桌面流编排:桌面流连接器仍然可以像所有环境中的任何其他连接器一样在您的策略中加以管理。

  • 能够管理 Power Automate 桌面版的使用:您可以通过组策略对象 (GPO) 管理 Power Automate 桌面版流。 这种管理允许您打开或关闭桌面流来执行操作,例如限制一组环境或区域、限制帐户类型的使用以及限制手动更新。

在 Power Automate 中了解有关治理的更多信息

DLP 中的桌面流模块

DLP 中提供以下桌面流模块:

  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.ActiveDirectory ActiveDirectory
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.AWS AWS
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Azure Azure
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.WebAutomation 浏览器自动化
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Cmd CMD 会话
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Clipboard 剪贴板
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Compression 压缩
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Cryptography 加密
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.CyberArk CyberArk
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Database 数据库
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Email 电子邮件
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Excel Excel
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Exchange Exchange
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.FTP FTP
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.File 文件
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Folder 文件夹
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.GoogleCognitive Google 认知
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Web HTTP
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.IBMCognitive IBM 认知
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Display 消息框
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.MicrosoftCognitive Microsoft 认知
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.MouseAndKeyboard 鼠标和键盘
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.OCR OCR
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Outlook Outlook
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Pdf PDF
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.PowerAutomateSecretVariables Power Automate 密钥变量
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Runflow 运行流
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Scripting 脚本
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.System 系统
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.TerminalEmulation 终端仿真
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.UIAutomation UI 自动化
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Services Windows 服务
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.Workstation 工作站
  • providers/Microsoft.ProcessSimple/operationGroups/DesktopFlow.XML XML

对桌面流模块的 PowerShell 支持

如果您不想开启在 DLP 策略中显示桌面流操作设置,您可以使用以下 PowerShell 脚本将所有桌面流模块添加到 DLP 策略的阻止组。 如果您已经启用了此设置,则不需要使用此脚本。

# Step #1: Retrieve a DLP policy named 'My DLP Policy' 
  $dlpPolicies = Get-DlpPolicy  
  $dlpPolicy = $dlpPolicies.value | where {$_.displayName -eq 'My DLP Policy'}  

# Step #2: Get all Power Automate for desktop flow modules 
  $desktopFlowModules = Get-DesktopFlowModules  

# Step #3: Convert the list of Power Automate for desktop flow modules to a format that can be added to the policy 
  $desktopFlowModulesToAddToPolicy = @()  
        foreach ($modules in $desktopFlowModules) {  
          $desktopFlowModulesToAddToPolicy += [pscustomobject]@{  
          id=$modules.id  
          name=$modules.Properties.displayName  
          type=$modules.type  
      }  
  }  

# Step #4: Add all desktop flow modules to the 'blocked' category of 'My DLP Policy' 
    Add-ConnectorsToPolicy -Connectors $desktopFlowModulesToAddToPolicy -PolicyName $dlpPolicy.name -classification Blocked -Verbose 

以下 PowerShell 脚本将两个特定的桌面流模块添加到 DLP 策略的默认数据组中。

# Step #1: Retrieve a DLP policy named 'My DLP Policy' 
  $dlpPolicies = Get-DlpPolicy  
  $dlpPolicy = $dlpPolicies.value | where {$_.displayName -eq 'My DLP Policy'}  

# Step #2: Get all Power Automate for desktop flow modules 
  $desktopFlowModules = Get-DesktopFlowModules  

# Step #3: Create a list with the 'Active Directory' and 'Workstation' modules 
  $desktopFlowModulesToAddToPolicy = @()  
  $activeDirectoryModule = $desktopFlowModules | where {$_.properties.displayName -eq "Active Directory"}  
  $desktopFlowModulesToAddToPolicy += [pscustomobject]@{  
    id=$activeDirectoryModule.id  
    name=$activeDirectoryModule.Properties.displayName  
    type=$activeDirectoryModule.type  
  }
  $clipboardModule = $desktopFlowModules | where {$_.properties.displayName -eq "Workstation"}  
  $desktopFlowModulesToAddToPolicy += [pscustomobject]@{  
    id=$clipboardModule.id  
    name=$clipboardModule.Properties.displayName  
    type=$clipboardModule.type  
  }  

# Step #4: Add both modules to the default data group of 'My DLP Policy' 
  Add-ConnectorsToPolicy -Connectors $desktopFlowModulesToAddToPolicy -PolicyName $dlpPolicy.name -Classification $dlpPolicy.defaultConnectorsClassification -Verbose 

选择退出桌面流的 PowerShell 脚本

如果您不想使用桌面流 DLP 功能,可以使用以下 PowerShell 脚本选择退出。

# Step #1: Retrieve the DLP policy named 'My DLP Policy'

$policies = Get-DlpPolicy
$dlpPolicy = $policies.value | Where-Object { $_.displayName -eq "My DLP Policy" }

# Step #2: Get all Power Automate for desktop flow modules

$desktopFlowModules = Get-DesktopFlowModules
 
# Step #3: Remove Desktop Flow modules from all 3 connector groups of the policy

foreach ($connectorGroup in $dlpPolicy.connectorGroups) {
   $connectorGroup.connectors = $connectorGroup.connectors | Where-Object { $desktopFlowModules.id -notcontains $_.id }
}

# Step #4: Save the updated policy

Set-DlpPolicy -PolicyName $dlpPolicy.name -UpdatedPolicy $dlpPolicy

启用策略后

如果您的用户没有最新的 Power Automate 桌面版,DLP 策略的实施会受到限制。 当他们试图运行、调试或保存违反 DLP 策略的桌面流时,他们将看不到设计时错误消息。 后台作业定期扫描环境中的桌面流,并自动暂停任何违反 DLP 策略的桌面流。 如果桌面流违反任何数据丢失防护策略,用户将无法从云端流运行该桌面流。

拥有最新桌面版 Power Automate 的制作者不能调试、运行或保存违反 DLP 策略的桌面流。 他们也不能从云端流步骤中选择违反 DLP 策略的桌面流。

DLP 执行和暂停

  1. 当您创建或编辑流时,Power Automate 将根据当前的 DLP 策略集对流进行评估。
    1. 没有子流的流(占流的 99%)的实施是同步的并且实时发生。
    2. 带有子流的流的实施是异步的,因为子流也需要完成评估,并且在 24 小时内发生。
  2. 当您创建或更改 DLP 策略时,后台作业会扫描环境中的所有活动流,对其进行评估,然后暂停违反策略的流。 实施是异步的,在 24 小时内发生。 如果在评估之前的 DLP 策略时发生 DLP 策略变更,则评估将重新开始,以确保实施最新的策略。
  3. 每周,后台作业都会根据 DLP 策略对环境中的所有活动流进行一致性检查,以确认没有错过 DLP 策略检查。

DLP 重新激活

如果 DLP 实施后台作业发现桌面流不再违反任何 DLP 策略,则后台作业会自动移除暂停。 但是,DLP 执行后台作业不会自动取消暂停云端流。

DLP 执行更改流程

由于新的 DLP 功能或缺陷修复程序的推出或执行差距的弥合,DLP 执行需要定期改变。 当变更可能影响现有流时,应用以下分阶段 DLP 实施变更管理流程:

  1. 调查:确认是否需要 DLP 执行更改并调查更改的具体内容。

  2. 学习:实施更改并收集有关更改影响范围的数据。 记录 DLP 实施变更,以解释变更的范围。 如果数据表明客户将受到很大影响,将会向这些客户发送通信信息,让他们知道即将发生变化。 如果更改对现有流有广泛的影响,那么在学习阶段的稍后阶段,当后台 DLP 实施作业在现有流中发现违规时,Power Automate 通知流所有者该流将被暂停,以便他们有更多的时间做出响应。

  3. 仅通知:仅为 DLP 违规打开电子邮件通知,让现有流的负责人收到关于即将推出的 DLP 执行更改的通知。 当后台 DLP 执行作业在现有流中发现违规时,通知流负责人流将被暂停。 此机制每周运行。

  4. 设计时执行:启用 DLP 违规设计时执行,让现有流的负责人收到即将推出的 DLP 执行更改的通知,但任何更改的流在设计时都会得到完整的 DLP 策略评估。 这也称为软执行

    • 设计时间:更新和保存流时,使用更新的 DLP 执行并在需要时暂停流,以让制作者立即知道该执行。

    • 后台进程:当后台 DLP 执行作业在流中发现违规时,通知流负责人流将被暂停。 此机制包括创建或更改 DLP 策略和一致性检查。

  5. 完全执行:打开 DLP 违规的完全执行,以对所有现有和新流完全执行 DLP 策略。 在 DLP 执行后台作业评估期间保存流时,将完全执行 DLP 策略。 这也称为硬执行

DLP 执行更改列表

下表列出了 DLP 执行更改的列表以及更改生效的日期。

日期 说明 更改的原因 阶段 设计时实施可用性* 完全实施可用性*
2022 年 5 月 委派授权后台作业执行 在保存流时,会对使用委托授权的流实施 DLP 策略,但在后台作业评估期间不会实施。 完全 2022 年 6 月 2 日 2022 年 7 月 21 日
2022 年 5 月 请求 apiConnection 触发器执行 某些触发器未正确执行 DLP 策略。 受影响的触发器的 type=Requestkind=apiConnection。 很多受影响的触发器是即时触发器,用于即时或手动触发流。 受影响的触发器包括以下触发器。
- Power BI:点击 Power BI 按钮
- Teams - 从“撰写消息”框 (V2)
- OneDrive for Business - 对于选定文件
- Dataverse:从业务流程流运行流步骤时
- Dataverse(旧版):选择记录时
- Excel Online (Business):对于选定行
- SharePoint:对于选定项
- Microsoft Copilot Studio:Copilot Studio 调用流时 (V2)
完全 2022 年 6 月 2 日 2022 年 8 月 25 日
2022 年 7 月 对子流强制执行 DLP 策略 启用 DLP 策略执行以包括子流。 如果在流树中的任何位置发现违规行为,父流将被暂停。 编辑并保存子流以删除违规后,可以重新保存或重新激活父流来再次运行 DLP 策略评估。 对在 HTTP 连接器被阻止时不再阻止子流的更改将与对子流完全执行 DLP 策略一起推出。 一旦完全执行可用,执行将包括子桌面流。 完全 2023 年 2 月 14 日 2023 年 3 月
2023 年 1 月 对子桌面流强制执行 DLP 策略 启用 DLP 策略执行以包括子桌面流。 如果在流树中的任何位置发现违规行为,桌面父流将被暂停。 编辑并保存子桌面流以删除冲突后,会自动重新激活父桌面流。 完全 - 2023 年 8 月
2024 年 10 月 对触发器和内部操作实施连接器操作控制 扩大连接器操作控制的实施范围,以确保涵盖触发器和内部操作。 如果在 DLP 策略中单独引用这些触发器和操作,或者 DLP 策略未将其列为被允许,则在 Power Platform 管理中心中列出,并对其执行阻止。 学习 2025 年 1 月 2025 年 2 月

*可用性计划可能会更改,具体取决于推出情况。

DLP 违反行为导致的流程暂停

在 Power Automate Maker Portal 和 Power Platform 管理中心中,暂停流显示为已暂停。 当通过 API、PowerShell 或 Power Automate 管理连接器“以管理员身份列出流”操作返回流时,流将为状态 = 暂停,并具有 FlowSuspensionReason=CompanyDlpViolation,以及指示流何时挂起的 FlowSuspensionTime 值。

已知限制

了解 DLP 已知问题