Microsoft Information Protection SDK — koncepcje aparatu SDK ochrony
Implementacja: Dodawanie aparatu ochrony
W zestawie File SDK klasa jest klasą główną mip::ProtectionProfile dla wszystkich operacji zestawu SDK. Po utworzeniu profilu możemy teraz dodać do profilu aparat.
Poniższy przykład przedstawia użycie jednego aparatu dla jednego uwierzytelnionego użytkownika.
Implementacja: Tworzenie aparatu Ustawienia
Podobnie jak profil aparat wymaga również obiektu ustawień, mip::ProtectionEngine::Settings . Ten obiekt przechowuje unikatowy identyfikator aparatu, dostosowywalne dane klienta, które mogą być używane do debugowania lub telemetrii, oraz opcjonalnie informacje o ustawieniach regionalnych.
Tutaj tworzymy ProtectionEngine::Settings obiekt o nazwie ProtectionEngine::Settings
ProtectionEngine::Settings engineSettings("UniqueID", "");
Uwaga
Jeśli tworzysz obiekt ustawień ochrony tą metodą, musisz także ręcznie ustawić tożsamość w ustawieniach ProtectionEngineSettings za pośrednictwem lub w docelowym środowisku setIdentity() chmury za pośrednictwem setCloud() .
Najlepszym rozwiązaniem jest, aby pierwszy parametr , identyfikator, był czymś, co umożliwia łatwe połączenie aparatu ze skojarzonym użytkownikiem lub obiektem. Aby zainicjować ustawienia za mip::Identity pomocą:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Podczas tworzenia ustawienia engineSettings w ten sposób należy jawnie ustawić również unikatowy identyfikator engineId za pośrednictwem:
engineSettings.SetEngineId(engineId);
Użycie nazwy użytkownika lub adresu e-mail pomaga zapewnić, że ten sam aparat jest ładowany za każdym razem, gdy użytkownik korzysta z usługi lub aplikacji.
Implementacja: Dodawanie aparatu ochrony
Aby dodać aparat, wrócimy do wzorca przyszłej/obietnicy użytego do ładowania profilu. Zamiast tworzyć obietnicę mip::ProtectionProfile dla , 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();
Wynikiem powyższego kodu jest pomyślne dodanie aparatu uwierzytelnionego użytkownika do profilu.
Implementacja: szablony list
Za pomocą dodanego aparatu można teraz wyświetlić listę wszystkich szablonów wrażliwości dostępnych dla uwierzytelnionego użytkownika, dzwoniąc pod numer 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 szablonów
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
Drukowanie nazw to łatwy sposób na pokazanie, że pomyślnie pozysuliśmy zasady z usługi i że udało nam się pobrać szablony. Aby zastosować szablon, wymagany jest identyfikator szablonu.
Mapowanie szablonów na etykiety można wykonać tylko za pomocą zestawu SDK zasad, analizując wynik zestawu ComputeActions() .
Następne kroki
Teraz, gdy profil został załadowany, dodano aparat i mamy szablony, możemy dodać program obsługi, aby rozpocząć odczytywanie, pisanie lub usuwanie szablonów z plików. Zobacz Pojęcia związane z programem ochrony.