Microsoft 信息保护 (MIP) SDK 的安装和配置

快速入门和教程文章重点介绍如何生成使用 MIP SDK 库和 API 的应用程序。 本文介绍如何在使用 SDK 之前设置和配置Microsoft 365订阅和客户端工作站。

先决条件

在开始之前,请查看以下主题:

重要

为了尊重用户隐私,必须在启用自动日志记录之前征得用户同意。 以下示例是 Microsoft 用于记录通知的标准消息:

通过启用错误和性能日志记录,你同意将错误和性能数据发送到Microsoft。 Microsoft通过 Internet 收集错误和性能数据(“数据”)。 Microsoft使用此数据来提供和提高Microsoft产品和服务的质量、安全性和完整性。 例如,Microsoft分析性能和可靠性,例如你使用的功能、功能响应的速度、设备性能、用户界面交互的速度,以及产品遇到的任何问题。 数据还包括有关软件配置的信息,例如当前正在运行的软件以及 IP 地址。

注册 Office 365 订阅

许多 SDK 示例需要访问 Office 365 订阅。 注册以下订阅类型之一:

名称 注册
Office 365 企业版 E3 试用(30 天免费试用) https://go.microsoft.com/fwlink/p/?LinkID=403802
Office 365 企业版 E3 或 E5 https://www.microsoft.com/microsoft-365/enterprise/office-365-e3
企业移动性和安全性 E3 或 E5 https://www.microsoft.com/security
Azure 信息保护高级版 P1 或 P2 Microsoft 365 安全性与合规性许可指南
Microsoft 365 E3、E5 或 F1 https://www.microsoft.com/microsoft-365/enterprise/microsoft365-plans-and-pricing

注意

Azure 信息保护 高级版 P1 或 P2 不再作为独立产品提供。 你可以将其作为Microsoft 365 E3或 E5 或企业移动性和安全性 E3 或 E5 的一部分购买。

配置敏感度标签

如果当前使用的是旧标签配置,则必须将标签迁移到 Microsoft Purview。 有关该过程的详细信息,请参阅 创建和配置敏感度标签及其策略

配置客户端工作站

接下来,完成以下步骤以正确设置和配置客户端计算机。

  1. 如果使用的是 Windows 10 工作站:

    使用Windows 更新将计算机更新为 Windows 10 Fall Creators Update(版本 1709)或更高版本。 若要验证当前的版本,请执行以下操作:

    • 选择左下角的Windows图标。
    • 键入 关于你的电脑,然后按 Enter 键。
    • 向下滚动到“Windows 规范”,然后查看“版本”
  2. 如果使用的是 Windows 11 或 Windows 10 工作站:

    在工作站上打开 开发人员模式

    • 选择左下角的Windows图标。
    • 键入 “使用开发人员功能”,并在 “使用开发人员功能 ”项出现时按 Enter。
    • “设置” 对话框中的“ 面向开发人员 ”选项卡上的 “使用开发人员功能”下,选择 “开发人员模式 ”选项。
    • 关闭设置对话。
  3. 安装 Visual Studio 2022,其中包含以下工作负载和可选组件:

    • 通用 Windows 平台开发 Windows 工作负载,以及以下可选组件:

      • C++ 通用 Windows 平台工具
      • Windows 10 SDK 10.0.16299.0 SDK 或更高版本(如果默认不包含)
    • 使用 C++ 的桌面开发 Windows 工作负载,以及以下可选组件:

      • Windows 10 SDK 10.0.16299.0 SDK 或更高版本(如果默认不包含)

      Visual Studio设置。

  4. 安装 MSAL.PS PowerShell 模块

    • 由于安装需要管理员权限,请使用以下选项之一:

      • 使用具有管理员权限的帐户登录到计算机。
      • 使用提升的权限运行 Windows PowerShell 会话(以管理员身份运行)。
    • 运行 Install-Module -Name MSAL.PS cmdlet。

      PS C:\WINDOWS\system32> Install-Module -Name MSAL.PS
      
      Untrusted repository
      You are installing the modules from an untrusted repository. If you trust this repository, change its
      InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
      'PSGallery'?
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A
      
      PS C:\WINDOWS\system32>
      
  5. 下载文件:

    以下平台上支持 MIP SDK,每个受支持的平台和语言都有单独的下载:

    操作系统 版本 下载 备注
    Ubuntu 22.04 C++tar.gz
    Java(预览版)tar.gz
    .NET Core
    Ubuntu 24.04 C++tar.gz
    Java(预览版)tar.gz
    .NET Core
    RedHat Enterprise Linux 7 8 和 9 C++tar.gz
    Debian 10 和 11 C++tar.gz
    macOS 所有支持的版本 C++.zip Xcode 开发需要 13 或更高版本。
    Windows操作系统 所有支持的版本,32/64 位 C++
    C++/.NET NuGet
    Java(预览版).zip
    Android 9.0 及更高版本 C++.zip 仅保护和策略 SDK。
    iOS 所有支持的版本 C++.zip 仅保护和策略 SDK。

    下载Tar.gz/.zip

    Tar.gz和 .zip 下载包含压缩的文件,每个 API 都有一个。 压缩文件使用以下命名约定,其中 <API> = fileprotectionupe,且 <OS> = 平台:mip_sdk_<API>_<OS>_1.0.0.0.zip (or .tar.gz) 例如,Debian 上 Protection SDK 的二进制文件和头文件对应的文件是 mip_sdk_protection_debian9_1.0.0.0.tar.gz。 每个包含.tar.gz/.zip 文件拆分为三个目录:

    • Bins:为每个平台架构编译的二进制文件(如果适用)。
    • 包含:头文件 (C++)。
    • 示例:示例应用程序的源代码。

    NuGet 包

    如果要进行Visual Studio开发,还可以使用 NuGet 程序包管理器 控制台安装 SDK:

    Install-Package Microsoft.InformationProtection.File
    Install-Package Microsoft.InformationProtection.Policy
    Install-Package Microsoft.InformationProtection.Protection
    
  6. 如果不使用 NuGet 包,请将 SDK 二进制文件的路径添加到 PATH 环境变量。 PATH 变量允许客户端应用程序在运行时查找依赖二进制文件(DLL)。 此步骤是可选的。

    如果使用的是 Windows 11 或 Windows 10 工作站:

    • 选择左下角的Windows图标。

    • 键入 路径,并在出现 “编辑系统环境变量 ”项时按 Enter。

    • 在“ 系统属性 ”对话框中,选择“ 环境变量”。

    • 在“环境变量”对话框中,选择用户>用户变量<下的“路径变量”行,然后选择“编辑”。

    • “编辑环境变量 ”对话框中,选择“ 新建”,创建可编辑的行。 为 upe\bins\debug\amd64file\bins\debug\amd64protection\bins\debug\amd64 子目录中的每个完整路径各添加一个新行。 SDK 目录以 <API>\bins\<target>\<platform> 格式存储,其中:

      • <API> = fileprotectionupe
      • <目标> = debugrelease
      • <platform> = amd64 (x64)、x86
    • 完成更新 Path 变量后,选择“ 确定”。 然后在返回到“环境变量”对话框时选择“确定”。

  7. 从 GitHub 下载 SDK 示例。 此步骤是可选的。

使用 Microsoft Entra ID 注册客户端应用程序

作为 Microsoft 365 订阅预配过程的一部分,Microsoft 会创建一个关联的 Microsoft Entra 租户。 Microsoft Entra 租户为 Microsoft 365 用户帐户应用程序帐户提供身份和访问管理。 需要访问安全 API(如 MIP API)的应用程序需要应用程序帐户。

对于运行时的身份验证和授权, 安全主体 表示帐户并派生自帐户的标识信息。 表示应用程序账户的安全主体称为 服务主体

若要在 Microsoft Entra ID中注册应用程序帐户,以便与快速入门和 MIP SDK 示例一起使用:

重要

若要访问用于创建帐户的 Microsoft Entra 租户管理,请使用属于订阅的“所有者”角色的用户帐户登录 Azure 门户。 根据租户的配置,你可能还需要成为“全局管理员”目录角色的成员,才能注册应用程序。 使用受限帐户进行测试。 仅授予该账户访问必要的 SCC 端点所需的权限。 日志记录系统可能会收集通过命令行传递的明文密码。

  1. 按照 “注册新应用程序 ”部分中的步骤操作。 出于测试目的,请在执行指南步骤时为给定属性使用以下值:

    • 支持的帐户类型 - 仅选择此组织目录中的帐户
    • 重定向 URI - 将重定向 URI 类型设置为公共客户端(移动和桌面)。 如果应用程序使用 Microsoft 身份验证库 (MSAL),请使用 http://localhost。 否则,请使用 <app-name>://authorize 格式的内容。
  2. 完成后,你将返回到新应用程序注册的 “已注册应用” 页面。 复制 GUID 并将其保存在 应用程序(客户端)ID 字段中,因为快速入门需要它。

  3. 选择 API 权限 以添加客户端需要访问的 API 和权限。 选择 “添加权限 ”以打开 “请求 API 权限 ”窗格。

  4. 添加应用程序在运行时所需的 MIP API 和权限:

    • “选择 API”页上,选择Azure Rights Management Services
    • “Azure Rights Management Services API”页上,选择“委派的权限”。
    • “选择权限 ”部分中,选择 user_impersonation 权限。 此权限允许应用程序代表用户创建和访问受保护的内容。
    • 选择 “添加要保存的权限 ”。
  5. 重复步骤 4,但这次访问 “选择 API ”页时,请搜索该 API。

    • “选择 API ”页上,选择 组织使用的 API。 然后在搜索框中,键入Microsoft 信息保护同步服务,然后选择它。
    • “Microsoft 信息保护同步服务 API”页上,选择“委派权限”。
    • 展开 UnifiedPolicy 节点,然后选择 UnifiedPolicy.User.Read
    • 选择 “添加要保存的权限 ”。
  6. 返回 API 权限 页时,选择“ 授予管理员许可”(租户名称),然后选择 “是”。 此步骤会预先向使用此注册在指定权限范围内访问 API 的应用程序授予同意。 如果以全局管理员身份登录,则会为运行应用程序的租户中的所有用户记录同意。 否则,它仅适用于用户帐户。

完成后,应用程序注册和 API 权限应类似于以下示例:

Microsoft Entra应用注册。 Microsoft Entra应用 API 权限。

有关添加客户端应用程序所需的 API 和权限的详细信息,请参阅 配置客户端应用程序以访问 Web API

请求信息保护集成协议 (IPIA)

在向公众发布使用 MIP 开发的应用程序之前,必须申请并完成与Microsoft的正式协议。

注意

对于仅供内部使用的应用程序,不需要此协议。

  1. 通过向 IPIA@microsoft.com 发送包含以下信息的电子邮件来获取你的 IPIA:

    主题:公司名称 请求 IPIA

    在电子邮件正文中,包括:

    • 应用程序和产品名称
    • 请求者的名字和姓氏
    • 请求者的电子邮件地址
  2. Microsoft收到 IPIA 请求后,Microsoft将表单作为Word文档发送。 请查看 IPIA 的条款和条件,并将包含以下信息的表单返回给 IPIA@microsoft.com

    • 公司法定名称
    • 注册成立所在的州/省(美国/加拿大)或国家/地区
    • 公司 URL
    • 联系人的电子邮件地址
    • 公司的其他地址(可选)
    • 公司应用程序的名称
    • 应用程序的简要说明
    • Azure 租户 ID
    • 应用程序的应用 ID
    • 公司联系人、电子邮件和电话,用于关键情况通信
  3. Microsoft收到表单后,Microsoft向你发送最终的 IPIA 链接以数字签名。 签署后,相应的Microsoft代表签署协议。

已有已签名的 IPIA?

如果您已经签署了 IPIA,并且想为您要发布的应用添加新的 App ID,请发送电子邮件至 IPIA@microsoft.com,并提供以下信息:

  • 公司应用程序的名称
  • 应用程序的简要说明
  • Azure 租户 ID(即使与之前的相同也要提供)
  • 应用程序的应用 ID
  • 公司联系人、电子邮件和电话,用于关键情况通信

发送电子邮件后,最多等待 72 小时确认接收。

确保应用具有所需的依赖项

在Windows上使用 MIP SDK 生成的应用程序需要 Visual C++ 运行时组件(如果尚未安装):

只有以 Release 配置构建应用程序时,这些依赖项才能正常工作。 如果将应用程序构建为调试版本,请随应用程序一起提供 Visual C++ 运行时调试 DLL,或将其安装到目标计算机上。

使用 Linux 上的 MIP SDK 生成的应用程序需要支持这些依赖项的版本:

二进制文件中包含一个 samples 文件夹,其中有一个 how-to-build-and-run.txt 文件,内含针对每个操作系统安装所需依赖项的命令。

后续步骤