このクイック スタートでは、MIP SDK を使用して Active Directory Rights Management Server (AD RMS) のサポートを実装する方法について説明します。
注
このクイック スタートで説明する手順は、C# または C++ 用の File SDK と C++ 用の保護 SDK にのみ適用されます。
[前提条件]
まだ行っていない場合は、次の手順を実行してください。
- クイック スタート: 最初にクライアント アプリケーションの初期化 (C++) を実行し、スターター Visual Studio ソリューションを構築します。
- 完全な クイック スタート: 秘密度ラベルの一覧表示 (C++) または クイック スタート: 秘密度ラベルの一覧表示 (C#)。
- モバイル デバイス拡張機能を使用して AD RMS をデプロイします。
- 必要に応じて、 AD RMS MDE の DNS SRV レコード が発行されていることを確認します。
サービスの検出
MIP SDK は、サービス URL を明示的に指定しない場合に、 FileEngine または ProtectionEngine のオンプレミス サービス エンドポイントを自動的に検出します。 UPN またはメール アドレス サフィックスを使用して、 FileEngineSettings または ProtectionEngineSettings によって提供されるユーザー ID を使用します。 最初に、ドメイン階層で MDE の_rmsdisco レコードを検索します。 そのプロセスの詳細については、「 AD RMS モバイル デバイス拡張機能の DNS SRV レコードの指定」を参照してください。 その DNS SRV レコードが見つからない場合、既定ではサービスの場所として Microsoft Purview Information Protection サービスが使用されます。
AD RMS を使用するように C# でファイル SDK を構成する
Microsoft Authentication Library (MSAL.NET) と C# 上の File SDK を使用する場合、アプリケーションには 2 つの小さな変更が必要です。 オブジェクトと MSAL 機関構成を更新して、AD RMS と Active Directory フェデレーション サービス (AD FS) (AD FS) で機能するようにします。
注
Active Directory認証ライブラリ (ADAL) は非推奨です。 新しいアプリケーションでは MSAL を使用する必要があります。 背景については、「Microsoft Authentication Libraryと Microsoft Graph APIを使用するようにアプリケーションを更新する」を参照してください。
モバイル デバイス拡張機能の DNS SRV レコードをデプロイし、ユーザー プリンシパル名または電子メール アドレスを渡す予定の場合は、 ID を使用するための手順に従います。
ID で 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 認証ライブラリ (ADAL) を引き続き使用するレガシ アプリケーションを維持している場合、同等の変更は、AuthenticationContext コンストラクターでvalidateAuthorityのfalseを渡すことです。 そのコードを MSAL に移行することを計画します。
AD RMS を使用するように C++ でファイル SDK を構成する
モバイル デバイス拡張機能の DNS SRV レコードをデプロイし、ユーザー プリンシパル名または電子メール アドレスを渡す予定の場合は、 ID を使用するための手順に従います。
ID で AD RMS を使用するように FileEngine::Settings を更新する
MDE の DNS SRV レコードを公開し、FileEngine::Settingsでmip::Identityを指定した場合、唯一のアクションは、エンジンを保護専用エンジンに設定することです。
FileEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
engineSettings.SetProtectionOnlyEngine(true);
AD RMS を使用するための C++ での Protection SDK の構成
モバイル デバイス拡張機能の DNS SRV レコードをデプロイし、ユーザー プリンシパル名または電子メール アドレスを渡す予定の場合は、 ID を使用するための手順に従います。
ID 情報を使用して AD RMS を使うように ProtectionEngine::Settings を設定する
モバイル デバイス拡張機能の DNS SRV レコードを公開し、 ProtectionEngine::Settingsに ID を指定した場合、AD RMS を使用するために追加のコード変更は必要ありません。 サービス検出では、AD RMS エンドポイントが検出され、保護操作に使用されます。
ProtectionEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
ラベル参照を削除またはコメントアウトする
クイック スタート ガイドの 1 つからアプリケーションをビルドすると、アプリケーションに fileEngine.SensitivityLabels または engine->ListSensitivityLabels();の形式でラベルへの参照があることがわかります。 アプリケーションを保護のみに設定するため、これらのコード ブロックをコメント アウトまたは削除します。 これらを実行すると、例外が発生します。
次のステップ
AD RMS をサポートするように変更を加えたので、アプリケーションは保護プロバイダーとして AD RMS サービスを使用して保護専用の操作を実行できます。