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.