Microsoft 信息保护 SDK - 元数据

Microsoft 信息保护 SDK 可生成应应用于文件的元数据集。 此元数据是标签的表示形式。 本文档介绍了 SDK 生成的要应用于邮件、文档和其他记录的元数据。

标签

Microsoft 信息保护 SDK 中的标签应用于信息,以描述该信息的敏感度。 标签数据保存在描述标签的一组键值对中的文件或记录中。 元数据名称基于以下结构生成:

DefinedPrefix_ElementType_GlobalIdentifier_AttributeName

应用到使用 Microsoft Purview 信息保护进行标记的数据时,结果是:

MSIP_Label_GUID_Enabled = true

GUID 是组织中每个标签的唯一标识符。 对象只能有 一个来自同一 组织的标签。 无法将同一组织中的多个标签写入文件或对象。

Microsoft 信息保护 SDK 元数据

MIP SDK 应用以下一组元数据。

属性 类型或值 说明 必需
已启用 True 或 False 此属性指示是否为数据项启用此键值对所表示的分类。 DLP 产品通常会验证此密钥是否存在以标识分类标签。
SiteId GUID Microsoft Entra 租户 ID
ActionId(在 MIP SDK 1.8 及更高版本中已移除) GUID 每次设置标签时都会更改 ActionID。 审核日志包括旧操作 ID 和新 actionID,用于将标记活动链接到数据项。
方法 标准或特权 通过 mip::AssignmentMethod 设置。 标准表示默认或自动应用标签。 特权表示已手动选择标签。
SetDate 扩展的 ISO 8601 日期格式 设置标签时的时间戳。
Name string 租户内标签的唯一名称。 它不一定对应于显示名称。
ContentBits integer ContentBits 是位掩码,描述根据策略和客户端功能应用于内容的内容标记的类型。 CONTENT_HEADER = 0X1、CONTENT_FOOTER = 0X2、WATERMARK = 0X4、ENCRYPT = 0x8

应用于文件时,结果类似于下表。

密钥
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Enabled
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_SetDate 2018-11-08T21:13:16-0800
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Method 有特权
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Name 机密
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_SiteId cb46c030-1825-4e81-a295-151c039dbf02
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_ContentBits 2
MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_ActionId 88124cf5-1340-457d-90e1-0000a9427c99

ContentBits

MIP SDK 中的 contentBits 元数据属性用于指示标记应用程序对文件执行的内容修改操作。

contentBits 可由下游应用程序读取,以了解应用于文件的操作。 使用此属性时,Word、Excel 或 PowerPoint 等应用程序可以将文件元数据上的值与基于策略计算的值进行比较。 如果存在差异,它可能会应用缺少的信息。

例如,采用 MIP 文件 SDK。 它不支持将页眉、页脚或水印直接应用于文件。 使用 MIP SDK 标记文件时,contentBits 的唯一结果是 0x0 文件不受 保护0x8 文件 受到保护。 即使标签策略已配置页眉、页脚和水印,情况也是如此。

在 Microsoft Word 中打开文件时,将缺少页眉、页脚和水印。 当用户单击 保存 时,将重新评估策略,并且文件上的 contentBits 与策略结果进行比较。 如果存在差异,应用程序将应用缺少的内容标记。

注意

此功能目前需要 Azure 信息保护客户端,并且仅适用于 Word、Excel 或 PowerPoint。 这不适用于 Outlook。

使用自定义属性扩展元数据

可以通过文件和策略 SDK 追加自定义元数据。 自定义属性必须具有基本 MSIP_Label_GUID 前缀。

例如,由 Contoso Corporation 编写的应用程序必须应用元数据,指示哪个系统生成了已标记的文件。 应用程序可以创建新标签,其前缀为 MSIP_Label_GUID。 软件供应商名称和自定义属性将追加到前缀的后面,以生成自定义元数据。

LabelingOptions options = new()
{
    AssignmentMethod = AssignmentMethod.Standard
};

options.ExtendedProperties = new List<KeyValuePair<string, string>>();
options.ExtendedProperties.Add(new KeyValuePair<string, string>("GeneratedBy", "HRReportingSystem"));
MSIP_Label_f048e7b8-f3aa-4857-bf32-a317f4bc3f29_GeneratedBy = HRReportingSystem

注意

为了在常见应用程序中保持兼容性,每个密钥和值的最大长度为 255 个字符。

注意

启用受保护的共同创作体验后,自定义元数据属性将写入受支持 Office 文件类型的 custom.xml 组件。

版本控制

随着时间的推移,将不断引入、修改或停用属性。 预计应用程序将继续处理这些旧属性或已停用属性,因为替换企业中的值可能需要数年时间。

将属性替换为较新版本时,应将版本后缀添加到该属性:

MSIP_Label_GUID_EnabledV2 = True | False | Condition

支持受保护的共同创作

启用使用敏感度标签加密的文件共同创作时,Word、Excel 和 PowerPoint 文件的标签元数据存储位置和格式会更改。

启用共同创作功能后,SDK 会自动从更新的元数据存储位置读取和写入信息。 如果新位置中不存在标签元数据,SDK 将尝试从旧存储位置读取元数据。 如果找到,则可以通过获取标签操作获取标签。 下次执行设置标签操作时,元数据将写入更新的 LabelInfo 位置。

如前所述属性的用途不会更改。

以下参考介绍了格式和存储位置:

电子邮件

应用于电子邮件的元数据具有与文档类似的键/值对格式。 主要区别在于,所有属性都序列化为名为“MSIP_Labels”的单个电子邮件标头中。 键/值对由分号和空格分隔,并放置在新标头中。

使用上面的示例元数据:

MSIP_Labels: MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Enabled=true; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_SetDate=2018-11-08T21:13:16-0800; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Method=Privileged; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_Name=Confidential; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_SiteId=cb46c030-1825-4e81-a295-151c039dbf02; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_ContentBits=2; MSIP_Label_2096f6a2-d2f7-48be-b329-b73aaa526e5d_ActionId=88124cf5-1340-457d-90e1-0000a9427c99