Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Implémentation : Ajouter un moteur de protection
Dans le Kit de développement logiciel (SDK) File, la mip::ProtectionProfile classe est la classe racine pour toutes les opérations du Kit de développement logiciel (SDK). Après avoir créé le profil, vous pouvez ajouter un moteur au profil.
L’exemple suivant montre comment utiliser un seul moteur pour un utilisateur authentifié unique.
Implémentation : Créer des paramètres du moteur de protection
Comme pour un profil, le moteur nécessite également un objet de paramètres. mip::ProtectionEngine::Settings Cet objet stocke l’identifiant unique du moteur, le mip::AuthDelegate utilisé pour acquérir des jetons, des données client personnalisables que vous pouvez utiliser pour le débogage ou la télémétrie, et, éventuellement, les paramètres régionaux.
Le code suivant crée un ProtectionEngine::Settings objet appelé engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");
Note
Si vous créez l’objet de paramètres de protection avec cette méthode, définissez également l’identité sur l’objet ProtectionEngine::Settings en utilisant SetIdentity(), ou l’environnement cloud cible en utilisant SetCloud().
En guise de meilleure pratique, utilisez le premier paramètre, l’ID, pour identifier l’utilisateur associé ou utiliser un mip::Identity objet. Pour initialiser les paramètres avec mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com"), authDelegate, "");
Lorsque vous créez engineSettings de cette façon, définissez également explicitement un engineId unique à l’aide de :
engineSettings.SetEngineId(engineId);
Utilisez le nom d’utilisateur ou l’e-mail pour vous assurer que le moteur se charge de manière cohérente chaque fois que l’utilisateur utilise le service ou l’application.
Implémentation : Ajouter le moteur de protection
Utilisez le modèle futur/promesse utilisé pour charger le profil pour ajouter le moteur. Au lieu de créer la promesse pour mip::ProtectionProfile, utilisez 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();
Le code ajoute un moteur pour l’utilisateur authentifié au profil.
Implémentation : Modèles de liste
Après avoir ajouté le moteur, vous pouvez répertorier tous les modèles de confidentialité disponibles pour l’utilisateur authentifié en appelant engine->GetTemplatesAsync().
GetTemplatesAsync() récupère la liste des descripteurs de modèle. La méthode stocke le résultat dans un vecteur de std::shared_ptr<mip::TemplateDescriptor>.
Implémentation : 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();
Implémentation : Imprimer les ID de modèle
//Iterate through all template IDs in the vector
for (const auto& temp : templates) {
cout << "Template:" << "\n\tId: " << temp->GetId() << endl;
}
L’impression des noms indique que l’application a extrait avec succès la stratégie depuis le service et a récupéré les modèles. Pour appliquer le modèle, vous avez besoin de l’identificateur du modèle.
Vous pouvez associer des modèles à des étiquettes uniquement via le Policy SDK en examinant le résultat de ComputeActions().
Étapes suivantes
Maintenant que vous avez chargé le profil, ajouté le moteur et que vous avez des modèles, vous pouvez ajouter un gestionnaire pour commencer à lire, écrire ou supprimer des modèles de fichiers. Consultez les concepts du gestionnaire de protection.
- Pour obtenir un exemple de code, consultez l’exemple C++ du Kit de développement logiciel (SDK) MIP Protection sur GitHub.