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

快速入门和教程文章以构建使用 MIP SDK 库和 API 的应用程序为中心。 本文介绍如何安装和配置 Microsoft 365 订阅和客户端工作站,为使用 SDK 做准备。

先决条件

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

重要

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

打开错误和性能日志记录,即表示你同意将错误和性能数据发送给 Microsoft。 Microsoft 将通过 Internet 收集错误和性能数据(简称“数据”)。 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 信息保护,则必须将标签迁移到 Office 365 安全与合规中心。 有关该过程的详细信息,请参阅如何将 Azure 信息保护 标签迁移到 办公室 365 安全与合规中心

配置客户端工作站

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

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

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

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

    确保在工作站上启用了“开发人员模式”:

    • 单击左下角的 Windows 图标。
    • 当看到“使用开发人员功能”项显示时,键入“使用开发人员功能”并按“Enter”键
    • 在“设置”对话框的“适用于开发人员”选项卡的“使用开发人员功能”下,选择“开发人员模式”选项
    • 关闭设置对话框。
  3. 安装具有以下工作负载和可选组件的 Visual Studio 2019

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

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

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

      Visual Studio setup

  4. 安装 ADAL.PS PowerShell 模块

    • 因为安装模块需要管理员权限,所以首先需要:

      • 使用具有管理员权限的帐户登录计算机。
      • 以提升的权限运行(以管理员身份运行)Windows PowerShell 会话。
    • 然后运行 install-module -name adal.ps cmdlet。

      PS C:\WINDOWS\system32> install-module -name adal.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 20.04 C++ tar.gz
    Java(预览版)tar.gz
    .NET Core NuGet(预览版)
    Ubuntu 22.04 C++ tar.gz
    Java(预览版)tar.gz
    .NET Core NuGet(预览版)
    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 上的保护 SDK 二进制文件和标头文件将是:mip_sdk_protection_debian9_1.0.0.0.tar.gz。 每个包含的 .tar.gz/.zip 都分为三个目录:

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

    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”键

    • 在“系统属性”对话框中,单击“环境变量”

    • 在“环境变量”对话框中,单击“<user> 的用户变量”下的“路径”变量行,然后单击“编辑...”

    • 在“编辑环境变量”对话框中,单击“新建”,这将创建一个新的可编辑行。 使用每个 file\bins\debug\amd64protection\bins\debug\amd64upe\bins\debug\amd64 子目录的完整路径,为每个子目录添加一个新行。 SDK 目录以 <API>\bins\<target>\<platform> 格式存储,其中:

      • <API> = fileprotectionupe
      • <target> = debugrelease
      • <platform> = amd64 (x64)、x86
    • 完成更新“路径”变量后,单击“确定”。 然后,在返回到“环境变量”对话框时,单击“确定”

  7. 从 GitHub 下载 SDK 示例(可选):

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

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

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

在 Microsoft Entra ID 中注册应用程序帐户以用于快速入门和 MIP SDK 示例:

重要

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

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

    • 支持的帐户类型 - 选择“仅限此组织目录中的帐户”。
    • 重定向 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 app registrationMicrosoft Entra app API permissions

有关向注册添加 API 和权限的详细信息,请参阅配置客户端应用程序以访问 Web API。 在这里,你将找到有关添加客户端应用程序所需的 API 和权限的信息。

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

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

注意

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

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

    主题:Company Name 申请 IPIA

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

    • 应用程序和产品名称
    • 申请者的姓名
    • 申请者的电子邮件地址
  2. 收到你的 IPIA 申请时,我们会向你发送一个表单(以 Word 文档形式)。 请查看 IPIA 的条款和条件,并将包含以下信息的表单返回给 IPIA@microsoft.com

    • 公司的法定名称
    • 公司所在的州/省(美国/加拿大)或国家/地区
    • 公司 URL
    • 联系人的电子邮件地址
    • 公司的其他地址(可选)
    • 公司应用程序的名称
    • 应用程序的简短说明
    • Azure 租户 ID
    • 应用程序的应用 ID
    • 用于紧急情况通信的公司联系人、电子邮件和电话
  3. 收到你的窗体后,我们将向你发送最终 IPIA 链接来进行电子签名。 在你签名后,相应的 Microsoft 代表将对其进行签名,从而完成协议。

已拥有已签名的 IPIA?

如果你已拥有已签名的 IPIA 并且希望为你发布的应用程序添加新的应用 ID,请向 IPIA@microsoft.com 发送电子邮件并向我们提供以下信息:

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

在发送电子邮件时,请留出最多 72 小时来等待接收确认。

确保应用具有所需的运行时

注意

仅当将应用程序部署到没有 Visual Studio 的计算机上,或者 Visual Studio 安装缺少 Visual C++ 运行时组件时,才需要执行此步骤。

使用 MIP SDK 构建的应用程序需要安装 Visual C++ 2015 或 Visual C++ 2017 运行时(如果尚未安装)。

这些仅在应用程序已生成为“发布”时才有效。 如果应用程序生成为“调试”,则 Visual C++ 运行时调试 DLL 必须包含在应用程序中或安装在计算机上。

后续步骤