快速入门和教程文章以构建使用 MIP SDK 库和 API 的应用程序为中心。 本文介绍如何安装和配置 Microsoft 365 订阅和客户端工作站,为使用 SDK 做准备。
先决条件
在开始之前,请务必查看以下主题:
Microsoft Purview 门户
什么是 purview 信息保护Microsoft?
重要
为了尊重用户隐私,必须在启用自动日志记录之前征得用户同意。 以下示例是 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 信息保护高级 P1 或 P2 不再作为独立产品/服务包含在内。 它们可以作为 Microsoft 365 E3 或 E5 或企业移动性和安全性 E3 或 E5 的一部分购买。
配置敏感度标签
如果当前使用的是旧标签配置,则必须将标签迁移到 Microsoft Purview。 有关该过程的详细信息,请参阅 创建和配置敏感度标签及其策略。
配置客户端工作站
接下来,完成以下步骤以确保客户端计算机已正确安装和配置。
如果使用的是 Windows 10 工作站:
使用 Windows 更新,将计算机更新到 Windows 10 Fall Creators Update(版本 1709)或更高版本。 若要验证当前的版本,请执行以下操作:
单击左下角的 Windows 图标。
键入“电脑信息”,然后按“Enter”键。
向下滚动到“Windows 规范”,然后查看“版本”。
如果使用的是 Windows 11 或 Windows 10 工作站:
确保在工作站上启用了“开发人员模式”:
单击左下角的 Windows 图标。
当看到“使用开发人员功能”项显示时,键入“使用开发人员功能”并按“Enter”键。
在“设置”对话框的“适用于开发人员”选项卡的“使用开发人员功能”下,选择“开发人员模式”选项。
关闭设置对话。
安装具有以下工作负载和可选组件的 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 或更高版本(如果默认不包含)
安装 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>
下载文件:
MIP SDK 在以下平台上受支持,每种支持的平台/语言都有单独的下载:
操作系统
版本
下载
备注
Ubuntu
20.04
C++tar.gz
Java(预览版)tar.gz
.NET Core
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 一个。 这些压缩文件的命名如下,其中
Bins:为每个平台架构编译的二进制文件(如果适用)。
包含:头文件 (C++)。
示例:示例应用程序的源代码。
NuGet 包
如果你正在进行 Visual Studio 开发,也可以通过 NuGet 包管理器控制台安装 SDK:
Install-Package Microsoft.InformationProtection.File
Install-Package Microsoft.InformationProtection.Policy
Install-Package Microsoft.InformationProtection.Protection
如果不使用 NuGet 包,请将 SDK 二进制文件的路径添加到 PATH 环境变量。 PATH 变量允许客户端应用程序在运行时找到依赖的二进制文件 (DLL)(可选):
如果使用的是 Windows 11 或 Windows 10 工作站:
单击左下角的 Windows 图标。
当你看到“编辑系统环境变量”项显示时,键入“路径”并按“Enter”键。
在“系统属性”对话框中,单击“环境变量”。
在“环境变量”对话框中,单击“user 的用户变量”下的“路径”变量行,然后单击“编辑...”<>。
在“编辑环境变量”对话框中,单击“新建”,这将创建一个新的可编辑行。 使用每个 file\bins\debug\amd64、protection\bins\debug\amd64 和 upe\bins\debug\amd64 子目录的完整路径,为每个子目录添加一个新行。 SDK 目录以
<目标> = debug, release
完成更新“路径”变量后,单击“确定”。 然后,在返回到“环境变量”对话框时,单击“确定”。
从 GitHub 下载 SDK 示例(可选):
请先创建一个 GitHub 配置文件(如果还没有)。
然后,安装最新版本的软件自由保护组织的 Git 客户端工具 (Git Bash)
使用 Git Bash,下载感兴趣的示例:
使用以下查询查看存储库:https://github.com/Azure-Samples?utf8=%E2%9C%93&q=MipSdk。
使用 Git Bash,使用 git clone https://github.com/azure-samples/
使用 Microsoft Entra ID 注册客户端应用程序
在 Microsoft 365 订阅预配过程中,将创建关联的 Microsoft Entra 租户。 Microsoft Entra 租户为 Microsoft 365 用户帐户和应用程序帐户提供身份和访问管理。 需要访问安全 API(例如 MIP API)的应用程序需要应用程序帐户。
对于运行时的身份验证和授权,帐户由安全主体表示,该主体派生自帐户的标识信息。 代表应用程序帐户的安全主体称为服务主体。
在 Microsoft Entra ID 中注册应用程序帐户以用于快速入门和 MIP SDK 示例:
重要
若要访问 Microsoft Entra 租户管理以创建帐户,需要使用属于订阅的“所有者”角色成员的用户帐户登录 Azure 门户。 根据租户的配置,可能还需要是“全局管理员”目录角色的成员来 注册应用程序。
我们建议使用受限帐户进行测试。 确保该帐户仅有权访问必要的 SCC 终结点。 通过命令行传递的明文密码可能会被日志记录系统收集。
按照使用 Microsoft Entra ID 注册应用程序,注册新应用程序部分中的步骤操作。 出于测试目的,请在执行指南步骤时为给定属性使用以下值:
支持的帐户类型 - 选择“仅限此组织目录中的帐户”。
重定向 URI - 将重定向 URI 类型设置为“公共客户端(移动和桌面)”。如果应用程序使用 Microsoft 身份验证库 (MSAL),请使用 http://localhost。 否则,请使用
完成后,将返回到“已注册的应用”页面以进行新的应用程序注册。 复制 GUID 并将其保存在“应用程序(客户端) ID”字段中,因为你将在快速入门中需要它。
然后,单击“API 权限”,添加客户端将需要访问的 API 和权限。 单击“添加权限”以打开“请求 API 权限”边栏选项卡。
现在,你将添加应用程序在运行时需要的 MIP API 和权限:
在“选择 API”页面上,单击“Azure Rights Management Services”。
在“Azure Rights Management Services”API 页面上,单击“委托的权限”。
在“选择权限”部分,勾选“user_impersonation”权限。 此权限允许应用程序代表用户创建和访问受保护的内容。
单击“添加权限”以保存。
重复步骤 #4,但这次当你进入“选择 API”页面时,将需要搜索 API。
在“选择 API”页面上,单击“我的组织使用的 API”,然后在搜索框中输入“Microsoft 信息保护同步服务”并选择它。
在“Microsoft 信息保护同步服务”API 页面上,单击“委托的权限”。
展开“UnifiedPolicy”节点,然后勾选“UnifiedPolicy.User.Read”
单击“添加权限”以保存。
返回“API 权限”页面后,单击“为(租户名称)授予管理员同意”,然后单击“是”。 此步骤预先同意使用此注册的应用程序访问指定权限下的 API。 如果以全局管理员身份登录,则会记录租户中运行应用程序的所有用户的同意;否则,它仅适用于你的用户帐户。
完成后,应用程序注册和 API 权限应类似于以下示例:
有关向注册添加 API 和权限的详细信息,请参阅配置客户端应用程序以访问 Web API。 在这里,你将找到有关添加客户端应用程序所需的 API 和权限的信息。
请求信息保护集成协议 (IPIA)
在可以向公众发布使用 MIP 开发的应用程序之前,必须申请并完成与 Microsoft 的正式协议。
注意
仅供内部使用的应用程序不需要此协议。
通过向 IPIA@microsoft.com 发送包含以下信息的电子邮件来获取你的 IPIA:
主题:为 公司名称 请求 IPIA
在电子邮件正文中,包括:
应用程序和产品名称
请求者的名字和姓氏
请求者的电子邮件地址
收到你的 IPIA 申请时,我们会向你发送一个表单(以 Word 文档形式)。 请查看 IPIA 的条款和条件,并将包含以下信息的表单返回给 IPIA@microsoft.com:
公司的法定名称
公司所在的州/省(美国/加拿大)或国家/地区
公司 URL
联系人的电子邮件地址
公司的其他地址(可选)
公司应用程序的名称
应用程序的简略说明
Azure 租户 ID
应用程序的应用 ID
用于危急情况通信的公司联系人、电子邮件和电话
收到你的表单时,我们会向你发送用于数字签名的最终 IPIA 链接。 签名后,它将由相应的 Microsoft 代表进行签名,以完成此协议。
已有已签名的 IPIA?
如果你已拥有已签名的 IPIA 并且希望为你发布的应用程序添加新的应用 ID,请向 IPIA@microsoft.com 发送电子邮件并向我们提供以下信息:
公司应用程序的名称
应用程序的简略说明
Azure 租户 ID(即使与之前的相同也要提供)
应用程序的应用 ID
用于危急情况通信的公司联系人、电子邮件和电话
在发送电子邮件时,请留出最多 72 小时来等待接收确认。
确保应用具有所需的运行时
注意
仅当将应用程序部署到没有 Visual Studio 的计算机上,或者 Visual Studio 安装缺少 Visual C++ 运行时组件时,才需要执行此步骤。
使用 MIP SDK 生成的应用程序要求安装 Visual C++ 2017 运行时(如果尚不存在)。
适用于 Visual Studio 2017 的 Microsoft Visual C++ 可再发行组件
这些仅在应用程序已生成为“发布”时才有效。 如果应用程序生成为“调试”,则 Visual C++ 运行时调试 DLL 必须包含在应用程序中或安装在计算机上。
后续步骤
如果你是 C++ 开发人员
在开始快速入门部分之前,请务必阅读观察程序概念,以了解 C++ API 的异步特性。
当你准备好使用 SDK 获得一些经验时,请从快速入门:客户端应用程序初始化 (C++) 开始。
如果你是 C# 开发人员,当你准备好使用 SDK 获得一些经验时,请从快速入门:客户端应用程序初始化 (C#) 开始。