この記事では、Microsoft Information Protection (MIP) SDK に関する一般的な質問に回答します。 既知の問題とエラー メッセージについては、 MIP SDK のトラブルシューティングを参照してください。
General
MIP SDK でサポートされているラベルの数はいくつですか?
MIP SDK では、最大 500 個の暗号化された秘密度ラベルがサポートされます。 暗号化を使用しないラベルには、この制限は適用されません。 秘密度ラベルの数が多いテナントでは、パフォーマンスへの影響が発生する可能性があります。 詳細については、「 秘密度ラベルの制限事項」を参照してください。
MIP SDK では、分類ラベルを使用した .pfile 型の再ラベル付けはサポートされていますか?
いいえ。pfile は保護されたファイルの種類であるため、これは仕様です。 分類する前に、Microsoft Purview Information Protection ファイル ラベラーを使用して暗号化を解除します。
保護されたファイルがMicrosoft Teamsからダウンロードされ、暗号化解除に失敗するのはなぜですか?
これは、サポートされていないバージョンの MIP SDK の既知の問題です。 最新バージョンの MIP SDK にアップグレードします。
異なるテナントの複数のラベルがファイルに適用されている場合、適用されるラベルを確認するにはどうすればよいですか?
各テナントについて、ユーザーのコンテキストで GetLabel メソッドにクエリを実行します。
メタデータ ストレージの変更
PDF など、他の形式が影響を受けますか?
Microsoft、Office 365、SharePoint Online、およびその他のサービスの新機能をサポートするために、Office ファイル (Word、Excel、PowerPoint) のラベル メタデータの保存場所の変更を発表しました。 その他のファイル形式は影響を受けず、Office ファイルのみ、特にWord、Excel、PowerPointファイルです。
必要な MIP SDK の特定のバージョンはありますか?
MIP SDK 1.7 以降は完全に互換性があります。
この保存場所を使用するために必要な特定のバージョンの Office クライアントはありますか?
2021年9月以降にリリースされたすべてのMicrosoft 365 Appsクライアントは、この新しいメタデータの場所をサポートしています。 新しいストレージの場所は、テナント管理者が保護された共同編集機能を有効にするまで使用されません。
既存のメタデータは、*custom.xml* にカスタムプロパティとして保存された場合、最新の状態に保たれますか?
No. 新しい保存場所を有効にした後でドキュメントを初めて保存すると、ラベル メタデータが新しい場所に移動します。
LabelingOptions.ExtendedPropertiesを使用して書き込まれたメタデータは、custom.xmlに残ります。
MIP SDK なしでラベル メタデータを読み取ることができるかどうか。
はい。ただし、ファイルを解析して情報を抽出するには、独自のコードを実装する必要があります。
現時点では、ファイルからキーと値のペアの文字列を抽出することで、ラベルを "読み取る" のは簡単です。 メタデータは引き続きこの方法で読み取ることができますか?
はい。メタデータは、Office ファイル XML で引き続き読み取ることができます。 アプリケーションは、ポリシー ファイルから共同編集設定を読み取って、新しい機能セットが有効になっていることを確認する必要があります。 この設定では、ラベル データを読み書きする場所 (custom.xml と labelinfo.xml) を定義します。 実装の詳細については、 MS-OFFCRYPTO: LabelInfo とカスタム ドキュメント プロパティ を確認します。
ラベル ポリシーで共同編集が有効になっているかどうかを確認するにはどうすればよいですか?
ポリシー エンジンは、 enableLabelCoauth キーの値から共同編集設定の状態を返します。 アプリケーションでは、ポリシー エンジンから生バイトを読み取って共同編集の状態を判断できます。
ラベルはどのように新しい場所に移行されますか?
MIP SDK では、次のロジックを使用して、ラベル データの読み取りと書き込みに使用するセクションを決定します。
| アクション | 機能が有効になっていません | 機能が有効 |
|---|---|---|
| Read | custom.xml(保護されていない)または Doc SummaryInfo(保護されている)内のラベル。 |
labelinfo.xmlにラベルが存在する場合は、有効なラベルになります。 labelinfo.xmlにラベルがない場合は、custom.xml または Doc SummaryInfo のラベルが有効なラベルです。 |
| Write | MIP SDK は、すべての新しいラベルを custom.xml (保護されていない) または Doc SummaryInfo (保護) に書き込みます。 | MIP SDK は、すべての新しいラベルを labelinfo.xmlに書き込みます。 |
ファイルの解析
File SDK で現在読んでいるのと同じファイルに書き込むことはできますか?
MIP SDK では、同じファイルの読み取りと書き込みを同時に行うことはサポートされていません。 ラベル付きファイルは、ラベルアクションが適用された入力ファイルのコピーになります。 アプリケーションで、元のファイルをラベル付きファイルに置き換える必要があります。
SDK の文字列処理
SDK は文字列をどのように処理し、コードでどの文字列型を使用する必要がありますか?
SDK はクロスプラットフォームで使用することを目的としており、文字列処理に対して、UTF-8 (Unicode Transformation Format - 8-bit) を使用します。 具体的なガイダンスは、使用しているプラットフォームによって異なります。
| Platform | Guidance |
|---|---|
| Windows ネイティブ | C++ SDK クライアントの場合は、API 関数に対して文字列を渡すために C++ 標準ライブラリ型 std::string を使用します。 MIP SDK は、UTF-8 との間で行われる変換を内部で管理します。 API が std::stringを返すときは、UTF-8 エンコードを想定し、文字列を変換する場合はそれに応じて管理する必要があります。 場合によっては、API は uint8_t ベクター (公開ライセンス (PL) など) の一部として文字列を返しますが、不透明な BLOB として扱う必要があります。詳細と例については、次をご覧ください。
|
| .NET | .NET SDK クライアントの場合、すべての文字列はデフォルトの UTF-16 Encoding を使用するので、特別な変換は必要ありません。 MIP SDK は、UTF-16 との間で行われる変換を内部で管理します。 |
| その他のプラットフォーム | MIP SDK でサポートされている他のすべての他のプラットフォームには、UTF-8 のネイティブ サポートがあります。 |
コンテンツのマーキング
MIP SDK はコンテンツマーキングをサポートしていますか?
MIP SDK では、ヘッダー、フッター、透かしなどのコンテンツ マーキングをファイルに直接適用する機能はサポートされていません。 File SDK は、ラベル メタデータをファイルに書き込むとき、 contentBits メタデータ プロパティを書き込んで、File SDK が保護を適用したことを示します (構成されている場合)。 アプリケーションがヘッダー、フッター、または透かしを適用したことを示すプロパティは書き込まれません。 アプリケーションがファイルを開くと、アプリケーションはコンテンツ マーキング構成を評価し、保存時にファイルに書き込む必要があります。
Android での保護とポリシー SDK
MIP SDK を Android アプリケーションに統合するには、どの共有ライブラリを使用する必要がありますか?
MIP SDK Android バイナリには、 libmip_core.so、 libmip_protection_sdk.so、 libmip_upe_sdk.so、および libmip_unified.soが含まれます。
libmip_unified.so は推奨ライブラリであり、コア、保護、ポリシー共有ライブラリが含まれています。
Compliance
Microsoft Information Protection SDK Federal Information Processing Standard (FIPS) 140-2 は準拠していますか?
「FIPS 140-2 検証」を参照してください。
スロットリング
MIP SDK を使用する場合、サービスベースの調整制限はありますか?
Protection SDK または File SDK の保護操作によって使用される Rights Management サービスには、組織全体で 10 秒あたり 7,500 要求の制限があります。 アプリケーション A が 10 秒あたり 4,000 要求を生成し、同じ組織内のアプリケーション B が 10 秒あたり 4,000 要求を生成すると、両方のアプリケーションが HTTP 429 Too Many Requests 応答を受信し始める可能性があります。 開発者は、これらの例外を受け取ったときにバックオフ期間を実装する必要があります。 MIP SDK の将来のバージョンでは、このバックオフ期間が内部的に実装されます。