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.
Cette vue d’ensemble se concentre sur la republiation dans le Kit de développement logiciel (SDK) MIP. La republication permet de gérer les scénarios dans lesquels une application autorise un utilisateur à modifier un fichier et doit conserver les informations d’origine de la licence de publication concernant le propriétaire, les droits, la clé de contenu, etc.
Le modèle peut ressembler à ceci :
- Un utilisateur ouvre un document protégé pour modification.
- L’application permet à l’utilisateur de modifier le fichier uniquement s’il dispose des droits appropriés.
- L’utilisateur modifie puis enregistre le document.
Le pseudocode du SDK MIP pour accomplir cette tâche peut ressembler à ceci :
- Créez un
mip::FileHandlerqui pointe vers le fichier cible. - Stockez le
mip::ProtectionHandlerexposé par lemip::FileHandlervia sa méthodeGetProtection(). - Vérifiez que l’utilisateur dispose de droits EDIT en appelant la méthode
AccessCheck(). - Utilisez
mip::FileHandleravec ses méthodesGetDecryptedTemporaryFileAsync()ouGetDecryptedTemporaryStreamAsync()pour obtenir un fichier ou un flux temporaire déchiffré. - Modifiez le contenu du fichier temporaire ou du flux et enregistrez-le.
- Créez une nouvelle instance de
mip::FileHandlerpointant vers le fichier temporaire et utilisez la méthodeSetProtection(), en fournissant lemip::ProtectionHandlerstocké en tant que paramètre. - Validez la modification.
En utilisant le mip::ProtectionHandler du fichier d’origine, l’application conserve le propriétaire, l’ID de contenu et la clé de contenu dans le document modifié. Ce scénario de republication nécessite que l’application conserve une référence au mip::ProtectionHandler d’origine.
Implémentation
Comme indiqué précédemment, la mip::FileHandler classe expose les méthodes de lecture, d’écriture et de suppression des étiquettes et des informations de protection. Pour obtenir la liste complète des opérations prises en charge, consultez la référence de mip ::FileHandler.
Ce scénario utilise les méthodes suivantes de mip::FileHandler :
GetProtection()CommitAsync()GetDecryptedTemporaryFileAsync()SetProtection()
Le scénario utilise également mip::ProtectionHandler qui expose les fonctions de chiffrement et de déchiffrement des flux protégés et des mémoires tampons, en effectuant des vérifications d’accès , en obtenant la licence de publication ainsi que des attributs à partir des informations protégées. Utilisez la AccessCheck() méthode pour vérifier que l’utilisateur dispose des droits nécessaires pour modifier le fichier.
Pour terminer correctement ce scénario de reprotection, passez en revue les guides de démarrage rapide sous Étapes suivantes et vérifiez que l’application génère et peut répertorier correctement les étiquettes.
Créer un gestionnaire de protection à partir du fichier et déchiffrer le fichier
mip::ProtectionHandler expose les fonctions de chiffrement et de déchiffrement des flux protégés et des mémoires tampons, en effectuant des vérifications d’accès , en obtenant la licence de publication ainsi que des attributs à partir des informations protégées. Les objets mip::ProtectionHandler sont construits en fournissant un ProtectionDescriptor ou une licence de publication sérialisée. Pour ce cas d’usage, la licence de publication est utilisée lors du déchiffrement du contenu déjà protégé ou lors de la protection du contenu où la licence a déjà été construite.
mip::FileHandler expose une méthode nommée GetProtection() qui extrait mip::ProtectionHandler du fichier associé au mip::FileHandlerfichier . Après avoir récupéré l’objet mip::ProtectionHandler , vous pouvez l’utiliser pour valider les niveaux d’accès de l’utilisateur pour le fichier, déchiffrer le fichier et chiffrer ultérieurement le fichier une fois que l’utilisateur l’a modifié.
Utilisez le AccessCheck() de mip::ProtectionHandler pour vérifier que l’utilisateur dispose d’un droit spécifique sur le fichier et renvoyer une valeur booléenne en fonction du résultat. Par exemple, pour vérifier que l’utilisateur a les droits de modification, appelez la méthode et transmettez la valeur « EDIT ». Si le résultat est vrai, autorisez l’utilisateur à modifier le fichier. Après avoir vérifié le droit EDIT, utilisez mip::FileHandler avec sa méthode GetDecryptedTemporaryFileAsync() pour récupérer le fichier temporaire déchiffré.
Pour plus d’informations, consultez Restreindre l’accès au contenu à l’aide d’étiquettes de confidentialité pour appliquer le chiffrement.
Importante
Le développeur de l’application est responsable des vérifications d’accès et de leur mise en application. Un utilisateur disposant de droits VIEW peut déchiffrer les informations protégées. L’application doit valider l’ensemble des droits accordés à l’utilisateur et appliquer ces droits par le biais de contrôles de protection des informations, tels que la prévention de la copie, la modification ou la prise de captures d’écran. Si vous n’implémentez pas correctement les contrôles de protection, vous pouvez exposer des informations sensibles.
Enregistrer et publier le fichier modifié en appliquant la protection
Vous pouvez modifier le fichier après le déchiffrer. Une fois l’opération de modification terminée, vous pouvez valider les modifications. Utilisez le fichier temporaire pour créer un IFileHandler objet qui gère le fichier validé. Utilisez l’objet IProtectionHandler récupéré à partir du fichier d’origine pour protéger le fichier temporaire.
Republier hors connexion
La republication peut avoir lieu hors connexion si le cache de licence est disponible. Si l’application a précédemment mis en cache les modèles et publié des données de licence via la publication hors connexion, le flux de travail de republier ne nécessite pas de connexion active au service Rights Management.
La republication hors ligne est utile dans les cas suivants :
- L’application doit fonctionner dans des environnements connectés par intermittence.
- Les opérations de traitement par lots volumineuses doivent être rééditées sans appels de service pour chaque document.
- L’application a besoin de meilleures performances en évitant les appels de service.
Activez les modèles de publication et de cache hors connexion avant de tenter de republier hors connexion. Pour plus d’informations sur la configuration, consultez la publication hors connexion .