Udostępnij przez


Zestaw SDK usługi Microsoft Information Protection — pojęcia dotyczące silnika ochrony SDK

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.