快速入門:Active Directory Rights Management 伺服器 (AD RMS) 保護

本快速入門將示範如何使用 MIP SDK 實作 Active Directory Rights Management Server (AD RMS) 的支援。

備註

本快速入門中概述的步驟僅適用於適用於 C# 或 C++ 的檔案 SDK,以及僅適用於 C++ 的保護 SDK。

先決條件

如果您還沒有,請務必:

服務探索

當未明確提供服務 URL 時,MIP SDK 會自動探索 FileEngineProtectionEngine 的內部部署服務端點。 它會使用透過 FileEngineSettingsProtectionEngineSettings 提供的使用者身分識別,方法是使用 UPN 或郵件地址尾碼。 它會先在網域階層中搜尋 MDE 的 _rmsdisco 記錄。 如需該程序的詳細資訊,請參閱 指定 AD RMS 行動裝置延伸模組的 DNS SRV 記錄。 如果找不到該 DNS SRV 記錄,則預設為 Microsoft Purview 資訊保護服務作為服務位置。

在 C# 中設定檔案 SDK 以使用 AD RMS

如果您的應用程式使用 Microsoft 驗證資源庫(MSAL.NET)和 C# 上的檔案 SDK,則需要做兩項小調整。 FileEngineSettings物件及你的 MSAL 權限設定必須更新,才能與 AD RMS 及 Active Directory 同盟服務(AD FS)相容。

備註

Active Directory 認證函式庫(ADAL)已被棄用。 新的應用程式應該使用 MSAL。 背景說明請參見「更新您的應用程式以使用 Microsoft 驗證資源庫 與 Microsoft 圖形 API」。

如果您已部署行動裝置延伸模組 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 應用程式中使用 MSAL.NET,請將公用用戶端應用程式設定為在目標為 AD FS 授權單位時略過授權單位驗證。 在 PublicClientApplicationBuilder 上設定 WithAuthority(authority, validateAuthority: false)

var app = PublicClientApplicationBuilder
    .Create(clientId)
    .WithAuthority(authority, validateAuthority: false)
    .WithRedirectUri(redirectUri)
    .Build();

如果您維護的是仍在使用已淘汰的 Active Directory Authentication Library (ADAL) 的舊版應用程式,則對應的變更是在 AuthenticationContext 建構函式中,將 false 傳遞給 validateAuthority。 計畫將這些程式碼遷移到 MSAL。

在 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.SensitivityLabelsengine->ListSensitivityLabels();。 因為應用程式已設定為僅保護,所以必須註解或移除這些程式碼區塊,因為執行它們會導致例外狀況。

下一步

現在您已進行變更以支援 AD RMS,您的應用程式可以使用 AD RMS 服務作為保護提供者來執行任何僅限保護的作業。