Microsoft Information Protection SDK – Koncepty modulu sady SDK ochrany

Implementace: Přidat ochranný modul

V rámci sady File SDK je třída mip::ProtectionProfile kořenovou třídou pro všechny operace SDK. Po vytvoření profilu můžete do profilu přidat modul.

Následující příklad ukazuje, jak použít jeden modul pro jednoho ověřeného uživatele.

Implementace: Vytvořit nastavení modulu ochrany

Podobně jako profil vyžaduje modul také objekt nastavení . mip::ProtectionEngine::Settings Tento objekt ukládá jedinečný identifikátor modulu, mip::AuthDelegate použitý k získání tokenů, přizpůsobitelná klientská data, která můžete použít pro ladění nebo telemetrii a volitelně národní prostředí.

Následující kód vytvoří ProtectionEngine::Settings objekt s názvem engineSettings.

ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");

Poznámka:

Pokud pomocí této metody vytvoříte objekt nastavení ochrany, nastavte také identitu u objektu ProtectionEngine::Settings pomocí SetIdentity() nebo cílové cloudové prostředí pomocí SetCloud().

Osvědčeným postupem je použití prvního parametru, ID, identifikace přidruženého uživatele nebo použití objektu mip::Identity . Inicializace nastavení pomocí mip::Identity:

ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com"), authDelegate, "");

Při vytváření engineSettings tímto způsobem také explicitně nastavte jedinečné engineId pomocí:

engineSettings.SetEngineId(engineId);

Uživatelské jméno nebo e-mail vám pomůže zajistit, aby se modul pokaždé, když uživatel používá službu nebo aplikaci, načítá konzistentně.

Implementace: Přidat ochranný modul

Použijte vzor future/promise, který se používá k načtení profilu, k přidání enginu. Místo vytvoření slibu pro mip::ProtectionProfile, použít mip::ProtectionEngine.


  //auto profile will be std::shared_ptr<mip::ProtectionProfile>
  auto profile = profileFuture.get();

  //Create the ProtectionEngine::Settings object
  ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");

  //Create a promise for std::shared_ptr<mip::ProtectionEngine>
  auto enginePromise = std::make_shared<std::promise<std::shared_ptr<mip::ProtectionEngine>>>();

  //Instantiate the future from the promise
  auto engineFuture = enginePromise->get_future();

  //Add the engine using AddEngineAsync, passing in the engine settings and the promise
  profile->AddEngineAsync(engineSettings, enginePromise);

  //get the future value and store in std::shared_ptr<mip::ProtectionEngine>
  auto engine = engineFuture.get();

Kód přidá do profilu modul pro ověřeného uživatele.

Implementace: Výpis šablon

Po přidání modulu můžete zobrazit seznam všech šablon citlivosti, které jsou k dispozici ověřenému uživateli voláním engine->GetTemplatesAsync().

GetTemplatesAsync() načte seznam deskriptorů šablon. Metoda ukládá výsledek ve vektoru std::shared_ptr<mip::TemplateDescriptor>.

Implementace: ListSensitivityTemplates()

auto loadPromise = std::make_shared<std::promise<std::vector<std::shared_ptr<mip::TemplateDescriptor>>>>();
auto loadFuture = loadPromise->get_future();
engine->GetTemplatesAsync(engineObserver, loadPromise);
auto templates = loadFuture.get();

Implementace: Vypsat ID šablon

//Iterate through all template IDs in the vector
for (const auto& temp : templates) {
  cout << "Template:" << "\n\tId: " << temp->GetId() << endl;
}

Vypsání názvů ukazuje, že aplikace úspěšně načetla zásadu ze služby a získala šablony. K použití šablony potřebujete identifikátor šablony.

Šablony můžete k popiskům přiřazovat pouze pomocí sady Policy SDK na základě kontroly výsledku ComputeActions().

Další kroky

Teď, když jste načetli profil, přidali modul a máte šablony, můžete přidat obslužnou rutinu, která začne číst, zapisovat nebo odebírat šablony ze souborů. Viz principy obslužné rutiny ochrany.