Microsoft Information Protection (MIP) SDK のセットアップと構成

このクイックスタートとチュートリアルから成る一連の記事では、MIP SDK ライブラリと API を使用したアプリケーションの作成を中心に取り上げています。 この記事では、SDK を使用するための準備として、Microsoft 365 サブスクリプションとクライアント ワークステーションをセットアップして構成する方法を紹介しています。

前提条件

作業を始める前に、必ず次のトピックを確認してください。

重要

ユーザーのプライバシーを尊重するために、自動ログ記録を有効にする前にユーザーの同意を得る必要があります。 ログ記録の通知に関して Microsoft で使用されている標準的なメッセージの例を次に示します。

エラーとパフォーマンスのログ記録を有効にしたことをもって、エラーとパフォーマンスのデータを Microsoft に送信することに同意したものと見なされます。 Microsoft は、インターネット経由でエラーおよびパフォーマンスのデータ (以下、"データ") を収集します。 Microsoft はこのデータを使用して、提供する Microsoft の製品やサービスの品質、セキュリティ、整合性の向上に努めています。 たとえば、使用されている機能、機能の応答速度、デバイスのパフォーマンス、ユーザー インターフェイスの操作性、製品で発生している問題など、パフォーマンスや信頼性を分析します。 また、データには、現在実行中のソフトウェアや IP アドレスなど、ソフトウェアの構成に関する情報も含まれます。

Office 365 サブスクリプションにサインアップする

多くの SDK サンプルでは、Office 365 サブスクリプションへのアクセスが必要となります。 まだお済みでない場合は、次のいずれかの種類のサブスクリプションにサインアップしてください。

名前 サインアップ
Office 365 Enterprise E3 試用版 (30 日の無料試用版) https://go.microsoft.com/fwlink/p/?LinkID=403802
Office 365 Enterprise E3 または E5 https://www.microsoft.com/microsoft-365/enterprise/office-365-e3
Enterprise Mobility + Security E3 または E5 https://www.microsoft.com/security
Azure Information Protection Premium P1 または P2 セキュリティとコンプライアンスのための Microsoft 365 ライセンス ガイダンス
Microsoft 365 E3、E5、F1 https://www.microsoft.com/microsoft-365/enterprise/microsoft365-plans-and-pricing

機密ラベルの構成

現在、Azure Information Protection を使用している場合、ラベルを Office 365 セキュリティ/コンプライアンス センターに移行する必要があります。 このプロセスの詳細については、「Azure Information Protection ラベルを Office 365 セキュリティおよびコンプライアンス センターに移行する方法」を参照してください

クライアント ワークステーションを構成する

次に、以下の手順に従って、クライアント コンピューターを正しくセットアップして構成します。

  1. Windows 10 ワークステーションを使用している場合:

    Windows Update を使用して、Windows 10 Fall Creators Update (バージョン 1709) 以降にマシンを更新します。 現在のバージョンを確認するには、次の手順を実行します。

    • 左下の Windows アイコンをクリックします。
    • 「About your PC」と入力し、Enter キーを押します。
    • 下へスクロールして [Windows の仕様] に移動し、[バージョン] を確認します。
  2. Windows 11 または Windows 10 ワークステーションを使用している場合:

    ワークステーションで [開発者モード] が有効になっていることを確認します。

    • 左下の Windows アイコンをクリックします。
    • 「Use developer features」と入力し、[開発者向け機能を使う] 項目が表示されたら Enter キーを押します。
    • [設定] ダイアログの [開発者向け] タブで、[開発者向け機能を使う] の [開発者モード] オプションを選択します。
    • 設定ダイアログを閉じます。
  3. 次のワークロードとオプション コンポーネントと共に Visual Studio 2019 をインストールします。

    • [ユニバーサル Windows プラットフォーム開発]: Windows ワークロードに加えて、次のオプション コンポーネント:

      • C++ ユニバーサル Windows プラットフォーム ツール
      • Windows 10 SDK 10.0.16299.0 SDK 以降 (既定で含まれていない場合)
    • [C++ によるデスクトップ開発]: Windows ワークロードに加えて、次のオプション コンポーネント:

      • Windows 10 SDK 10.0.16299.0 SDK 以降 (既定で含まれていない場合)

      Visual Studio setup

  4. ADAL.PS PowerShell モジュールをインストールします。

    • モジュールをインストールするには管理者権限が必要です。最初に次のどちらかの操作を行ってください。

      • 管理者権限のあるアカウントでコンピューターにサインインします。
      • 管理者特権 ([管理者として実行]) で Windows PowerShell セッションを実行します。
    • 次に install-module -name adal.ps コマンドレットを実行します。

      PS C:\WINDOWS\system32> install-module -name adal.ps
      
      Untrusted repository
      You are installing the modules from an untrusted repository. If you trust this repository, change its
      InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
      'PSGallery'?
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A
      
      PS C:\WINDOWS\system32>
      
  5. ファイルをダウンロードします。

    MIP SDK は次のプラットフォームでサポートされます。ダウンロードするファイルは、サポートされるプラットフォームと言語ごとに異なります。

    オペレーティング システム Versions Downloads メモ
    Ubuntu 20.04 C++ tar.gz
    Java (プレビュー) tar.gz
    .NET Core NuGet (プレビュー)
    Ubuntu 22.04 C++ tar.gz
    Java (プレビュー) tar.gz
    .NET Core NuGet (プレビュー)
    RedHat Enterprise Linux 8 と 9 C++ tar.gz
    Debian 10 と 11 C++ tar.gz
    macOS サポートされているすべてのバージョン C++ .zip Xcode の開発には 13 以降が必要です。
    Windows サポートされているすべてのバージョン (32/64 ビット) C++
    C++/.NET NuGet
    Java (プレビュー) .zip
    Android 9.0 以降 C++ .zip Protection および Policy SDK のみ。
    iOS サポートされているすべてのバージョン C++ .zip Protection および Policy SDK のみ。

    Tar.gz/.Zip のダウンロード

    Tar.gz と .Zip のダウンロードには、API ごとに 1 つの圧縮ファイルが含まれています。 圧縮ファイルには、mip_sdk_<API>_<OS>_1.0.0.0.zip (or .tar.gz) という名前が付いています (<API> は fileprotectionupe のいずれか、<OS> はプラットフォーム)。 たとえば、Debian の Protection SDK のバイナリとヘッダーのファイルは mip_sdk_protection_debian9_1.0.0.0.tar.gz という名前になります。 格納されている .tar.gz または .zip は、それぞれ 3 つのディレクトリに分かれています。

    • Bins: 各プラットフォーム アーキテクチャのコンパイル済みバイナリ (該当する場合)。
    • Include: ヘッダー ファイル (C++)。
    • Samples: サンプル アプリケーションのソース コード。

    NuGet パッケージ

    Visual Studio 開発を行っている場合は、NuGet パッケージ マネージャー コンソールで SDK をインストールすることもできます。

    Install-Package Microsoft.InformationProtection.File
    Install-Package Microsoft.InformationProtection.Policy
    Install-Package Microsoft.InformationProtection.Protection
    
  6. NuGet パッケージを使用していない場合は、PATH 環境変数に SDK バイナリのパスを追加します。 クライアント アプリケーションでは、実行時に PATH 変数を通じて依存バイナリ (DLL) を検出できます (省略可)。

    Windows 11 または Windows 10 ワークステーションを使用している場合:

    • 左下の Windows アイコンをクリックします。

    • 「Path」と入力し、[システム環境変数の編集] 項目が表示されたら Enter キーを押します。

    • [システムのプロパティ] ダイアログで、[環境変数] をクリックします。

    • [環境変数] ダイアログの [<user> のユーザー環境変数][Path] 変数行をクリックし、[編集] をクリックします。

    • [環境変数名の編集] ダイアログの [新規] をクリックして、編集可能な新しい行を作成します。 file\bins\debug\amd64protection\bins\debug\amd64upe\bins\debug\amd64 の各サブディレクトリに対する完全なパスを使用して、それぞれの新しい行を追加します。 SDK のディレクトリは、<API>\bins\<target>\<platform> 形式で格納されます。各プレースホルダーの意味は次のとおりです。

      • <API> = fileprotectionupe
      • <target> = debugrelease
      • <platform> = amd64 (x64)、x86 など
    • Path 変数の更新が完了したら、[OK] をクリックします。 さらに、[環境変数] ダイアログに戻ったら、[OK] をクリックします。

  7. GitHub から SDK サンプルをダウンロードします (省略可)。

Microsoft Entra ID にクライアント アプリケーションを登録する

Microsoft 365 サブスクリプションのプロビジョニング プロセスの過程で、関連する Microsoft Entra テナントが作成されます。 Microsoft Entra テナントでは、Microsoft 365 のユーザー アカウントアプリケーション アカウントに使用される ID およびアクセス管理が提供されます。 セキュリティで保護された API (MIP の API など) へのアクセスを伴うアプリケーションには、アプリケーション アカウントが必要となります。

実行時の認証と認可に関して、アカウントは、その ID 情報から得られる "セキュリティ プリンシパル" によって表されます。 アプリケーション アカウントを表すセキュリティ プリンシパルを "サービス プリンシパル" といいます。

クイックスタートと MIP SDK サンプルで使用するアプリケーション アカウントを Microsoft Entra ID に登録するには、次の手順に従います。

重要

Microsoft Entra テナント管理にアクセスしてアカウントを作成するためには、サブスクリプションの "所有者" ロールのメンバーであるユーザー アカウントで Azure portal にサインインする必要があります。 テナントの構成にもよりますが、アプリケーションを登録するためには、"グローバル管理者" ディレクトリ ロールのメンバーである必要がある場合もあります。 制限付きのアカウントでテストすることをお勧めします。 アカウントに割り当てるのは、必要な SCC エンドポイントにアクセスするための権限のみにしてください。 コマンドライン経由で渡したクリア テキストのパスワードは、ログ システムによって収集される可能性があります。

  1. アプリを Microsoft Entra ID に登録する」の「アプリケーション登録の作成」セクションの手順に従います。 テスト目的の場合は、このガイドの手順を実行するときに、所与のプロパティに次の値を使用してください。

    • [サポートされているアカウントの種類] で、[この組織のディレクトリ内のアカウントのみ] を選択します。
    • [リダイレクト URI] - リダイレクト URI の種類を [パブリック クライアント (モバイルとデスクトップ)] に設定します。アプリケーションで Microsoft 認証ライブラリ (MSAL) を使用している場合は、http://localhost を使用します。 それ以外の場合は、<app-name>://authorize という形式を使用します。
  2. 完了すると、新しいアプリケーションの登録のための [登録済みのアプリ] ページに戻ります。 [アプリケーション (クライアント) ID] フィールドの GUID をコピーして保存してください。各クイックスタートで必要になります。

  3. 次に、[API のアクセス許可] をクリックして、クライアントからアクセスする必要のある API とアクセス許可を追加します。 [アクセス許可の追加] をクリックして、[API アクセス許可の要求] ブレードを開きます。

  4. ここで、アプリケーションの実行時に必要となる MIP の API とアクセス許可を追加します。

    • [API を選択します] ページで [Azure Rights Management サービス] をクリックします。
    • [Azure Rights Management サービス] API ページで [委任されたアクセス許可] をクリックします。
    • [アクセス許可の選択] セクションで、[user_impersonation] アクセス許可をオンにします。 この権限によってアプリケーションで、保護されたコンテンツをユーザーに代わって作成したり、それらにアクセスしたりできるようになります。
    • [アクセス許可の追加] をクリックして保存します。
  5. 手順 4 を繰り返します。ただし今回は、[API を選択します] ページで API を検索する必要があります。

    • [API を選択します] ページの [所属する組織で使用している API] をクリックし、検索ボックスに「Microsoft Information Protection Sync Service」と入力してそれを選択します。
    • [Microsoft Information Protection Sync Service] API ページで [委任されたアクセス許可] をクリックします。
    • [UnifiedPolicy] ノードを展開し、[UnifiedPolicy.User.Read] をオンにします。
    • [アクセス許可の追加] をクリックして保存します。
  6. [API のアクセス許可] ページに戻ったら、[<テナント名> に対する管理者の同意の付与] をクリックし、[はい] をクリックします。 この手順によって、指定したアクセス許可で API にアクセスすることへの事前の同意が、この登録を使用するアプリケーションに与えられます。 グローバル管理者としてサインインした場合、アプリケーションを実行する、テナント内のすべてのユーザーについて同意が記録されます。それ以外の場合は、自分のユーザー アカウントにのみ適用されます。

完了すると、アプリケーションの登録と API のアクセス許可は、次の例のようになります。

Microsoft Entra app registrationMicrosoft Entra app API permissions

登録への API とアクセス許可の追加について詳しくは、Web API にアクセスするためのクライアント アプリケーションの構成に関する記事を参照してください。 クライアント アプリケーションに必要な API とアクセス許可の追加に関する情報を確認できます。

Information Protection Integration Agreement (IPIA) を申請する

MIP で開発されたアプリケーションを一般リリースする前に、Microsoft との正式な契約を申請して完了する必要があります。

Note

内部的な使用のみを意図したアプリケーションの場合、この契約は必要ありません。

  1. 次の情報を記載した電子メールを IPIA@microsoft.com に送信して IPIA を取得します。

    件名:会社名 の IPIA の申請

    電子メールの本文には、次の内容を含めます。

    • アプリケーションと製品の名前
    • 申請者の氏名
    • 申請者の電子メール アドレス
  2. IPIA の申請が受領されると、申請者にフォームが送信されます (Word 文書)。 IPIA の利用規約を確認し、フォームに次の情報を記載して IPIA@microsoft.com に返信します。

    • 会社の正式名称
    • 法人の都道府県または国
    • 会社の URL
    • 連絡先の電子メール アドレス
    • 会社のその他のアドレス (省略可能)
    • 会社のアプリケーションの名前
    • アプリケーションの簡単な説明
    • Azure のテナント ID
    • アプリケーションのアプリ ID
    • 緊急時の会社の連絡先、電子メール、電話番号
  3. フォームが受領されると、デジタル署名のための最終 IPIA リンクが送信されます。 署名後、適切な Microsoft の担当者による署名が行われ、契約が完了します。

IPIA が署名済みの場合

署名済み IPIA を既に所有しており、リリースするアプリケーションに新しい "アプリ ID" を追加する場合は、電子メールを IPIA@microsoft.com に送信し、次の情報を提供してください。

  • 会社のアプリケーションの名前
  • アプリケーションの簡単な説明
  • Azure のテナント ID (以前と同じ場合でも)
  • アプリケーションのアプリ ID
  • 緊急時の会社の連絡先、電子メール、電話番号

電子メールの送信から受領確認まで、最大で 72 時間お待ちください。

アプリに必要なランタイムがあることを確認する

Note

この手順が必要になるのは、Visual Studio のないマシンにアプリケーションをデプロイする場合、または Visual Studio のインストールに Visual C++ Runtime コンポーネントが含まれていない場合だけです。

MIP SDK を使用して作成されたアプリケーションを実行するには、Visual C++ 2015 または Visual C++ 2017 のランタイムをインストールする必要があります (まだ存在しない場合)。

これらが正しく動作するためには、アプリケーションが "リリース" としてビルドされている必要があります。 アプリケーションが "デバッグ" としてビルドされている場合、Visual C++ ランタイムのデバッグ DLL がアプリケーションに含まれているか、またはマシンにインストールされている必要があります。

次のステップ