Microsoft 信息保护 (MIP) SDK 常见问题解答及问题
本文提供了有关常见问题的解答(常见问题解答),以及有关已知问题和常见错误的故障排除指南。
常见问题
元数据存储更改
我们宣布我们将对 Office 文件(Word、Excel、PowerPoint)的标签元数据存储位置进行更改,以支持 Office 365、SharePoint Online 和其他服务中的新功能。
元数据常见问题解答
问题:其他格式是否会受到影响,例如 PDF?
- 不,只对 Office 文件有影响,尤其是 Word、Excel 和 PowerPoint 文件。
问题:是否需要特定版本的 MIP SDK?
- MIP SDK 1.7 级更高版本完全兼容。
问:是否有使用此存储位置所需的特定版本的 办公室 客户端?
- 2021 年 9 月之后发布的所有Microsoft 365 应用版客户端都支持此新元数据位置。 在租户管理员启用受保护的共同创作功能之前,不会使用新的存储位置。
问:现有元数据是否存储为自定义属性, custom.xml 是否保持最新?
- 否。 首次在启用新存储位置后保存文档时,标签元数据将移动到新位置。 通过
LabelingOptions.ExtendedProperties
保留写入的元数据保留在 custom.xml中。
问:在没有 MIP SDK 的情况下读取标签元数据是否可行?
- 是的,但你需要实现自己的代码来分析文件并提取信息。
问题:目前,通过从文件中提取键/值对字符串,可以轻松“读取”标签。 是否仍以这种方式读取元数据?
- 可行,仍可在 Office 文件 XML 中读取元数据。 应用程序必须从策略文件读取共同创作设置,才能知道已启用新功能集。 这定义标签数据的读取/写入位置(custom.xml与labelinfo.xml)。 若要了解执行详细信息,请参阅 MS-OFFCRYPTO:LabelInfo 与自定义文档属性 | Microsoft Docs。
问:标签如何迁移到新位置?
- 以下逻辑用于确定读取哪个部分并用于读取或写入标签数据。
操作 | 功能未启用 | 功能已启用 |
---|---|---|
读取 | custom.xml(未受保护)或 Doc SummaryInfo(受保护)中的标签。 | 如果 labelinfo.xml 中存在标签,则为有效标签。 如果labelinfo.xml中没有标签,则 custom.xml 或 Doc SummaryInfo 中的标签是有效标签。 |
写 | 所有新标签都将写入 custom.xml(未受保护)或 Doc SummaryInfo(受保护)。 | 所有新标签都将写入 labelinfo.xml。 |
文件分析
问题:能否使用文件 SDK 写入当前正在读取的同一个文件吗?
MIP SDK 不支持同时读写同一个文件。 任何标记的文件都 会导致输入文件的副本 ,并应用了标签操作。 应用程序必须使用标记的文件替换原始文件。
SDK 字符串处理
问题:SDK 如何处理字符串,我应该在我的代码中使用哪种字符串类型?
此 SDK 旨在跨平台使用,并使用 UTF-8(Unicode 转换格式 - 8 位)进行字符串处理。 具体的操作指南取决于所使用的平台:
平台 | 指南 |
---|---|
Windows 原生平台 | 对于 C++ SDK 客户端,使用 C++ 标准库类型 std::string 将字符串传入/传出 API 函数。 与 UTF-8 之间的转换由 MIP SDK 在内部管理。 从 API 返回 std::string 时,如果转换的是字符串,则必须要求使用 UTF-8 编码并相应管理。 在某些情况下,字符串作为 uint8_t 矢量 [如发布许可证 (PL)] 的一部分返回,但应视为不透明的 Blob。有关详细信息和示例,请参阅:
|
.NET | 对于 .NET SDK 客户端,所有字符串都使用默认的 UTF-16 编码,无需进行特殊转换。 与 UTF-16 之间的转换由 MIP SDK 在内部管理。 |
其他平台 | MIP SDK 支持的其他所有平台都原生支持 UTF-8。 |
内容标记
问题:MIP SDK 是否支持内容标记?
MIP SDK 不支持直接应用内容标记,包括任何文件上的页眉、页脚或水印。 将标签元数据写入文件时,文件 SDK 将写入 contentBits 元数据属性以指示已应用保护(如果已配置)。 它 不会 写入指示已应用页眉、页脚或水印的属性。 当文件在支持内容标记的应用程序中打开时,内容标记配置应由应用程序评估并在保存时写入文件。
Android 上的保护和策略 SDK
问:应使用哪个共享库将 MIP SDK 集成到 Android 应用程序中?
MIP SDK Android 二进制文件包括libmip_core.so
和 libmip_protection_sdk.so
libmip_upe_sdk.so
lipmip_unified.so
。 libmip_unified.so
是包含核心、保护和策略共享库的建议库。
合规性
问题:Microsoft 信息保护 SDK FIPS 140-2 是否合规?
尽管 Microsoft 信息保护 SDK 使用 FIPS 140-2 批准的密码,但目前未经 FIPS 140-2 加密库验证。 使用 MIP SDK 的应用程序需要注意,SDK 目前不被视为符合 FIPS。 有关详细信息,请参阅 FIPS 140-2 合规性相关文章。
问题和错误参考
错误:“不支持的文件格式”
问题:尝试保护或标记 PDF 文件时,为什么会遇到以下错误?
不支持的文件格式
此异常是由于尝试保护或标记已经过数字签名或受密码保护的 PDF 文件而引发的。 有关保护和标记 PDF 文件的详细信息,请参阅 Microsoft 信息保护新增对 PDF 加密的支持。
错误:“未能分析获取的符合性策略”
问题:下载 MIP SDK 并尝试使用文件示例列举所有标签后,为什么会遇到以下错误?
出现错误:未能分析获取的符合性策略。 失败并显示:[class mip::CompliancePolicyParserException] 未找到标记:策略,NodeType:15,名称:未找到名称,值:,上级:
<SyncFile><Content>
,correlationId:[34668a40-blll-4ef8-b2af-00005aa674z9]
此错误表明你尚未将标签从 Azure 信息保护迁移到统一标记体验。 请按照如何将 Azure 信息保护标签迁移到统一敏感度标签中的说明迁移标签,然后在 Office 365 安全与合规中心中创建标签策略。
错误:“NoPolicyException:标签策略不包含数据”
问题:尝试通过 MIP SDK 读取标签或列表标签时,为什么会遇到以下错误?
NoPolicyException:标签策略不包含数据、CorrelationId=GUID、CorrelationId.Description=PolicyProfile、NoPolicyError.Category=SyncFile、NoPolicyError.Category=SyncFile
此错误指示标签策略尚未在Microsoft Purview 合规门户中发布。 请按照创建和配置敏感度标签及其策略执行操作,以配置标记策略。
错误:“System.ComponentModel.Win32Exception: LoadLibrary failed”
问题:使用 MIP SDK .NET 包装器时,为什么会遇到以下错误?
System.ComponentModel.Win32Exception: LoadLibrary failed for: [sdk_wrapper_dotnet.dll] when calling MIP.Initialize().
应用程序没有所需的运行时,或者未生成为 Release。 有关更多信息,请参阅确保确保应用具有所需的运行时。
错误:“ProxyAuthError exception”
问题:使用 MIP SDK 时,为什么会遇到以下错误?
“ProxyAuthenticatonError: 不支持代理身份验证”
MIP SDK 不支持使用经过身份验证的代理。 要消除此消息,代理管理员应将 Microsoft Purview 信息保护服务终结点设置为绕过代理。 “Office 365 URL 和 IP 地址范围”页面提供了这些终结点的列表。 MIP SDK 要求 *.protection.outlook.com
(第 9 行)和 Azure 信息保护服务终结点(第 73 行)绕过代理身份验证。
错误:使用流输出标记图像文件时出现“未知错误”
问题:尝试使用流输出为图像文件类型添加或从中移除标签或保护时,为何会收到“未知错误”?
使用流输出时,流必须具有读写权限才能修改图像文件的标签或保护。
问: 使用 MIP SDK 时是否有基于服务的限制?
在文件 SDK 中使用保护 SDK 或保护操作的保护服务,对于整个组织,每个 10 秒的请求数限制为 7,500 个。 也就是说,如果应用程序 A 每 10 秒生成 4,000 个请求,并且同一组织中的 Applicationaiton B 每 10 秒生成 4,000 个请求,这两个应用程序可能会开始接收 HTTP 429 Too Many Requests
响应。 当收到这些异常时,开发人员必须实现回退期。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈