快速入门:Active Directory Rights Management Server (AD RMS) Protection
本快速入门介绍如何使用 MIP SDK 实现对 Active Directory Rights Management Server (AD RMS) 的支持。
注意
本快速入门中概述的步骤仅适用于 C# 或 C++ 的文件 SDK 和 C++ 的保护 SDK。
先决条件
如果尚未完成,请确保:
- 首先完成快速入门:客户端应用程序初始化 (C++),构建一个入门级 Visual Studio 解决方案。
- 完成快速入门:列出敏感度标签 (C++) 或快速入门:列出敏感度标签 (C#)
- 使用移动设备扩展部署 AD RMS。
- 确保发布 AD RMS MDE 的 DNS SRV 记录(可选)。
服务发现
SDK 使用 UPN 或邮件地址后缀基于通过 FileEngineSettings
或 ProtectionEngineSettings
提供的 mip::Identity
进行服务发现。 它首先在域层次结构中搜索 MDE 的 _rmsdisco 记录。 有关该过程的更多详细信息,请参阅为 AD RMS 移动设备扩展指定 DNS SRV 记录。 如果未找到该 DNS SRV 记录,则默认将 Azure 信息保护服务作为服务位置。
在 C# 中配置文件 SDK 以使用 AD RMS
如果应用程序使用 Active Directory 身份验证库 (ADAL) 和 C# 上的文件 SDK,则需要进行两项小的更改。 必须更新 FileEngineSettings
对象和 AuthenticationContext
构造函数才能使用 AD RMS 和 Active Directory 联合身份验证服务 (ADFS)。
如果已部署移动设备扩展 DNS SRV 记录并计划传入用户主体名称或电子邮件地址,请按照标识使用说明进行操作。
更新文件引擎设置以配合使用 AD RMS 和标识
如果 MDE 的 DNS SRV 记录已发布并且 Microsoft.InformationProtection.Identity
已作为引擎设置的一部分提供,则唯一需要进行的代码更改是设置 FileEngineSettings.ProtectionOnlyEngine = true
。 必须对此属性进行设置,因为 AD RMS 保护终结点不支持标记(策略)操作。
// Configure FileEngineSettings as protection only engine.
var engineSettings = new FileEngineSettings("", authDelegate, "", "en-US")
{
// Provide the identity for service discovery.
Identity = identity,
// Set ProtectionOnlyEngine to true for AD RMS as labeling isn't supported
ProtectionOnlyEngine = true
};
更新身份验证委托
如果在 .NET 应用程序中使用 ADAL,则需要更改 Microsoft.InformationProtection.AuthDelegate
实现以禁用权限验证。 通过将 AuthenticationContext
构造函数中的 validateAuthority
设置为 false 来禁用权限验证。
AuthenticationContext authContext = new AuthenticationContext(authority, false, tokenCache);
在 C++ 中配置文件 SDK 以使用 AD RMS
如果已部署移动设备扩展 DNS SRV 记录并计划传入用户主体名称或电子邮件地址,请按照标识使用说明进行操作。
更新 FileEngine::Settings 以配合使用 AD RMS 与标识
如果 MDE 的 DNS SRV 记录已发布并且在 FileEngine::Settings
中提供了 mip::Identity
,那么唯一要执行的操作就是将引擎设置为仅保护引擎。
FileEngine::Settings engineSettings(mip::Identity(mUsername), "");
engineSettings.SetProtectionOnlyEngine = true;
在 C++ 中配置保护 SDK 以使用 AD RMS
如果已部署移动设备扩展 DNS SRV 记录并计划传入用户主体名称或电子邮件地址,请按照标识使用说明进行操作。
设置 ProtectionEngine::Settings 以配合使用 AD RMS 与标识
如果移动设备扩展的 DNS SRV 记录已发布,并且在 ProtectionEngine::Settings
中提供了标识,则无需对代码进行额外的更改即可使用 AD RMS。 服务发现将找到 AD RMS 终结点,并使用它执行保护操作。
ProtectionEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
删除或注释掉标签引用
如果根据其中一个快速入门指南构建应用程序,那么可以注意到应用程序引用了 fileEngine.SensitivityLabels
或 engine->ListSensitivityLabels();
形式的标签。 由于应用程序已设置为仅保护,因此必须将这些代码块注释掉或删除,因为运行这些块会导致异常。
后续步骤
完成相应更改以支持 AD RMS 后,应用程序可以使用 AD RMS 服务作为保护提供程序执行任何仅保护操作。