Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Implementacja: dodanie silnika ochrony
W SDK plików klasa mip::ProtectionProfile jest klasą główną dla wszystkich operacji w SDK. Po utworzeniu profilu możemy teraz dodać silnik do profilu.
W poniższym przykładzie zademonstrowano użycie jednego silnika dla jednego uwierzytelnionego użytkownika.
Implementacja: Tworzenie ustawień silnika ochrony
Podobnie jak profil, silnik wymaga również obiektu ustawień. mip::ProtectionEngine::Settings Ten obiekt przechowuje unikatowy identyfikator aparatu, dostosowywalne dane klienta, których można użyć do debugowania lub telemetrii oraz opcjonalnie ustawień regionalnych.
W tym miejscu utworzymy ProtectionEngine::Settings obiekt o nazwie engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Uwaga
Jeśli używasz tej metody do utworzenia obiektu ustawień ochrony, musisz także ręcznie ustawić tożsamość w ProtectionEngineSettings za pomocą setIdentity() lub ustawić docelowe środowisko chmury za pomocą setCloud().
Pierwszy parametr, identyfikator, powinien wspierać łatwe połączenie silnika ze skojarzonym użytkownikiem lub obiektem mip::Identity. Aby zainicjować ustawienia za pomocą polecenia mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Podczas tworzenia ustawień silnika w ten sposób ważne jest również jawne ustawienie unikatowego identyfikatora silnika za pomocą:
engineSettings.SetEngineId(engineId);
Użycie nazwy użytkownika lub adresu e-mail pomaga zapewnić, że ten sam mechanizm jest uruchamiany każdorazowo, gdy użytkownik korzysta z usługi lub aplikacji.
Implementacja: Dodaj silnik ochrony
Aby dodać silnik, wrócimy do wzorca obietnicy/przyszłości używanego do ładowania profilu. Zamiast tworzenia obietnicy dla mip::ProtectionProfile, użyjemy 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();
Końcowym rezultatem działania powyższego kodu jest to, że pomyślnie dodaliśmy silnik dla uwierzytelnionego użytkownika do profilu.
Implementacja: szablony dla list
Za pomocą dodanego silnika można teraz wyświetlić listę wszystkich dostępnych dla uwierzytelnionego użytkownika szablonów poufności, wywołując engine->GetTemplatesAsync().
GetTemplatesAsync() pobiera listę identyfikatorów szablonów. Wynik jest przechowywany w wektorze std::shared_ptr<std::string>.
Implementacja: 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();
Implementacja: drukowanie identyfikatorów szablonu
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
Drukowanie nazw jest łatwym sposobem pokazania, że pomyślnie pobraliśmy zasady z usługi i udało nam się uzyskać szablony. Aby zastosować szablon, wymagany jest identyfikator szablonu.
Mapowanie szablonów na etykiety można wykonać tylko za pomocą Policy SDK, sprawdzając wynik ComputeActions().
Następne kroki
Teraz, gdy profil został załadowany, silnik dodany i mamy szablony, możemy dodać moduł obsługi, aby rozpocząć odczytywanie, zapisywanie lub usuwanie szablonów z plików. Zobacz Pojęcia dotyczące obsługi ochrony.