Microsoft Information Protection (MIP) SDK の FAQ と問題

この記事には、よく寄せられる質問 (FAQ) に対する回答と、既知の問題と一般的なエラーに関するトラブルシューティング ガイダンスが記載されています。

よく寄せられる質問

メタデータ ストレージの変更

私たちは、Office 365、SharePoint Online などのサービスの新機能をサポートするために、Office ファイル (Word、Excel、PowerPoint) のラベル メタデータ ストレージを変更することを発表しました

メタデータに関するよくあるご質問

質問: PDF などの他の形式への影響はありますか?

  • いいえ。Office ファイル、具体的には Word、Excel、PowerPoint ファイルのみです。

質問: 必要とされる MIP SDK の特定のバージョンはありますか?

  • MIP SDK 1.7 以降は完全に互換性があります。

質問:このストレージ場所を使用するために必要なOfficeクライアントの特定のバージョンはありますか?

  • 2021年9月以降にリリースされたすべてのMicrosoft 365 Appsクライアントは、この新しいメタデータの場所をサポートしています。 新しいストレージの場所は、テナント管理者によって保護された共同編集機能が有効になるまで使用されません。

質問: custom.xml にカスタム プロパティとして保存されている既存のメタデータは、最新の状態に維持されますか?

  • いいえ。 新しい保存場所を使用するように設定した後、文書が初めて保存されると、ラベルメタデータが新しい場所に移動されます。 LabelingOptions.ExtendedPropertiesを介して作成されたメタデータは、custom.xmlに残ります。

質問: MIP SDK を使わずにラベル メタデータを読み取ることは可能ですか?

  • はい。ただし、ファイルを解析して情報を抽出するには、独自のコードを実装する必要があります。

質問: 現在、キーと値のペア文字列をファイルから抽出して、ラベルを簡単に "読み取る" ことができます。 メタデータは引き続きこの方法で読み取ることができますか?

  • はい。メタデータは、Office ファイル XML で引き続き読み取ることができます。 アプリケーションは、ポリシー ファイルから共同編集設定を読み取って、新しい機能セットが有効になっていることを確認する必要があります。 これにより、ラベル データの読み取り/書き込み先 (custom.xmlとlabelinfo.xml) が定義されます。 実装の詳細については、「MS-OFFCRYPTO: LabelInfo とカスタム ドキュメント プロパティ | Microsoft Docs」を参照してください。

質問: ラベルはどのように新しい場所に移行されますか?

  • どのセクションが読み取られてラベル データの読み取りまたは書き込みに使用されるかを決定するには、次のロジックを使用します。
アクション 機能が有効でない 機能が有効
読み込み custom.xml (保護なし) または Doc SummaryInfo (保護あり) 内のラベル。 labelinfo.xml 内にラベルが存在する場合は、それが有効なラベルです。
labelinfo.xmlにラベルがない場合、custom.xmlまたはDoc SummaryInfoのラベルが有効なラベルとなります。
書き込み 新しいラベルはすべて、custom.xml (保護なし) または Doc SummaryInfo (保護あり) に書き込まれます。 新しいラベルはすべて、labelinfo.xml に書き込まれます。

ファイルの解析

質問: ファイル SDK を使って現在読み取り中の同じファイルに書き込みできますか?

MIP SDK では、同じファイルの読み取りと書き込みを同時に行うことはサポートされていません。 ラベル付きファイルは、ラベルアクションが適用された入力ファイルのコピーになります。 アプリケーションで、元のファイルをラベル付きファイルに置き換える必要があります。

SDK の文字列処理

質問: この SDK で文字列はどのように処理され、自分のコードではどの文字列型を使用する必要がありますか?

SDK はクロスプラットフォームで使用することを目的としており、文字列処理に対して、UTF-8 (Unicode Transformation Format - 8-bit) を使用します。 具体的なガイダンスは、使用しているプラットフォームによって異なります。

プラットフォーム ガイダンス
Windows ネイティブ C++ SDK クライアントの場合、C++ 標準ライブラリ型 std::string は API 関数に対する文字列の受け渡しに使用されます。 UTF-8 への変換と UTF-8 からの変換は、MIP SDK によって内部的に管理されます。 API から std::string が返される場合は、UTF-8 Encoding を想定し、文字列の変換時はそれに応じて管理する必要があります。 場合によっては、文字列は、uint8_t ベクトル (公開ライセンス (PL) など) の一部として返されますが、不透明 BLOB として扱う必要があります。

詳細と例については、次をご覧ください。
  • ワイド文字列を UTF-8 などの複数バイトに変換するための WideCharToMultiByte 関数
  • SDK ダウンロードに含まれる次のサンプル ファイル:
    • ワイド UTF-8 文字列に変換またはワイド UTF-8 文字列から変換する際のfile\samples\common\string_utils.cpp のサンプル文字れるユーティリティ関数。
    • 先行文字列変換関数を使用する wmain(int argc, wchar_t *argv[]) での file\samples\file\main.cpp の実装。
.NET .NET SDK クライアントの場合、すべての文字列はデフォルトの UTF-16 Encoding を使用するので、特別な変換は必要ありません。 UTF-16 への変換と UTF-16 からの変換は、MIP SDK によって内部的に管理されます。
その他のプラットフォーム MIP SDK でサポートされている他のすべての他のプラットフォームには、UTF-8 のネイティブ サポートがあります。

コンテンツ マーキング

質問: MIP SDK でコンテンツ マーキングはサポートされていますか?

MIP SDK では、ヘッダー、フッター、透かしなどのコンテンツ マーキングをファイルに直接適用する機能はサポートされていません。 ラベル メタデータがファイルに書き込まれると、ファイル SDK は contentBits メタデータ プロパティを書き込み、保護が適用されたことを示します (構成されている場合)。 ヘッダー、フッター、または透かしが適用されたことを示すプロパティは書き込まれません。 コンテンツ マーキングをサポートするアプリケーションでファイルを開くときは、コンテンツ マーキングの構成をアプリケーションで評価し、保存時にファイルに書き込む必要があります。

Androidでの保護とポリシー SDK

質問:MIP SDKをAndroidアプリケーションに統合するには、どの共有ライブラリを使用する必要がありますか?

MIP SDK Androidバイナリには、libmip_core.solibmip_protection_sdk.solibmip_upe_sdk.solipmip_unified.soが含まれます。 libmip_unified.so コア、保護、およびポリシー共有ライブラリを含む推奨ライブラリです。

コンプライアンス

質問: Microsoft Information Protection SDK は FIPS 140-2 に準拠していますか?

Microsoft Information Protection SDK は、FIPS 140-2 で承認された暗号を使用しますが、現在使用している暗号化ライブラリは、FIPS 140-2 で検証されたものではありません。 MIP SDKを使用しているアプリケーションは、SDKが現時点ではFIPS準拠と見なされていないことに注意する必要があります。 詳細については、FIPS 140-2 準拠に関する記事を参照してください。

問題とエラーの参照先

エラー:「ファイル形式はサポートされていません」

質問: PDF ファイルを保護またはラベル付けしようとすると次のエラーが発生します。どうしてでしょうか?

ファイル形式がサポートされていません

この例外は、デジタル署名されているかパスワードで保護されている PDF ファイルを保護またはラベル付けしようとすると発生します。 PDF ファイルの保護とラベル付けの詳細については、「Microsoft Information Protection を使用したPDF 暗号化の新しいサポート」を参照してください。

エラー:「取得したコンプライアンス ポリシーの解析に失敗しました」

質問: MIP SDK をダウンロードし、ファイル サンプルを使ってすべてのラベルを一覧表示しようとすると次のエラーが発生します。どうしてでしょうか?

問題が発生しました: 取得したコンプライアンス ポリシーを解析できませんでした。 Failed with: [class mip::CompliancePolicyParserException] タグが見つかりませんでした: ポリシー、ノード タイプ: 15、名前: 名前がありません、値: 、先祖: <SyncFile><Content>、correlationId:[34668a40-blll-4ef8-b2af-00005aa674z9]

このエラーは、ラベルを Azure Information Protection から統合ラベル付けエクスペリエンスに移行していないことを示しています。 「Azure Information Protection ラベルを統合機密度ラベルに移行する方法」に従い、Office 365 Security および Compliance Portal でラベル ポリシーを作成します。

エラー:「NoPolicyException: ラベル・ポリシーにデータが含まれていなかった"

質問: MIP SDK を使用してラベルを読み取りまたはラベルを一覧表示しようとすると、次のエラーが発生します。どうしてでしょうか?

NoPolicyException:ラベルポリシーにデータが含まれていませんでした。CorrelationId=GUID、CorrelationId.Description=PolicyProfile、NoPolicyError.Category=SyncFile、NoPolicyError.Category=SyncFile

このエラーは、Microsoft Purviewコンプライアンスポータルにラベルポリシーが公開されていないことを示します。 「秘密度ラベルとそのポリシーを作成して構成する」に従ってラベル ポリシーを構成してください。

エラー: "System.ComponentModel.Win32Exception: LoadLibrary failed" (LoadLibrary が失敗しました)

質問: MIP SDK .NET Wrapper 使用時に次のエラーが発生します。どうしてでしょうか?

System.ComponentModel.Win32Exception: LoadLibrary failed for: [sdk_wrapper_dotnet.dll] when calling MIP.Initialize().

アプリケーションに必要なランタイムがないか、リリースとしてビルドされていません。 詳細については、「アプリに必要なランタイムがあることを確認する」を参照してください。

エラー: "ProxyAuthError exception" (ProxyAuthError 例外)

質問: MIP SDK 使用時に次のエラーが発生します。どうしてでしょうか?

"ProxyAuthenticatonError: Proxy authentication is unsupported" (プロキシ認証はサポートされていません)

MIP SDK では、認証されたプロキシの使用はサポートされていません。 このメッセージを守勢するには、プロキシ管理者がプロキシをバイパスするように、Microsoft Purview Information Protection サービス エンドポイントを設定する必要があります。 それらのエンドポイントの一覧は、「Office 365 URL および IP アドレス範囲」のページにあります。 MIP SDK では、*.protection.outlook.com (行 9) と Azure Information Protection サービス エンドポイント (行 73) がプロキシ認証をバイパスする必要があります。

エラー: ストリーム出力を使用してイメージ ファイルにラベルを付ける際の「不明なエラー」

質問: 出力ストリームを使用して、イメージ ファイルの種類にラベルまたは保護を追加・削除しようとすると、「不明なエラー」が表示されるのはなぜですか?

出力にストリームを使用する場合、イメージ ファイルのラベルまたは保護を変更するには、ストリームに読み取りと書き込みの両方のアクセス許可が必要です。

質問: MIP SDK を使用する場合、サービスベースのスロットル制限はありますか?

保護 SDK または File SDK の保護操作によって使用される保護サービスには、組織全体で 10 秒あたり 7,500 要求の制限があります。 つまり、アプリケーション A が 10 秒あたり 4,000 件の要求を生成し、同じ組織で Applicaiton B が 10 秒あたり 4,000 要求を生成している場合、両方のアプリケーションが HTTP 429 Too Many Requests 応答を受信し始める可能性があります。 開発者は、これらの例外を受信したときにバックオフ期間を実装する必要があります。