Sdílet prostřednictvím


Microsoft Information Protection SDK – Koncepty modulu sady SDK ochrany

Implementace: Přidání modulu ochrany

V sadě File SDK mip::ProtectionProfile je třída kořenovou třídou pro všechny operace sady SDK. Po vytvoření profilu teď můžeme do profilu přidat modul.

Následující příklad ukazuje použití jednoho modulu pro jednoho ověřeného uživatele.

Implementace: Vytvoření Nastavení modulu ochrany

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

Tady vytvoříme ProtectionEngine::Settings objekt s názvem engine Nastavení.

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

Poznámka:

Pokud používáte tuto metodu k vytvoření objektu nastavení ochrany, musíte také ručně nastavit identitu na ProtectionEngine Nastavení prostřednictvím setIdentity() cílového cloudového prostředí prostřednictvím setCloud().

Osvědčeným postupem je, že první parametr, ID, by měl být něco, co modulu umožňuje snadné připojení k přidruženému uživateli nebo objektu mip::Identity . Inicializace nastavení pomocí mip::Identity:

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

Při vytváření modulu Nastavení tímto způsobem je důležité explicitně nastavit také jedinečné ID modulu prostřednictvím:

engineSettings.SetEngineId(engineId);

Použití uživatelského jména nebo e-mailu pomáhá zajistit, aby se pokaždé, když uživatel používá službu nebo aplikaci, načetl stejný modul.

Implementace: Přidání modulu ochrany

Pokud chcete přidat modul, vrátíme se k vzoru budoucnosti nebo příslibu použitému k načtení profilu. Místo vytváření příslibu pro mip::ProtectionProfile, použijeme mip::ProtectionEngine.


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

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

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

Konečným výsledkem výše uvedeného kódu je, že jsme úspěšně přidali modul pro ověřeného uživatele do profilu.

Implementace: Výpis šablon

Pomocí přidaného modulu je nyní možné vypsat všechny šablony citlivosti dostupné ověřenému uživateli voláním engine->GetTemplatesAsync().

GetTemplatesAsync() načte seznam identifikátorů šablon. Výsledek je uložen ve vektoru std::shared_ptr<std::string>.

Implementace: ListSensitivityTemplates()

auto loadPromise = std::make_shared<std::promise<shared_ptr<vector<string>>>>();
std::future<std::shared_ptr<std::vector<std::string>>> loadFuture = loadPromise->get_future();
mEngine->GetTemplatesAsync(engineObserver, loadPromise);
auto templates = loadFuture.get();

Implementace: Tisk ID šablony

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

Tisk názvů je snadný způsob, jak ukázat, že jsme ze služby úspěšně načetli zásady a mohli šablony získat. K použití šablony se vyžaduje identifikátor šablony.

Mapování šablon na popisky lze provést pouze prostřednictvím sady SDK zásad prozkoumáním výsledku ComputeActions().

Další kroky

Teď, když je profil načtený, modul přidaný a máme šablony, můžeme přidat obslužnou rutinu, která začne číst, zapisovat nebo odebírat šablony ze souborů. Viz koncepty obslužné rutiny ochrany.