MIP ファイル SDK での監査

統合監査ログは、MIP SDK と統合されたアプリケーションまたはサービス全体で、ユーザーが手動または自動でどのラベルを適用しているかを示す監査イベントへのアクセスを提供します。 SDK を使用している開発パートナーは、この機能を有効にすることで、自分のアプリケーションからの情報が顧客レポートに反映されるようすることができます。

監査の有効化

既定では、MIP SDK によって監査イベントは送信されません。 MIP SDK が有効になっているアプリケーションから監査イベントが発生するように設定するには、1 つ以上のラベル ポリシーで監査を有効にする必要があります。

この動作を変更して、MIP SDK が有効になっているすべてのアプリケーションから監査データが送信されるようにするには、次の手順を実行します。

  • Security & Compliance Center PowerShell を使用して、次のポリシー の詳細設定 を追加します。

    • キー: EnableAudit
    • 値: True

    たとえば、ラベル ポリシーの名前が "Global" の場合は、次のようになります。

    Set-LabelPolicy -Identity Global -AdvancedSettings @{EnableAudit="True"}
    

    Note

    既定では、この詳細設定はポリシーに存在しないので、監査ログは送信されません。

イベントの種類

SDK 経由で Azure Information Protection Analytics に送信できるイベントは 3 種類あります。 ハートビート イベント検出イベント、および 変更イベント

ハートビートイベント

ハートビート イベントは、ファイル SDK が統合された任意のアプリケーションに対して自動的に作成されます。 ハートビート イベントは、統合監査ログに AipHeartBeat イベントとして表示されます。 ハートビート イベントには次のものが含まれます。

  • TenantId
  • 生成された時間
  • ユーザー プリンシパル名
  • 監査が生成されたマシンの名前
  • プロセス名
  • プラットフォーム
  • アプリケーション ID - Microsoft Entra アプリケーション ID に対応しています。

これらのイベントは、Microsoft Information Protection SDK を使用している企業全体のアプリケーションを検出するのに役立ちます。

ディスカバリーイベント

検出イベントでは、ファイル SDK によって読み取られるまたは使用されるラベル付き情報に関する情報を提供します。 これらのイベントは、組織全体で情報にアクセスしているデバイス、場所、ユーザーを明らかにするので役立ちます。 検出イベントは、統合監査ログに AipDiscover イベントとして表示されます。

これらのイベントは、AuditDiscoveryEnabled の新規作成時に mip::FileHandler パラメーターを true に設定することで監査に送信されます。 さらに、人間が判読できる形式でファイルを識別するコンテンツ識別子が提供されます。 この識別子にはファイル パスを使用することをお勧めします。

以下の例では、監査検出を有効にして新しい mip::FileHandler を作成します。 CreateFileHandler() メソッドは、true に設定された mip::FileEngineAuditDiscoveryEnabled に対して呼び出されます。 FileHandler がラベルを読み取ると、検出監査が生成されます。

// Create FileHandler with discovery enabled
auto handlerPromise = std::make_shared<std::promise<std::shared_ptr<FileHandler>>>();
auto handlerFuture = handlerPromise->get_future();
fileEngine->CreateFileHandlerAsync(inputFilePath, actualFilePath, true /*AuditDiscoveryEnabled*/, make_shared<FileHandlerObserver>(), createFileHandlerPromise);
auto handler = handlerFuture.get();

// Read label. This generates the discovery audit.
auto label = handler->GetLabel();

変更イベント

変更イベントは、ファイル、適用または変更されたラベル、およびユーザーが提供した正当な理由に関する情報を提供します。 変更イベントは、変更がファイルに正常にコミットされた後、mip::FileHandlerNotifyCommitSuccessful() を呼び出すことによって生成されます。 変更イベントは、AipSensitivityLabelActionAipProtectionAction、または AipFileDeleted として統合監査に表示できます。

// Create labeling options, set label
string contentId = "C:\\users\\myuser\\Documents\\MyPlan.docx";
mip::LabelingOptions labelingOptions(mip::AssignmentMethod::PRIVILEGED);
handler->SetLabel(labelId, labelingOptions, mip::ProtectionSettings());
auto commitPromise = std::make_shared<std::promise<bool>>();
auto commitFuture = commitPromise->get_future();

// CommitAsync() returns a bool. If the change was successful, call NotifyCommitSuccessful().
fileHandler->CommitAsync(outputFile, commitPromise);
if(commitFuture.get()) {

    // Submit audit event.
    handler->NotifyCommitSuccessful(contentId);
}