Auditování v sadě SDK souborů MIP

Jednotný protokol auditu poskytuje přístup k událostem auditu. Tyto události ukazují, které popisky uživatelé používají, ručně nebo automaticky, napříč všemi aplikacemi nebo službami integrovanými se sadou Microsoft Information Protection (MIP) SDK. Vývojoví partneři používající sadu SDK mohou tuto funkci povolit, aby se zobrazovaly informace z jejich aplikací ve zprávách pro zákazníky.

Povolení auditování

Sada MIP SDK ve výchozím nastavení neodesílá události auditu. Auditování musí být povoleno v jedné nebo více zásadách označení, aby se události auditu vyvolaly z aplikací podporujících MIP SDK.

Pokud chcete odesílat data auditu, povolte následující upřesňující nastavení.

  • Pomocí PowerShellu centra zabezpečení a dodržování předpisů přidejte následující upřesňující nastavení zásad:

    • Klíč: EnableAudit
    • Hodnota: True

    Pokud má například vaše politika označování název "Global":

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

    Poznámka:

    Ve výchozím nastavení toto upřesňující nastavení v zásadě není a protokoly auditu se neodesílají.

Typy událostí

Existují tři typy událostí, které je možné odeslat prostřednictvím sady SDK do Microsoft Purview. Události srdečního tepu, události zjišťování a události změn

Události srdečního tepu

Události tepných signálů se generují automaticky pro všechny aplikace integrované se sadou File SDK. Události Heartbeat se zobrazují v jednotném protokolu auditu jako události AipHeartBeat. Mezi události srdečního tepu patří:

  • Identifikátor nájemce (TenantId)
  • Vygenerovaný čas
  • Hlavní název uživatele
  • Název počítače, ve kterém se vygeneroval audit
  • Název procesu
  • Platform
  • ID aplikace – odpovídá ID aplikace Microsoft Entra.

Tyto události jsou užitečné při zjišťování aplikací ve vašem podniku, které používají sadu Microsoft Information Protection SDK.

Události objevu

Události zjišťování poskytují informace o informacích označených jako přečtené nebo spotřebované pomocí sady File SDK. Tyto události jsou užitečné, když se zobrazují zařízení, umístění a uživatelé, kteří přistupují k informacím v celé organizaci. Události zjišťování se zobrazují v jednotném protokolu auditu jako události AipDiscover.

Tyto události se odesílají do auditu nastavením parametru AuditDiscoveryEnabled na true při vytváření nového mip::FileHandler. Dále je k dispozici identifikátor obsahu, který identifikuje soubor v nějakém čitelném formátu pro člověka. Cesta k souboru by se měla obecně používat pro tento identifikátor.

Následující příklad vytvoří nový mip::FileHandler s povolenou detekcí auditu. Metoda CreateFileHandler() je volána na mip::FileEngine a AuditDiscoveryEnabled je nastavena na true. Jakmile FileHandler přečte štítek, vygeneruje se audit objevu.

// 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();

Události změn

Události změn poskytují informace o souboru, popisek, který byl použit nebo změněn, a veškeré odůvodnění poskytnuté uživatelem. Události změn vznikají voláním NotifyCommitSuccessful() na mip::FileHandler, poté, co je změna úspěšně potvrzena a uložena do souboru. Události změn se můžou objevit v jednotném auditu jako AipSensitivityLabelAction, AipProtectionAction nebo 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);
}