Kit de développement logiciel (SDK) Microsoft Information Protection - Concepts de l’objet profil et moteur
Profiles
Quand le MipContext
est la classe permettant de stocker des paramètres spécifiques au kit de développement logiciel (SDK), le profil est la classe racine pour toutes les opérations spécifiques à l’étiquetage et à la protection MIP dans le kit de développement logiciel (SDK) MIP. Avant d’utiliser l’un des trois ensembles d’API, l’application cliente doit créer un profil. Les opérations futures sont effectuées par le profil ou par d’autres objets ajoutés au profil. Un seul objet de profil par processus est recommandé. La création de plusieurs éléments peut entraîner un comportement inattendu.
Il existe trois types de profil dans le kit de développement logiciel (SDK) MIP :
PolicyProfile
: classe de profil pour le kit de développement logiciel (SDK) Policy MIP.ProtectionProfile
: classe de profil pour le kit de développement logiciel (SDK) Protection MIP.FileProfile
: classe de profil pour le kit de développement logiciel (SDK) File MIP.
L’API utilisée dans l’application consommatrice détermine la classe de profil à utiliser.
Le profil lui-même offre la fonctionnalité suivante :
- Définit si l’état doit être chargé en mémoire ou conservé sur le disque et, s’il est conservé sur le disque, s’il doit être chiffré.
- Définit le
mip::ConsentDelegate
qui doit être utilisé pour les opérations de consentement. - Définit l’implémentation de
mip::FileProfile::Observer
qui sera utilisée pour les rappels asynchrones pour les opérations de profil.
Paramètres du profil
MipContext
: L’objetMipContext
initialisé pour stocker les informations de l’application, le chemin d’état, etc.CacheStorageType
: Définit comment stocker l’état : en mémoire, sur le disque ou sur le disque et chiffré.consentDelegate
: pointeur partagé de classemip::ConsentDelegate
.observer
: pointeur partagé vers l’implémentation du profilObserver
(dansPolicyProfile
,ProtectionProfile
etFileProfile
).applicationInfo
: un objetmip::ApplicationInfo
. Informations sur l’application qui consomme le kit de développement logiciel (SDK), qui correspond à votre ID et nom d’inscription d’application Microsoft Entra.
Moteurs
Les moteurs du kit de développement logiciel (SDK) Ficher, Profil et Protection fournissent une interface pour les opérations effectuées par une identité spécifique. Un moteur est ajouté à l’objet Profile pour chaque utilisateur ou principal de service qui se connecte à l’application. Il est possible d’effectuer des opérations déléguées via mip::ProtectionSettings
et le gestionnaire de fichiers ou de protection. Pour plus d’informations, consultez la section Paramètres de protection dans les concepts de FileHandler.
Il existe trois classes de moteur dans le kit de développement logiciel (SDK), une pour chaque API. La liste suivante présente les classes de moteur et quelques-unes des fonctions associées à chacune d’elles :
mip::ProtectionEngine
mip::PolicyEngine
ListSensitivityLabels()
: obtient la liste des étiquettes pour le moteur chargé.GetSensitivityLabel()
: obtient l’étiquette depuis le contenu existant.ComputeActions()
: fourni avec un ID d’étiquette et des métadonnées facultatives, retourne la liste des actions qui doivent se produire pour un élément spécifique.
mip::FileEngine
ListSensitivityLabels()
: obtient la liste des étiquettes pour le moteur chargé.CreateFileHandler()
: crée unmip::FileHandler
pour un fichier ou un flux spécifique.
La création d’un moteur nécessite de passer un objet de paramètres de moteur spécifique qui contient les paramètres du type de moteur à créer. L’objet paramètres permet au développeur de spécifier des détails sur l’identificateur du moteur, l’implémentation de mip::AuthDelegate
, la locale et les paramètres personnalisés, ainsi que d’autres détails spécifiques à l’API.
États moteur
Un moteur peut avoir l’un des deux états suivants :
CREATED
: Créé indique que le kit de développement logiciel (SDK) a suffisamment d’informations d’état local après avoir appelé les services principaux requis.LOADED
: le kit de développement logiciel (SDK) a créé les structures de données requises pour que le moteur soit opérationnel.
Un moteur doit être créé et chargé pour effectuer toutes les opérations. La classe Profile
expose quelques méthodes de gestion du moteur : AddEngineAsync
, DeleteEngineAsync
et UnloadEngineAsync
.
Le tableau suivant décrit les états du moteur possibles et les méthodes qui peuvent changer cet état :
État moteur | NONE | CREATED | CHARGÉ |
---|---|---|---|
NONE | AddEngineAsync | ||
CREATED | DeleteEngineAsync | AddEngineAsync | |
CHARGÉ | DeleteEngineAsync | UnloadEngineAsync |
ID du moteur
Chaque moteur a un identificateur unique, id
, qui est utilisé dans toutes les opérations de gestion du moteur. L’application peut fournir un id
, ou le kit de développement logiciel (SDK) peut en générer un, s’il n’est pas fourni par l’application. Toutes les autres propriétés du moteur (par ex. l’adresse e-mail dans les informations d’identité) sont des charges utiles opaques pour le kit de développement logiciel (SDK). Le kit de développement logiciel (SDK) N’EFFECTUE AUCUNE logique pour conserver l’une des autres propriétés uniques ou appliquer d’autres contraintes.
Important
**En guise de bonne pratique, utilisez un ID de moteur unique à l’utilisateur et utilisez-le chaque fois que l’utilisateur effectue une opération avec le kit de développement logiciel (SDK). L’échec de la fourniture d’un engineId unique existant pour un utilisateur ou un service entraîne des allers-retours de service supplémentaires. Ces allers-retours de service peuvent entraîner une dégradation et une limitation des performances. **
// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended.
mAuthDelegate, // authDelegate implementation
"", // ClientData
"en-US", // Client Locale
false); // Load Sensitive Information Types
Méthodes de gestion du moteur
Comme mentionné précédemment, il existe trois méthodes de gestion du moteur dans le kit de développement logiciel (SDK) : AddEngineAsync
, DeleteEngineAsync
et UnloadEngineAsync
.
AddEngineAsync
Cette méthode charge un moteur existant ou en crée un s’il n’existe pas déjà dans l’état local.
Si l’application ne fournit pas un id
dans FileEngineSettings
, AddEngineAsync
génère un nouvel id
. Il vérifie ensuite si un moteur avec ce id
existe déjà dans le cache de stockage local. Si c’est le cas, il charge ce moteur. Si le moteur n’existe pas dans le cache local, un nouveau moteur est créé en appelant les API et les services principaux nécessaires.
Dans les deux cas, si la méthode réussit, le moteur est chargé et prêt à être utilisé.
DeleteEngineAsync
Supprime le moteur avec le id
donné. Toutes les traces du moteur sont supprimées du cache local.
UnloadEngineAsync
Décharge les structures de données en mémoire pour le moteur avec le id
donné. L’état local de ce moteur est toujours intact et peut être rechargé avec AddEngineAsync
.
Cette méthode permet à l’application d’être judicieuse au sujet de l’utilisation de la mémoire, en déchargeant les moteurs qui ne sont pas censés être utilisés prochainement.
Étapes suivantes
- Apprenez-en davantage sur les concepts d’authentification et les observateurs. MIP fournit un modèle d’authentification extensible, tandis que les observateurs sont utilisés pour fournir des notifications d’événement pour les événements asynchrones. Les deux sont fondamentaux et s’appliquent à tous les kits de développement logiciel (SDK) MIP.
- Ensuite, suivez les concepts du profil et du moteur pour les kits de développement logiciel (SDK) File, Policy et Protection
- Concepts du profil du kit de développement logiciel (SDK) File
- Concepts du moteur du kit de développement logiciel (SDK) File
- Concepts du profil du kit de développement logiciel (SDK) Policy
- Concepts du moteur du SDK Policy
- Concepts de profil du kit de développement logiciel (SDK) Protection
- Concepts du moteur du kit de développement logiciel (SDK) Protection