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 già creato il profilo, è ora possibile aggiungere un motore al profilo.
L'esempio seguente illustra l'uso di un singolo motore per un singolo utente autenticato.
Implementazione: creare 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, i dati client personalizzabili che possono essere usati per il debug o la telemetria e, facoltativamente, le impostazioni locali.
Qui viene creato un ProtectionEngine::Settings
oggetto denominato motore Impostazioni.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Nota
Se si usa questo metodo per creare l'oggetto impostazioni di protezione, è anche necessario impostare manualmente l'identità in ProtectionEngine Impostazioni tramite setIdentity()
o l'ambiente cloud di destinazione tramite setCloud()
.
Come procedura consigliata, il primo parametro, id, deve essere qualcosa che consente al motore di essere facilmente connesso all'utente associato o a un mip::Identity
oggetto. Per inizializzare le impostazioni con mip::Identity
:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Quando si crea il motore Impostazioni in questo modo, è importante impostare in modo esplicito anche un engineId univoco tramite:
engineSettings.SetEngineId(engineId);
L'uso del nome utente o del messaggio di posta elettronica consente di assicurarsi che lo stesso motore venga caricato ogni volta che l'utente usa il servizio o l'applicazione.
Implementazione: aggiungere il motore di protezione
Per aggiungere il motore, si tornerà al modello futuro/promessa usato per caricare il profilo. Anziché creare la promessa per mip::ProtectionProfile
, si userà 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();
Il risultato finale del codice precedente è che è stato aggiunto un motore per l'utente autenticato al profilo.
Implementazione: Elencare i modelli
Usando il motore aggiunto, è ora possibile elencare tutti i modelli di riservatezza disponibili per l'utente autenticato chiamando engine->GetTemplatesAsync()
.
GetTemplatesAsync()
recupererà l'elenco di identificatori di modelli. Il risultato viene archiviato in un vettore di std::shared_ptr<std::string>
.
Implementazione: 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();
Implementazione: stampare gli ID modello
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
La stampa dei nomi è un modo semplice per mostrare che i criteri sono stati estratti correttamente dal servizio e sono stati in grado di ottenere i modelli. Per applicare il modello, è necessario l'identificatore del modello.
Il mapping dei modelli alle etichette può essere eseguito solo tramite Policy SDK esaminando il risultato di ComputeActions()
.
Passaggi successivi
Ora che il profilo è stato caricato, il motore è stato aggiunto e sono disponibili modelli, è possibile aggiungere un gestore per iniziare a leggere, scrivere o rimuovere modelli dai file. Vedere Concetti relativi al gestore di protezione.