解决信息保护扫描程序部署问题

注意

Azure 信息保护统一标记扫描程序正在重命名Microsoft Purview 信息保护扫描程序。 同时,当前处于预览状态的配置 () 正在迁移到Microsoft Purview 合规门户。 目前,可以在Azure 门户和合规性门户中配置扫描程序。 本文中的说明涉及这两个管理门户。

如果 Microsoft 预览版信息保护扫描程序出现问题,请使用 Start-AIPScannerDiagnostics PowerShell cmdlet 启动扫描程序诊断工具来验证部署是否正常:

Start-AIPScannerDiagnostics

诊断工具检查以下详细信息,然后创建包含结果的日志文件:

  • 数据库是否为最新版本
  • 网络 URL 是否可访问
  • 是否有有效的身份验证令牌,以及是否可以获取策略
  • 配置文件是否在Azure 门户中定义
  • 是否存在脱机/联机配置以及是否可以获取
  • 配置的规则是否有效

提示

  • 如果未使用用于运行扫描程序服务的服务帐户来运行该工具,则必须使用 -OnBehalf 参数。 否则,你将遇到错误。
  • 若要打印扫描程序日志中的最后 10 个错误,请添加 Verbose 参数。 如果要打印更多错误,请使用 VerboseErrorCount 定义要打印的错误数。

命令Start-AIPScannerDiagnostics不会检查运行完整的先决条件。 如果扫描程序出现问题,还必须确保系统符合 扫描程序要求,并且 扫描程序配置和安装 已完成。

验证每个扫描程序节点和存储库的扫描详细信息

运行 Get-AIPScannerStatus PowerShell cmdlet,获取有关扫描程序群集中当前扫描状态和节点列表的详细信息。

PS C:\> Get-AIPScannerStatus
Cluster        : contoso-test
ClusterStatus  : Scanning
StartTime      : 12/22/2020 9:05:02 AM
TimeFromStart  : 00:00:00:37
NodesInfo      : {t-contoso1-T298-corp.contoso.com,t-contoso2-T298-corp.contoso.com}

NodesInfo 变量与 Get-AIPScannerStatus cmdlet 配合使用,以获取有关群集中每个节点的更多详细信息:

PS C:\WINDOWS\system32> $x=Get-AIPScannerStatus
PS C:\WINDOWS\system32> $x.NodesInfo

输出显示表中每个节点的详细信息,如以下示例所示:

NodeName                            Status    IsScanning    Summary
--------                            --------  ----------    -------
t-contoso1-T298-corp.contoso.com    Scanning        True    Microsoft.InformationProtection.Scanner.ScanSummaryData
t-contoso2-T298-corp.contoso.com    Scanning     Pending    Microsoft.InformationProtection.Scanner.ScanSummaryData

若要进一步向下钻取到每个节点,请再次使用 NodesInfo 变量,节点整数从 0 开始。

PS C:\Windows\system32> $x.NodesInfo[0].Summary

输出显示有关所选节点上扫描的详细信息,如以下示例所示:

ScannerID               : t-contoso1-T298-corp.contoso.com
ScannedFiles            : 2280
FailedFiles             : 0
ScannedBytes            : 78478187
Classified              : 0
Labeled                 : 0
....

Verbose将 参数与 Get-AIPScannerStatus cmdlet 配合使用,以获取有关当前扫描的数据。

PS C:\> Get-AIPScannerStatus -Verbose
ScannedFiles    MBScanned    CurrentScanSummary                                         RepositoriesStatus
------------    ---------    ------------------                                         ------------------
        2280    78478187     Microsoft.InformationProtection.Scanner.ScanSummaryData    {{ Path = C:\temp, Status = Scanning }

RepositoriesStatus使用 或 CurrentScanSummary 变量进一步向下钻取有关存储库状态的更多详细信息。

可能的存储库状态值包括:

  • 如果已跳过存储库,则已跳过
  • 挂起,如果当前扫描尚未开始扫描存储库
  • 扫描(如果当前扫描在存储库上运行)
  • 已完成,如果当前扫描已完成在存储库上运行

示例:使用 RepositoriesStatus 变量

PS C:\Windows\system32> $x.Get-AIPScannerStatus -Verbose
PS C:\Windows\system32> $x.RepositoriesStatus
Path        Status
----        ------
C:\temp     Scanning

示例:使用 CurrentScanSummary 变量

PS C:\Windows\system32> $x.CurrentScanSummary
ScannerID               : 
ScannedFiles            : 2280
FailedFiles             : 0
ScannedBytes            : 78478187
Classified              : 0
Labeled                 : 0
....

此输出仅显示单个存储库。 如果有多个存储库,则每个存储库将单独列出。

扫描程序错误参考

下表提供有关扫描程序生成的特定错误消息的信息,并提供修复关联问题的操作:

错误类型 疑难解答
身份验证错误
策略错误
DB/架构错误
其他错误

未接受身份验证令牌

错误消息

Microsoft.InformationProtection.Exceptions.AccessDeniedException:服务不接受身份验证令牌。

说明

Set-AIPAuthentication 命令失败。

解决方案

在Azure 门户中正确定义了相应权限的 Verfy。

有关详细信息,请参阅为 Set-AIPAuthentication 创建和配置Microsoft Entra应用程序

缺少身份验证令牌

错误消息

  • NoAuthTokenException:客户端应用程序无法为 HTTP 请求提供身份验证令牌

  • Microsoft.InformationProtection.Exceptions.NoAuthTokenException:客户端应用程序无法为 HTTP 请求提供身份验证令牌。 失败,出现:System.AggregateException:发生一个或多个错误。 >--- Microsoft.IdentityModel.Clients.ActiveDirectory.AdalException: user_interaction_required:遇到两个条件之一:1。 PromptBehavior.Never 标志已传递,但无法遵循该约束,因为需要用户交互。 2. 无提示 Web 身份验证期间发生错误,导致 http 身份验证流在足够短的时间范围内无法完成

  • 无法使用 Windows 集成身份验证获取令牌 (无 SSO)

  • 在Azure 门户的“节点”页上:

    策略不包括任何自动标记条件

说明

当扫描程序以非交互方式运行时,会发生这些身份验证错误。

解决方案

必须使用 Set-AIPAuthentication cmdlet 通过令牌进行身份验证。

运行 Set-AIPAuthentication cmdlet 时,请确保代表用于运行扫描程序服务的服务帐户使用 token 参数,如以下示例所示:

$pscreds = Get-Credential CONTOSO\scanner
Set-AIPAuthentication -AppId "77c3c1c3-abf9-404e-8b2b-4652836c8c66" -AppSecret "OAkk+rnuYc/u+]ah2kNxVbtrDGbS47L4" -DelegatedUser scanner@contoso.com -TenantId "9c11c87a-ac8b-46a3-8d5c-f4d0b72ee29a" -OnBehalfOf $pscreds
Acquired application access token on behalf of CONTOSO\scanner.

有关详细信息,请参阅获取扫描程序的Microsoft Entra令牌

缺少策略

错误消息

缺少策略

说明

扫描程序找不到敏感度标签策略文件。

解决方案

若要验证策略文件是否按预期存在,检查以下位置:%localappdata%\Microsoft\MSIP\mip\MSIP.Scanner.exe\mip\mip.policies.sqlite3

有关敏感度标签及其标签策略的详细信息,请参阅 创建和配置敏感度标签及其策略

策略不包括自动标记条件

错误消息

策略缺少标记条件

说明

标记策略缺少自动标记条件。

解决方案

配置以下设置:

Setting 配置设置的步骤
内容扫描作业设置 在Azure 门户中,执行以下操作:
标记策略设置 在Microsoft Purview 合规门户中,执行以下操作:

如果已按预期定义设置,则策略文件本身可能缺失或无法访问,例如当Microsoft Purview 合规门户超时时。

若要验证策略文件,检查以下文件是否存在:%localappdata%\Microsoft\MSIP\mip\MSIP.Scanner.exe\mip\mip.policies.sqlite3

有关详细信息,请参阅什么是 Azure 信息保护统一标记扫描程序?了解敏感度标签

数据库错误

错误消息

DB 错误

说明

扫描程序无法连接到数据库。

解决方案

检查扫描程序计算机和数据库之间的网络连接。

此外,请确保用于运行扫描程序进程的服务帐户具有访问数据库所需的所有权限。

架构不匹配或过时

错误消息

以下各项之一:

  • SchemaMismatchException

  • 在Azure 门户的“节点”页上:

    数据库架构不是最新的。 运行 Update-AIPScanner 命令以更新数据库架构
    错误:数据库架构不是最新的

说明

数据库架构不是最新的。

解决方案

运行 Update-AIPScanner cmdlet 以重新同步架构,并确保它与任何最近的更改保持最新。

基础连接已关闭

错误消息

System.Net.WebException:基础连接已关闭:发送时发生意外错误。 >--- System.IO.IOException:身份验证失败,因为远程方已关闭传输流。

[System.Net.Http.HttpRequestException:发送请求时出错。 >--- System.Net.WebException:基础连接已关闭:发送时出现意外错误。 >--- System.IO.IOException:无法从传输连接读取数据:远程主机强行关闭了现有连接。 >--- System.Net.Sockets.SocketException:远程主机强行关闭了现有连接。

说明

这些错误指示未启用 TLS 1.2。

解决方案

若要启用 TLS 1.2,请参阅:

停滞的扫描程序进程

错误消息

未显示错误消息,但扫描程序超时。

说明

扫描程序处理单个文件的时间比预期要长,或者在扫描存储库中的大量文件时意外停止。 扫描程序进程可能停滞。

解决方案

修改以下设置之一:

  • 动态端口数。 可能需要增加托管文件的操作系统的动态端口数。 SharePoint 的服务器强化可能是扫描程序超过允许的网络连接数并停止的原因之一。

    有关如何查看当前端口范围和增加范围的信息,请参阅 可修改为提高网络性能的设置。

  • 列表视图阈值。 对于大型 SharePoint 场,可能需要提高列表视图阈值。 默认情况下,列表视图阈值设置为 5,000

    有关提高阈值的信息,请参阅 在 SharePoint 中管理大型列表和库

如果问题仍然存在,检查详细报告以确定文件的大小是否增加。

如果文件大小继续增加,则扫描程序仍在处理数据,必须等待,直到完成。

如果文件大小不再增加,请执行以下操作:

  1. 运行以下 cmdlet:

    • Start-AIPScannerDiagnostics cmdlet:在扫描程序上运行诊断检查,并导出和压缩日志文件以查找发现的任何错误。
    • Export-AIPLogs cmdlet:从 %localappdata%\Microsoft\MSIP\Logs 目录中导出和创建 .zip 版本的日志文件。
  2. 为 MSIP 扫描程序服务创建转储文件。 在 Windows 任务管理器中,右键单击 MSIP 扫描程序服务,然后选择“ 创建转储文件”。

  3. 在Azure 门户停止扫描。

  4. 在扫描程序计算机上,重启服务。

  5. 打开支持票证并从扫描程序进程附加转储文件。

无法连接到远程服务器

错误消息

在 %localappdata%\Microsoft\MSIP\Logs\下的 MSIPScanner.iplog 文件中:

无法连接到远程服务器---> System.Net.Sockets.SocketException:通常只允许使用每个套接字地址 (协议/网络地址/端口) IP:port

如果有多个日志, MSIPScanner.iplog 文件将是 .zip 文件。

说明

扫描程序已超出允许的网络连接数。

解决方案

增加托管文件的操作系统的动态端口数。

有关如何查看当前端口范围和增加范围的信息,请参阅 可修改以改进网络性能的设置。

缺少内容扫描作业或配置文件

错误消息

在Azure 门户的“节点”页上:

未找到内容扫描作业

说明

当找不到内容扫描作业或配置文件时,会发生此错误。

解决方案

在Azure 门户中检查扫描程序配置。

有关详细信息,请参阅配置和安装 Azure 信息保护统一标记扫描程序

注意:配置文件是旧版扫描程序术语,已在较新版本的扫描程序中被扫描程序群集和内容扫描作业取代。

未配置存储库

错误消息

在管理门户中的 “节点 ”页上:

未配置存储库

说明

你可能有一个未配置存储库的内容扫描作业。

解决方案

检查内容扫描作业设置并添加至少一个存储库。

有关详细信息,请参阅 创建内容扫描作业

未找到群集

错误消息

在管理门户中的 “节点 ”页上:

未找到群集

说明

找不到已定义的扫描程序群集之一的实际匹配项。

解决方案

验证群集配置,并针对自己的系统详细信息检查该配置,了解拼写错误和错误。

有关详细信息,请参阅 创建扫描程序群集

更多信息

部署和使用 AIP UL 扫描程序的最佳做法