Megosztás a következőn keresztül:


Microsoft Information Protection SDK – Protection SDK motorfogalmak

Implementáció: Védelmi motor hozzáadása

A Fájl SDK-ban az mip::ProtectionProfile osztály az összes SDK-művelet gyökérosztálya. Miután létrehozta a profilt, hozzáadhatunk egy motort a profilhoz.

Az alábbi példa bemutatja, hogy egyetlen motort használnak egyetlen hitelesített felhasználóhoz.

Megvalósítás: Védelmi motor létrehozása Gépház

A profilhoz hasonlóan a motorhoz egy beállításobjektum is szükséges. mip::ProtectionEngine::Settings Ez az objektum tárolja az egyedi motorazonosítót, a hibakereséshez vagy telemetriához használható testreszabható ügyféladatokat, és opcionálisan a területi beállításokat.

Itt létrehozunk egy ProtectionEngine::Settings motor nevű objektumot Gépház.

ProtectionEngine::Settings engineSettings("UniqueID", "");

Megjegyzés:

Ha ezzel a módszerrel hozza létre a védelmi beállítások objektumát, manuálisan is be kell állítania az identitást a ProtectionEngine-en Gépház vagy a célfelhő-környezeten keresztül setIdentity()setCloud().

Ajánlott eljárásként az első paraméternek, az azonosítónak olyannak kell lennie, amely lehetővé teszi a motor számára, hogy könnyen kapcsolódjon a társított felhasználóhoz vagy egy mip::Identity objektumhoz. A beállítások inicializálása a következővel mip::Identity:

ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");

A motor létrehozásakor Gépház így fontos, hogy egy egyedi motorazonosítót is explicit módon állítson be a következő módon:

engineSettings.SetEngineId(engineId);

A felhasználónév vagy e-mail használatával biztosítható, hogy a felhasználó minden alkalommal betöltse ugyanazt a motort, amikor a felhasználó használja a szolgáltatást vagy az alkalmazást.

Implementáció: A védelmi motor hozzáadása

A motor hozzáadásához visszatérünk a profil betöltéséhez használt jövőbeli/ígéretes mintához. Ahelyett, hogy létrehoznánk az ígéretet mip::ProtectionProfile, használjuk 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();

A fenti kód végeredménye, hogy sikeresen hozzáadtunk egy motort a hitelesített felhasználóhoz a profilhoz.

Implementáció: Listasablonok

A hozzáadott motor használatával mostantól a hitelesített felhasználó számára elérhető összes bizalmassági sablont listázhatja a hívással engine->GetTemplatesAsync().

GetTemplatesAsync() lekéri a sablonok azonosítóinak listáját. Az eredményt a rendszer a következő vektorban std::shared_ptr<std::string>tárolja: .

Megvalósítás: 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();

Megvalósítás: A sablonazonosítók nyomtatása

//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
  cout << "Template:" << "\n\tId: " << temp << endl;
}

A nevek nyomtatásával egyszerűen megmutathatjuk, hogy sikeresen lekértük a szabályzatot a szolgáltatásból, és sikerült lekérni a sablonokat. A sablon alkalmazásához a sablonazonosítóra van szükség.

A sablonok címkékhez való leképezése csak a Policy SDK-val végezhető el a következő eredmény vizsgálatával ComputeActions(): .

Következő lépések

Most, hogy betöltötte a profilt, hozzáadta a motort, és sablonokkal rendelkezünk, hozzáadhatunk egy kezelőt, amely elkezdi olvasni, írni vagy eltávolítani a sablonokat a fájlokból. Lásd a Védelmi kezelővel kapcsolatos fogalmakat.