快速入門:Active Directory Rights Management Server (AD RMS) 保護
本快速入門將示範如何使用 MIP SDK 實作 Active Directory Rights Management Server (AD RMS) 的支援。
注意
本快速入門中所述的步驟僅適用于適用于 C# 的檔案 SDK 或 C++ 和適用于 C++ 的保護 SDK。
必要條件
如果您尚未這麼做,請務必:
- 完成 快速入門:用戶端應用程式初始化 (C++) 會先建置入門 Visual Studio 解決方案。
- 完成 快速入門:列出敏感度標籤 (C++) 或 快速入門:列出敏感度標籤 (C#)
- 使用 行動裝置擴充功能 部署 AD RMS。
- 您可以選擇性地確保 發佈 AD RMS MDE 的 DNS SRV 記錄。
服務探索
SDK 會使用 UPN 或郵寄地址尾碼,根據 mip::Identity
提供的 FileEngineSettings
ProtectionEngineSettings
進行服務探索。 它會先搜尋網域階層中的 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
實作以停用授權單位驗證。 將建構函式中的 設定 validateAuthority
為 false , AuthenticationContext
以 停用授權單位驗證。
AuthenticationContext authContext = new AuthenticationContext(authority, false, tokenCache);
在 C++ 中設定檔案 SDK 以使用 AD RMS
如果您已部署行動裝置擴充功能 DNS SRV 記錄,並計畫傳入使用者主體名稱或電子郵件地址, 請遵循使用身分 識別的指示。
更新 FileEngine::設定以搭配身分識別使用 AD RMS
如果 MDE 的 DNS SRV 記錄已發佈並在 mip::Identity
中 FileEngine::Settings
提供,則唯一的動作是將引擎設定為僅限保護的引擎。
FileEngine::Settings engineSettings(mip::Identity(mUsername), "");
engineSettings.SetProtectionOnlyEngine = true;
在 C++ 中設定保護 SDK 以使用 AD RMS
如果您已部署行動裝置擴充功能 DNS SRV 記錄,並計畫傳入使用者主體名稱或電子郵件地址, 請遵循使用身分 識別的指示。
將 ProtectionEngine::設定 設定為搭配身分識別使用 AD RMS
如果已發佈行動裝置擴充功能的 DNS SRV 記錄,以及 中 ProtectionEngine::Settings
提供的身分識別,則不需要額外的程式碼變更,才能使用 AD RMS。 服務探索會尋找 AD RMS 端點,並將其用於保護作業。
ProtectionEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
移除或批註標籤參考
如果您從其中一個快速入門手冊建置應用程式,您會發現您的應用程式具有 或 engine->ListSensitivityLabels();
格式 fileEngine.SensitivityLabels
的標籤參考。 由於應用程式只設定為保護,因此這些程式碼區塊必須標記為批註或移除,因為執行程式碼會造成例外狀況。
後續步驟
既然您已進行支援 AD RMS 的變更,您的應用程式可以使用 AD RMS 服務作為保護提供者來執行任何僅限保護的作業。