クイック スタート: Active Directory Rights Management Server (AD RMS) 保護

このクイック スタートでは、MIP SDK を使用して Active Directory Rights Management Server (AD RMS) のサポートを実装する方法について説明します。

注

このクイック スタートで説明する手順は、C# または C++ 用の File SDK と C++ 用の保護 SDK にのみ適用されます。

[前提条件]

まだ行っていない場合は、次の手順を実行してください。

サービスの検出

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 サービスを使用して保護専用の操作を実行できます。