Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Implementierung: Hinzufügen eines Schutzmoduls
Im File SDK ist die mip::ProtectionProfile Klasse die Stammklasse für alle SDK-Vorgänge. Nachdem wir das Profil bereits erstellt haben, können wir dem Profil nun eine Engine hinzufügen.
Das folgende Beispiel veranschaulicht die Verwendung eines einzelnen Moduls für einen einzelnen authentifizierten Benutzer.
Implementierung: Einstellungen für die Protection Engine erstellen
Ähnlich wie ein Profil benötigt die Engine auch ein Einstellungsobjekt, mip::ProtectionEngine::Settings. Dieses Objekt enthält die eindeutige Kennung der Engine, anpassbare Clientdaten, die für Debugging oder Telemetrie verwendet werden können, und optional das Gebietsschema.
Hier erstellen wir ein ProtectionEngine::Settings Objekt namens engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Note
Wenn Sie diese Methode zum Erstellen des Schutzeinstellungsobjekts verwenden, müssen Sie die Identität auch manuell für ProtectionEngineSettings über setIdentity() oder die Zielcloudumgebung über setCloud()festlegen.
Als bewährte Methode sollte der erste Parameter, die ID, etwas sein, das es dem Modul ermöglicht, einfach mit dem zugeordneten Benutzer oder einem mip::Identity Objekt verbunden zu werden. So initialisieren Sie die Einstellungen mit mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Beim Erstellen von EngineSettings auf diese Weise ist es wichtig, auch explizit eine eindeutige engineId über Folgendes festzulegen:
engineSettings.SetEngineId(engineId);
Wenn Sie den Benutzernamen oder die E-Mail verwenden, können Sie sicherstellen, dass dasselbe Modul jedes Mal geladen wird, wenn der Benutzer den Dienst oder die Anwendung verwendet.
Implementierung: Schutz-Engine hinzufügen
Um die Engine hinzuzufügen, greifen wir wieder auf das Future-/Promise-Muster zurück, das wir zum Laden des Profils verwendet haben. Anstatt das Promise für mip::ProtectionProfile zu erstellen, verwenden wir 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();
Das Endergebnis des obigen Codes ist, dass wir dem Profil erfolgreich ein Modul für den authentifizierten Benutzer hinzugefügt haben.
Implementierung: Listenvorlagen
Mithilfe der hinzugefügten Engine ist es jetzt möglich, durch Aufruf von engine->GetTemplatesAsync() alle für den authentifizierten Benutzer verfügbaren Vertraulichkeitsvorlagen aufzulisten.
GetTemplatesAsync() ruft die Liste der Vorlagenbezeichner ab. Das Ergebnis wird in einem Vektor von std::shared_ptr<std::string> gespeichert.
Implementierung: 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();
Implementierung: Drucken der Vorlagen-IDs
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
Das Drucken der Namen ist eine einfache Möglichkeit, zu zeigen, dass wir die Richtlinie erfolgreich aus dem Dienst abgerufen und die Vorlagen abgerufen haben. Zum Anwenden der Vorlage ist die Vorlagenkennung erforderlich.
Das Zuordnen von Vorlagen zu Bezeichnern kann nur mithilfe des Policy SDK durch Untersuchen des Ergebnisses von ComputeActions() erfolgen.
Nächste Schritte
Nachdem das Profil geladen wurde, das Modul hinzugefügt wurde und wir Über Vorlagen verfügen, können wir einen Handler hinzufügen, um mit dem Lesen, Schreiben oder Entfernen von Vorlagen aus Dateien zu beginnen. Siehe Schutzhandlerkonzepte.