Microsoft Information Protection SDK – koncept för SDK-skyddsmotorn

Implementering: Lägga till en skyddsmotor

I File SDK mip::ProtectionProfile är klassen rotklassen för alla SDK-åtgärder. När du har skapat profilen kan du lägga till en motor i profilen.

I följande exempel visas hur du använder en enda motor för en enda autentiserad användare.

Implementering: Skapa inställningar för skyddsmotorn

Precis som en profil kräver motorn också ett inställningsobjekt, mip::ProtectionEngine::Settings. Det här objektet lagrar den unika motoridentifieraren, anpassningsbara klientdata som du kan använda för felsökning eller telemetri och, om du vill, språkvarianten.

Följande kod skapar ett ProtectionEngine::Settings objekt som kallas engineSettings.

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

Note

Om du skapar skyddsinställningsobjektet med den här metoden anger du även identiteten i ProtectionEngineSettings med hjälp av setIdentity() eller målmolnmiljön med hjälp av setCloud().

Vi rekommenderar att du använder den första parametern, ID: t, för att identifiera den associerade användaren eller använda ett mip::Identity objekt. Initiera inställningarna med mip::Identity:

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

När du skapar engineSettings på det här sättet anger du också uttryckligen ett unikt engineId med hjälp av:

engineSettings.SetEngineId(engineId);

Använd användarnamnet eller e-postadressen för att bidra till att säkerställa att motorn laddas in konsekvent varje gång användaren använder tjänsten eller applikationen.

Implementering: Lägg till skyddsmotorn

Använd Future-/Promise-mönstret som används för att ladda profilen för att lägga till motorn. I stället för att skapa löftet för mip::ProtectionProfileanvänder du 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();

Koden lägger till en motor för den autentiserade användaren i profilen.

Implementering: Lista mallar

När du har lagt till motorn kan du lista alla känslighetsmallar som är tillgängliga för den autentiserade användaren genom att anropa engine->GetTemplatesAsync().

GetTemplatesAsync() hämtar listan över mallidentifierare. Metoden lagrar resultatet i en vektor av std::shared_ptr<std::string>.

Implementering: 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();

Implementering: Skriv ut mall-ID:n

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

Att skriva ut namnen visar att applikationen har hämtat policyn från tjänsten och mallarna. Om du vill använda mallen behöver du mallidentifieraren.

Du kan endast koppla mallar till etiketter via Policy SDK genom att undersöka resultatet av ComputeActions().

Nästa steg

Nu när du har läst in profilen, lagt till motorn och har mallar kan du lägga till en hanterare för att börja läsa, skriva eller ta bort mallar från filer. Se Begrepp för skyddshanterare.