Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Implementacja: Dodaj silnik ochrony
W SDK plików klasa mip::ProtectionProfile jest klasą główną dla wszystkich operacji w SDK. Po utworzeniu profilu można dodać silnik do profilu.
Poniższy przykład pokazuje, jak korzystać z pojedynczego silnika dla jednego uwierzytelnionego użytkownika.
Implementacja: Tworzenie ustawień aparatu ochrony
Podobnie jak profil, silnik wymaga również obiektu ustawień. mip::ProtectionEngine::Settings Ten obiekt przechowuje unikatowy identyfikator silnika, element mip::AuthDelegate używany do uzyskiwania tokenów, dostosowywalne dane klienta, których można używać do debugowania lub telemetrii, oraz opcjonalnie ustawienia regionalne.
Poniższy kod tworzy ProtectionEngine::Settings obiekt o nazwie engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");
Uwaga
Jeśli utworzysz obiekt ustawień ochrony za pomocą tej metody, ustaw również tożsamość w obiekcie ProtectionEngine::Settings za pomocą SetIdentity() lub docelowe środowisko chmury za pomocą SetCloud().
Najlepszym rozwiązaniem jest użycie pierwszego parametru, identyfikatora, aby zidentyfikować skojarzonego użytkownika lub użyć mip::Identity obiektu. Aby zainicjować ustawienia za pomocą polecenia mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com"), authDelegate, "");
Podczas tworzenia engineSettings w ten sposób jawnie ustaw także unikatowy engineId, używając:
engineSettings.SetEngineId(engineId);
Użyj nazwy użytkownika lub adresu e-mail, aby upewnić się, że silnik ładuje się w sposób spójny przy każdym użyciu usługi lub aplikacji przez użytkownika.
Implementacja: Dodaj silnik ochrony
Użyj wzorca Future/Promise zastosowanego do ładowania profilu, aby dodać silnik. Zamiast tworzyć obiekt Promise dla mip::ProtectionProfile, użyj mip::ProtectionEngine.
//auto profile will be std::shared_ptr<mip::ProtectionProfile>
auto profile = profileFuture.get();
//Create the ProtectionEngine::Settings object
ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");
//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();
Kod dodaje silnik do profilu uwierzytelnionego użytkownika.
Implementacja: szablony list
Po dodaniu silnika można wyświetlić listę wszystkich szablonów poufności dostępnych dla uwierzytelnionego użytkownika, wywołując engine->GetTemplatesAsync().
GetTemplatesAsync() pobiera listę deskryptorów szablonów. Metoda przechowuje wynik w wektorze std::shared_ptr<mip::TemplateDescriptor>.
Implementacja: ListSensitivityTemplates()
auto loadPromise = std::make_shared<std::promise<std::vector<std::shared_ptr<mip::TemplateDescriptor>>>>();
auto loadFuture = loadPromise->get_future();
engine->GetTemplatesAsync(engineObserver, loadPromise);
auto templates = loadFuture.get();
Implementacja: Drukuj identyfikatory szablonów
//Iterate through all template IDs in the vector
for (const auto& temp : templates) {
cout << "Template:" << "\n\tId: " << temp->GetId() << endl;
}
Drukowanie nazw pokazuje, że aplikacja pomyślnie pobrała zasady z usługi i pobrała szablony. Aby zastosować szablon, potrzebny jest identyfikator szablonu.
Szablony można przypisywać do etykiet tylko za pomocą SDK zasad, analizując wynik ComputeActions().
Następne kroki
Teraz, gdy załadowano profil, dodano silnik i masz już szablony, możesz dodać procedurę obsługi, aby rozpocząć odczytywanie, zapisywanie lub usuwanie szablonów z plików. Zobacz Pojęcia dotyczące obsługi ochrony.
- Przykładowy kod można znaleźć w przykładzie zestawu MIP Protection SDK języka C++ w GitHub.