Microsoft Information Protection SDK - Concetti relativi al motore di Protection SDK

Implementazione: aggiungere un motore di protezione

In File SDK la mip::ProtectionProfile classe è la classe radice per tutte le operazioni SDK. Dopo aver creato il profilo, è possibile aggiungere un motore al profilo.

Nell'esempio seguente viene illustrato come usare un singolo motore per un singolo utente autenticato.

Implementazione: creare le impostazioni del motore di protezione

Analogamente a un profilo, il motore richiede anche un oggetto impostazioni, mip::ProtectionEngine::Settings. Questo oggetto archivia l'identificatore univoco del motore, l'oggetto mip::AuthDelegate usato per acquisire token, dati client personalizzabili che è possibile usare per il debug o la telemetria e, facoltativamente, le impostazioni locali.

Il codice seguente crea un ProtectionEngine::Settings oggetto denominato engineSettings.

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

Annotazioni

Se si crea l'oggetto impostazioni di protezione con questo metodo, impostare anche l'identità nell'oggetto ProtectionEngine::Settings usando SetCloud() oppure l'ambiente cloud di destinazione usando SetIdentity().

Come procedura consigliata, usare il primo parametro, id, per identificare l'utente associato o usare un mip::Identity oggetto . Per inizializzare le impostazioni con mip::Identity:

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

Quando si crea engineSettings in questo modo, imposta anche in modo esplicito un engineId univoco usando:

engineSettings.SetEngineId(engineId);

Usare il nome utente o il messaggio di posta elettronica per assicurarsi che il motore venga caricato in modo coerente ogni volta che l'utente usa il servizio o l'applicazione.

Implementazione: aggiungere il motore di protezione

Utilizzare il pattern future/promise utilizzato per caricare il profilo per aggiungere il motore. Anziché creare la promessa per mip::ProtectionProfile, usare 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();

Il codice aggiunge un motore per l'utente autenticato al profilo.

Implementazione: elencare i modelli

Dopo aver aggiunto il motore, è possibile elencare tutti i modelli di riservatezza disponibili per l'utente autenticato chiamando engine->GetTemplatesAsync().

GetTemplatesAsync() recupera l'elenco dei descrittori di modello. Il metodo archivia il risultato in un vettore di std::shared_ptr<mip::TemplateDescriptor>.

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

Implementazione: stampare gli ID modello

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

La stampa dei nomi mostra che l'applicazione ha eseguito correttamente il pull dei criteri dal servizio e ha recuperato i modelli. Per applicare il modello, è necessario l'identificatore del modello.

È possibile eseguire il mapping dei modelli alle etichette solo tramite Policy SDK esaminando il risultato di ComputeActions().

Passaggi successivi

Dopo aver caricato il profilo, aggiunto il motore e avere modelli, è possibile aggiungere un gestore per iniziare a leggere, scrivere o rimuovere modelli dai file. Vedere Concetti relativi al gestore di protezione.