Historique des versions du Kit de développement logiciel (SDK) Microsoft Information Protection (MIP) et stratégie de support

Maintenance

Chaque version en disponibilité générale (GA) est prise en charge pendant un an une fois la version ga suivante publiée. La documentation peut ne pas inclure d’informations sur les versions non prises en charge. Les correctifs et les nouvelles fonctionnalités sont appliqués uniquement à la dernière version en disponibilité générale.

Les versions d’évaluation ne doivent pas être déployées en production. Utilisez plutôt la dernière préversion pour tester les nouvelles fonctionnalités ou correctifs à venir dans la prochaine version en disponibilité générale. Seule la version préliminaire la plus récente est prise en charge.

Historique des mises en production

Utilisez les informations suivantes pour voir les nouveautés ou les modifications d’une version prise en charge. La dernière version est répertoriée en première position.

Les packages NuGet pour les versions majeures restent actifs dans NuGet. Seule la dernière version de chaque version majeure est conservée dans le Centre de téléchargement Microsoft. Les versions antérieures à la version 1.4 ne sont pas disponibles.

Notes

Pour obtenir un support technique, visitez le forum Stack Overflow Microsoft Information Protection ou ouvrez un cas de support avec Support Microsoft.

Version Lien Statut Fin du support
1.13 https://aka.ms/mipsdkbins Pris en charge TBD
1.12 https://aka.ms/mipsdkbins112 Pris en charge 17 mars 2024
1.11 https://aka.ms/mipsdkbins111 Plus aucun support 9 juin 2023
1,10 https://aka.ms/mipsdkbins110 Plus aucun support 17 novembre 2022
1,9 https://aka.ms/mipsdkbins19 Plus aucun support 23 août 2022
1.8 https://aka.ms/mipsdkbins18 Plus aucun support 29 avril 2022
1.7 https://aka.ms/mipsdkbins17 Plus aucun support 14 janvier 2022
1.6 https://aka.ms/mipsdkbins16 Plus aucun support 23 septembre 2021
1.5 https://aka.ms/mipsdkbins15 Plus aucun support 16 avril 2021
1.4 https://aka.ms/mipsdkbins14 Plus aucun support 2 mars 2021

Version 1.13.187

Date de publication : 15 août 2023

Résolutions de bogues

  • Le SDK MIP masque désormais les symboles pour OpenSSL lié statiquement sur Linux.
  • Correction d’un bogue où les fichiers composés non Office utilisaient AES128-ECB si l’indicateur d’algorithmes hérités était défini. Ces fichiers doivent utiliser AES256-CBC et ignorer l’indicateur d’algorithmes hérités.
  • Élevé, la priorité des événements d’audit est envoyée au niveau le plus élevé, garantissant ainsi que les événements d’audit sont envoyés plus fréquemment au point de terminaison d’audit.

Version 1.13.182

Date de publication : 27 juillet 2023

Résolutions de bogues

  • Résolution d’un problème de suppression de la protection des fichiers MSG lorsque les pièces jointes sont protégées avec une technologie non RMS. Enregistre maintenant un avertissement, mais ne lève pas d’exception.

Version 1.13.176

Date de publication : 10 juin 2023

Résolutions de bogues

  • Correction d’un problème où CommitAsync() ne parvenait pas à retourner dans des conditions d’espace disque faible.
  • Correction d’un problème lié à l’échec de la création de FileHandler pour les fichiers xlsb lors du téléchargement du fichier à partir de SharePoint.

Mises à jour de plateforme et de dépendance

  • Ajout de la prise en charge d’Ubuntu 22.04.
  • Ajout de la prise en charge de Debian 11.
  • Ajout de la prise en charge de RedHat Enterprise Linux 9.
  • Suppression de la prise en charge d’Ubuntu 18.04.
  • Suppression de la prise en charge de Debian 9.

Version 1.13.161

Date de publication : 28 mars 2023

Résolutions de bogues

  • Correction d’un problème de signature sur le package NuGet .NET.
  • Correction d’un problème dans lequel le ProtectionProfile paramètre de publication hors connexion était manquant.

Version 1.13.158

Date de publication : 17 mars 2023

SDK de fichier

  • Ajout d’un indicateur de fonctionnalité qui permet au SDK MIP de publier des fichiers et des e-mails Office en mode de chaînage de blocs de chiffrement.
    • Défini avec la fonctionnalité UseCBCForOfficeFileEncryption de version d’évaluation via MipConfiguration.FeatureSettingsOverride().
  • Résolution des problèmes liés à l’utilisation du mode de chaînage de blocs de chiffrement (CBC) protégé fichiers et e-mails Office. Le SDK MIP peut désormais utiliser du contenu protégé en mode CBC généré par Office.

SDK de protection

  • Ajout de la prise en charge de la préversion pour la publication hors connexion dans le Kit de développement logiciel (SDK) de protection.
    • La protection hors connexion peut être activée en définissant ProtectionProfileSettings.OfflinePublishing sur true dans C++ et .NET.

Changements cassants

  • PublishingSettings pour la republier nécessite désormais une licence de publication sérialisée ou un ProtectionHandler dans le constructeur au lieu de pouvoir définir l’un ou l’autre après la construction.
  • SetPublishingLicenseForRepublish Supprimé et SetProtectionHandlerForRepublish.
  • ProtectionDescriptorBuilder utilise SetLabelInfo désormais au lieu de SetLabelId
  • Insert la méthode dans mip::StorageDelegate et IStorageDelegate a été remplacée par InsertOrReplace.

Mise à jour critique

Le Kit de développement logiciel (SDK) MIP 1.13 prend en charge la consommation de fichiers et d’e-mails protégés par AES256-CBC générés par Word, Excel, PowerPoint, Outlook, Exchange Online, SharePoint Online et les applications compatibles avec le SDK MIP qui ont opté pour la publication cbc. Si votre application utilise le Kit de développement logiciel (SDK) de fichier pour utiliser l’un de ces formats, il est important de mettre à jour l’application vers le SDK MIP 1.13. Dans la deuxième moitié de 2023, Microsoft 365 Apps, Exchange Online et SharePoint Online commenceront à se protéger avec AES256-CBC par défaut. Les applications qui n’ont pas été mises à jour ne parviennent pas à déchiffrer correctement les fichiers et les e-mails.

Le Kit de développement logiciel (SDK) MIP 1.13 continuera de publier des documents et des e-mails Office à l’aide d’AES128 en mode livre de code électronique (BCE). Le SDK MIP 1.14, date de publication à déterminer, active la publication AES256-CBC par défaut. Si vous souhaitez tester la publication CBC à l’avance, activez l’indicateur UseCBCForOfficeFileEncryption de fonctionnalité via MipConfiguration.FeatureSettingsOverride().

Les applications qui ne parviennent pas à se mettre à jour vers le KIT de développement logiciel (SDK) MIP 1.13 peuvent commencer à rencontrer une exception avec les détails suivants : Something bad happened: AESCryptoWriter: Failed to transform final block.

Version 1.12.101

Date de publication : 18 novembre 2022

SDK de fichier

  • Correction d’un problème dans lequel l’inclusion de caractères spéciaux dans un nom d’étiquette pouvait empêcher l’ouverture d’un message par Microsoft Outlook.
  • Correction d’un bogue lors de la suppression de la protection pour les étiquettes inactives.
  • Correction d’un bogue dans lequel la modification des autorisations d’étiquette avec l’activation de la co-authentification a produit des documents protégés qui ne pouvaient pas être ouverts.
  • Mise à niveau de libgsf vers 1.14.50 et LibXML2 vers 2.9.14.
  • XMP mis à niveau utilisent une version mise à niveau d’Expat – version 2.4.7

Kit de développement logiciel (SDK) de

  • Correction d’un bogue avec une exception de métadonnées non valide pour ComputeActions.

SDK de protection

  • Ajout d’accesseurs pour récupérer les URL intranet et extranet à partir de TenantInformation.
  • Exposition d’une API C pour l’acquisition de licences de délégation.
  • Correction d’un bogue pour les métadonnées d’étiquette parente incohérentes lors de la suppression des étiquettes enfants.
  • Correction d’un bogue du cache d’authentification pour CreateFromLicenseType.
  • Correction d’un problème où le moteur en cours de nettoyage pendant un GetTemplatesAsync() appel entraînait un incident.
  • Ajout GetLicenseRightsData pour obtenir l’utilisateur/objectId/puid et les droits de la licence de publication.
  • Correction d’un bogue dans lequel la balise de descripteur ne pouvait pas être ajoutée à la licence en l’absence de descripteurs.
  • Correction d’un incident .NET sur Linux.
  • Correction d’un problème d’espace de bureau ; une erreur est désormais signalée lorsque MIP manque d’espace disque lors de la protection du contenu.
  • Mise à niveau de la dépendance OpenSSL vers 1.1.1-r.1.

Mises à jour de plateforme et de dépendance

  • Correction d’un bogue dans lequel les clouds n’étaient pas traités de manière cohérente.
  • Ajout de la prise en charge de la fonctionnalité de préversion de publication hors connexion.
  • Correction d’un bogue où les wrappers manquaient de cloud de télémétrie pour les scénarios de cloud souverain.
  • Suppression des informations d’identification personnelle de l’audit de la télémétrie des builds de débogage.

Changements cassants

  • Si et usersWithDefaultRightsadditionalUsersAndRights sont vides, CreateFromLicenseType lève un BadInputError.
  • Ajout de nouvelles méthodes GetLicenseRightsData et GetLicenseRightsDataAsync dans la classe ProtectionEngine.

Version 1.12.61

Date de publication : 9 juin 2022

SDK de fichier

  • Le Kit de développement logiciel (SDK) de fichier prend désormais en charge la limite de données via FileEngineSettings.DataBoundary.
  • Correction d’un bogue dans GetCodePage .MsgInspector
  • Correction d’un bogue où BodyType a toujours retourné TXT dans MsgInspector.
  • Correction d’un bogue dans le wrapper Java où l’utilisation UserRoles de java.util.Collections$UnmodifiableCollection ne peut pas être castée en exception java.util.List .
  • Correction d’un bogue lors du déchiffrement de fichiers >texte de 2 Go avec GetDecryptedTemporaryStreamAsync().

Kit de développement logiciel (SDK) de

  • Le Kit de développement logiciel (SDK) de stratégie prend désormais en charge la limite de données via PolicyEngineSettings.DataBoundary.
  • Correction d’un bogue où, dans certaines conditions, des modifications de stratégie ont entraîné un blocage.
  • Correction d’un problème où les étiquettes Chiffrer uniquement avec la protection DKE n’étaient pas filtrées alors qu’elles auraient dû l’être.

SDK de protection

  • Préversion : ajout de la prise en charge de la protection hors connexion.
    • Activez la protection hors connexion en définissant sur ProtectionProfile.OfflinePublishing true lors de la création d’un ProtectionProfile.
    • La mise en cache des modèles nécessite un paramètre ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours) (C++) ou ProtectionEngineSettings.TemplateRefreshArgs (.NET) pour activer la mise en cache des modèles de protection.
  • Le Kit de développement logiciel (SDK) protection prend désormais en charge la limite de données via ProtectionEngineSettings.DataBoundary

Changements cassants

  • FileHandler.SetLabel() L’API ne prend plus en charge les fichiers rpmsg en tant qu’entrée.
  • Le passage d’un fichier MSG en texte clair au MsgInspector entraîne une erreur NotSupportedError
  • MsgInpector ne tente plus de déchiffrer les pièces jointes qui font partie du fichier message.rpmsg .
  • MsgInpector retourne maintenant un fichier MSG entièrement fonctionnel si le fichier message.rpmsg contient des pièces jointes MSG. Ces fichiers MSG peuvent être déchiffrés avec l’API FileHandler.RemoveProtection .
  • TelemetryDelegate et AuditDelegatela méthode WriteEvent nécessite désormais un deuxième paramètre, EventContext. La EventContext classe expose des informations sur le cloud cible et la limite de données de l’événement.

Mises à jour de plateforme et de dépendance

  • Ajout de la prise en charge des trois sdk pour la définition de la limite de données de l’Union européenne.
    • Quand DataBoundary est défini sur UE, tous les événements de télémétrie et d’audit sont acheminés directement vers la région de l’UE.
    • La définition DataBoundary de n’importe quelle autre région entraîne l’émission de données vers le point d’entrée de service le plus proche.
  • Mise à jour de libxml2 vers la version 2.9.13.
  • Correction d’un incident spécifique à Android.
  • Correction d’un problème où le KIT de développement logiciel (SDK) ne respectait pas entièrement le niveau de journal

Version 1.11.96

Date de publication : 20 juillet 2022

SDK de fichier

  • Correction d’un bogue dans pour les MemoryStreamGetDecryptedTemporaryStream types de fichiers volumineux
  • Correction d’un bogue provoquant une perte de données pendant le chiffrement PDF en raison d’un plantage de dépassement de pile
    • Avec OptimizePdfMemory, si /Info est un ObjStm avec un objet indirect interne, il retourne PDFPARSER_ERROR_FORMAT maintenant au lieu d’un dépassement de pile
  • Correction d’un bogue où la prise en charge des bibliothèques MIP n’était pas chargée dans Java
  • Correction d’un bogue dans lequel les fichiers MSG avec des pièces jointes de fichiers MSG protégées subissaient une altération lorsque rpmsg l’extension avait une fin null à la fin
  • Correction d’un incident dans les fichiers MSG avec des pièces jointes de lien
  • Correction d’un bogue dans lequel la séquence de l’application d’étiquette n’était pas respectée correctement à l’aide de l’application client unifiée AIP pour Windows
  • Correction d’un bogue dans RemoveProtection lequel l’exception levée LabelDisabledError indiquant une étiquette inactive a été spécifiée
  • Correction d’un bogue dans lequel DeleteLabel l’exception de métadonnées non valide levée alors que le fichier d’entrée est protégé par templateID

Kit de développement logiciel (SDK) de

  • Correction d’un problème où une modification de stratégie entraînait un blocage en raison d’une incompatibilité entre la carte native et la carte managée pendant l’appel OnPolicyChanged

Modifications apportées à la plateforme et aux dépendances

  • Correction d’un problème où les données de télémétrie et d’audit ne peuvent pas être envoyées lors de l’utilisation de l’interface C# ou Java
  • Correction d’un bogue dans lequel les clouds avec la même URL de base n’étaient pas traités de manière cohérente
  • Mise à jour de la version d’Adobe XMP vers 6.0.0 et correctif de sécurité push pour la vulnérabilité d’expat dans la fonction 2.1.0 storeAtts()
  • Indicateur exposé EnableAuditAndTelemetryForSovereignClouds pour .NET
  • Correction d’un incident provoqué par l’intégrité du flux de contrôle effectuant des vérifications de sécurité des tables virtuelles
    • Désactivé ces vérifications, car Android ne prend pas en charge les vérifications de tables virtuelles entre bibliothèques
  • Correction d’un bogue dans le délégué de chiffrement Windows pour une utilisation après une vulnérabilité gratuite. S’applique uniquement aux applications qui se définissent EnableFipsValidatedCryptography sur Windows
    • hashObject vector était en cours de nettoyage avant la poignée et a provoqué une utilisation après libre lorsque la poignée a été nettoyée dans le destructeur de BcryptData

Version 1.11.64

Date de publication : 12 janvier 2022

SDK de fichier

  • Correction d’un bogue dans les fichiers MSG encapsulés pfile à l’aide du format de contenu incorrect.
  • Correction d’un bogue dans lequel la Inspector classe provoquait un blocage sur les rpmsg fichiers.
  • Correction d’un bogue dans lequel le KIT de développement logiciel (SDK) ne compressait pas correctement les fichiers de plus de 4 Go, ce qui entraînait une altération possible.

SDK de protection

  • Correction d’un problème lié à la poursuite d’enregistrements DNS pour AD RMS sur iOS.

Mises à jour de plateforme et de dépendance

  • Mise à jour de log4j dans des exemples d’applications Java.
  • Renommer arm64 ABI sur Android en arm64-v8a

Version 1.11.53

Date de publication : 17 novembre 2021

SDK de fichier

  • Correction du bogue où IsModified() dans mip::FileHandler retourne false au lieu de true pour un texte en clair . Fichier MSG avec pièce jointe protégée.
  • Correction d’un bogue Résolution des problèmes de mise en forme XML dans les métadonnées qui cassait les étiquettes sans protection dans certains cas.

Sdk de stratégie

  • Améliorations introduites pour éviter l’interblocage dans la synchronisation de stratégie.

Changements cassants

  • Auparavant, lorsqu’une étiquette était configurée pour « Ne pas transférer » ou « Chiffrer uniquement » et une action de protection de fichier, le SDK MIP n’affichait pas l’étiquette dans la liste d’étiquettes pour le type de contenu de fichier.

    • Le Kit de développement logiciel (SDK) a été mis à jour pour résoudre ce problème. L’étiquette ne sera pas filtrée dans les deux cas lorsqu’elle est configurée pour s’appliquer aux deux types de contenu.
    • Cette modification n’a pas d’impact sur les étiquettes où l’action de protection était « Chiffrer uniquement » ou « Ne pas transférer ».
    • Enfin, elle n’a pas d’impact sur les étiquettes destinées aux fichiers pour lesquels l’action a été prédéfinie ou une protection définie par l’utilisateur.
  • Mise à jour des exceptions existantes pour une meilleure gestion de scénarios spécifiques. Les éléments suivants étaient précédemment exposés sous la forme NetworkError::Category::FailureResponseCode

    • NetworkError::Category::ServiceUnavailable
      • Nouvelle catégorie d’exception (NetworkError exception).
      • Retourné lorsque le service dépendant n’est pas disponible.
      • Le service retourne 503
    • NetworkError::Category::Throttled
      • Exception: NetworkError
      • Retourné lorsque trop de demandes ont été effectuées au service dépendant.
      • Le service retourne 429

Mises à jour de plateforme et de dépendance

  • Mise à jour des dépendances du KIT de développement logiciel (SDK) vers les dernières versions
  • Tous les fichiers binaires du SDK MIP ont été mis à jour pour utiliser la version 2.9.12 de la bibliothèque statique libxml2 et la bibliothèque dynamique libgsf pour Android et Windows.
  • Prise en charge du proxy pour Linux introduite. Exemple de définition du proxy ci-dessous.
export HTTP_PROXY="http://10.10.10.10:8080"

Version 1.10.115

Date de publication 25 février 2022

  • Correction d’un bogue dans les fichiers MSG encapsulés par pfile à l’aide du format de contenu incorrect.
  • Correction d’un bogue dans lequel la Inspector classe provoquait un plantage sur les rpmsg fichiers.
  • Correction d’un bogue dans lequel le SDK ne compressait pas correctement les fichiers sur 4 Go, ce qui entraînait une altération possible.
  • Correction d’un bogue lors de la détection des fichiers MSG protégés. Les fichiers ont peut-être été protégés, mais le SDK les a traités comme du texte en clair.

Version 1.10.98

Date de publication 29 septembre 2021

Résolutions de bogues

  • Correction d’un bogue dans iOS où le code binaire n’était pas activé

Version 1.10.97

Date de publication : 17 septembre 2021

Résolutions de bogues

  • Correction d’un bogue dans lequel les pièces jointes sur les fichiers MSG étaient endommagées lors de l’application d’une étiquette de protection au fichier MSG.

Version 1.10.93

Date de publication : 23 août 2021

Modifications générales

  • Ajout de la MipConfiguration classe .
    • Cette classe contrôle les paramètres de configuration précédemment définis directement sur MipContext.
    • Les délégués, l’emplacement de journalisation, etc. sont définis dans le cadre de cet objet.
    • Pour plus d’informations, consultez Concepts de MipContext .
  • MipContext::Create() Le constructeur a été modifié pour accepter uniquement le nouvel MipConfiguration objet.
  • Tous les paramètres du moteur sont définis par défaut sur les paramètres régionaux en-US dans le cas où la propriété a la .Locale valeur null.
  • Correction d’un problème où le KIT de développement logiciel (SDK) ne respectait pas entièrement les paramètres de niveau de journalisation.

SDK de fichier

  • Ajout de la prise en charge de la lecture et de l’écriture d’étiquettes dans des fichiers MSG.
  • FileHandler::IsLabeledOrProtected() prend désormais en charge les fichiers MSG.
  • Le Kit de développement logiciel (SDK) de fichier prend désormais en charge le déchiffrement des pièces jointes protégées sur les fichiers MSG non protégés.
    • Cela s’applique uniquement aux fichiers et non aux conteneurs tels que les fichiers MSG ou ZIP.
  • Ajout d’une nouvelle méthode statique mip::FileHandler::GetFileStatus()
    • Cette fonction retourne un nouvel mip::FileStatus objet qui indique si le fichier est étiqueté, protégé ou contient des objets protégés.
    • FileStatus expose trois propriétés : IsProtected, IsLabeledet ContainsProtectedObjects.
    • ContainsProtectedObjects est utile pour les fichiers MSG qui ont des pièces jointes protégées.
  • Lors de l’appel FileHandler::RemoveProtection() sur un fichier MSG en texte clair avec des pièces jointes protégées, la protection est supprimée des pièces jointes.
  • Correction d’un bogue où IProtectionHandler a été détruit lors de l’appel IFileHandler.SetProtection() dans une boucle. IProtectionHandlerinstance ne seront plus détruits après utilisation.

Sdk de stratégie

  • La variable ${Event.DateTime} de marquage de contenu est désormais définie par défaut sur l’heure locale plutôt que sur l’heure UTC.
    • Vous pouvez revenir à la valeur par défaut précédente à l’aide de la fonctionnalité EventDateTimeTokenUseUtcde version d’évaluation .
  • Correction d’un bogue où IsActive ne retournait pas les mêmes valeurs à l’intérieur d’un PolicyHandler que lors de la récupération d’étiquettes à partir d’un PolicyEngine.

SDK de protection

  • Ajout de nouveaux types d’erreurs plus spécifiques qui apparaîtront à la fois dans le Kit de développement logiciel (SDK) de protection et de fichier. Consultez la section Changements cassants.

Changements cassants

  • Introduction de nouveaux paramètres personnalisés pour régir les paramètres d’audit par défaut.
    • Ajout d’une nouvelle propriété dans audit Delegate pour définir les paramètres d’audit.
    • LabelGroupData la classe n’a plus de IsAuditEnabled() méthode.
    • Vous pouvez utiliser à la place GetEnableAuditSetting() pour obtenir EnableAudit les paramètres de la stratégie une fois la stratégie chargée. Les paramètres d’audit par défaut sont Undefined tels que true dans les versions antérieures.
  • Autorisez le passage du fuseau horaire du document à ComputeActions pour permettre le calcul des actions comme si le document existait dans un fuseau horaire différent de celui de la machine qui applique l’étiquette.
    • Utile lorsque des étiquettes sont appliquées pour le compte d’un utilisateur par le biais d’un service, où l’heure locale du serveur n’est pas nécessairement la même que celle de l’utilisateur.
    • Au lieu de retourner le ${Event.DateTime} au format UTC, nous définissons désormais par défaut l’heure locale sans afficher le fuseau horaire.
  • Mise à jour des exceptions existantes pour une meilleure gestion de scénarios spécifiques.
    • NoPermissionsError::Category::NotPremiumLicenseUser
      • Précédemment exposé en tant que NoPermissionsError::Category::AccessDenied
      • Causé par un utilisateur sans licence qui tente de révoquer du contenu protégé.
    • NoPermissionsError::Category::NotOwner
      • Précédemment exposé en tant que NoPermissionsError::Category::AccessDenied
      • Cause : un utilisateur tente de révoquer un document qu’il ne possède pas.
    • ServiceDisabledError::Extent::Tenant
      • Précédemment exposé en tant que ServiceDisabledError::Extent::User
      • Retourné lorsque le service de Azure Rights Management ciblé est désactivé à la place.
    • NoPermissionsError::Category::AccessDenied
      • Précédemment exposé en tant que NetworkError::Category::FailureResponseCode
      • Retourné lorsque l’utilisateur n’a aucun droit de publication en raison de contrôles de licence ou d’intégration.
    • BadInputError::ErrorCode::DoubleKey
      • Précédemment exposé en tant que NetworkError::Category::FailureResponseCode
      • Retourné lorsque les paramètres DKE (Double Key Encryption) sont incorrects.
    • CustomerKeyUnavailableError
      • Nouvelle exception.
      • Retourné lorsque le locataire est configuré pour byOK (bring-your-own-key) et que la clé n’est pas accessible.
      • Le service retourne HTTP424.
    • NetworkError::Category::FunctionNotImplemented
      • Nouvelle exception.
      • Retourné lorsque le service a retourné HTTP501 (non implémenté).
    • Les éléments suivants étaient précédemment exposés sous la forme NetworkError::Category::FailureResponseCode
      • TemplateArchivedError: l’application a tenté d’appliquer un ID de modèle qui a été archivé.
      • LicenseNotRegisteredError: la licence de publication de documents n’est pas inscrite pour révocation.
      • NoPermissionsError::Category::UserNotFound: l’utilisateur fourni n’existe pas dans le locataire cible.
      • NoPermissionsError::Category::InvalidEmail: une adresse e-mail non valide a été fournie.
      • NoPermissionsError::Category::AccessDenied: l’identité fournie n’est pas un principal reconnu par RMS ou n’est pas un délégant valide.
      • BadInputError::ErrorCode::LicenseNotTrusted: la licence de publication fournie ne provient pas d’un éditeur approuvé. (Non dans l’API C)
      • BadInputError::ErrorCode::ParameterParsing: retourné par divers problèmes d’analyse XML, JSON ou autres (non dans l’API C)

Mises à jour de plateforme et de dépendance

  • Ajout de la prise en charge de Debian 10.
  • Ajout de la prise en charge d’Ubuntu 20.04.

Version 1.9.90

Date de publication : 7 juillet 2021

Modifications générales

  • Correction d’un bogue dans le Kit de développement logiciel (SDK) de fichier où les documents hérités ne pouvaient pas être déchiffrés sur Windows 32 bits.
  • Activer le code binaire sur les builds iOS.
  • Mise à jour d’Ubuntu 16.04 pour utiliser OpenSSL 1.1.1k.
  • Correction d’un problème de déchiffrement des fichiers MSG précédemment gérés par des outils eDiscovery tiers.

Version 1.9.78

Date de publication : 29 avril 2021

Modifications générales

  • Ajout d’un nouveau paramètre qui permet aux développeurs de fournir des ID de scénario personnalisés pour les erreurs de corrélation.
    • Dans le cas où un cas de support est nécessaire pour diagnostiquer une erreur côté service, cet ID de scénario peut être utile dans la résolution des problèmes.
    • Kit de développement logiciel (SDK) de fichier : lors de la création d’un FileHandler ensemble de l’id applicationScenarioID via FileExecutionState
    • Kit de développement logiciel (SDK) de protection : différentes API prennent désormais en charge le passage de l’ID de scénario.
      • mip::ProtectionCommonSettings(mApplicationScenarioId)
      • mip::GetTemplatesSettings::CreateGetTemplatesSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::PublishingSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::ConsumptionSettings()->SetApplicationScenarioId()
      • mip::PolicyEngine::SetSessionId()
  • Ajout de Workload vérifications d’énumération et de consentement.
    • Ajout de HasWorkloadConsent() et GetWorkloadConsent() à FileEngine et PolicyEngine.
  • Ajout d’API synchrones au wrapper .NET du SDK de stratégie : AddEngine(), ListEngines(), DeleteEngine(), . UnloadEngine()
  • Ajout de la prise en charge de la redirection des demandes de protection via ProtectionProfile::Settings::AddRedirectionUri()
  • Ajout d’un contexte d’enregistreur d’événements qui peut être utilisé avec LoggerDelegate pour écrire des données de contexte personnalisées dans les journaux.
    • Cette API peut être utile pour mettre en corrélation des événements d’erreur dans les services à une ou plusieurs événements.
    • Les API suivantes prennent en charge la fourniture du contexte d’enregistreur d’événements :
      • LoggerDelegate::WriteToLogWithContext
      • TaskDispatcherDelegate::DispatchTask ou ExecuteTaskOnIndependentThread
      • FileEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileHandler::IsProtected()
      • FileHandler::IsLabeledOrProtected()
      • FileHanlder::GetSerializedPublishingLicense()
      • PolicyHandler::IsLabeled()

Mises à jour de plateforme et de dépendance

  • Ajout de la prise en charge de CentOS 8
  • Ajout de la prise en charge des infrastructures iOS
  • Mise à jour d’OpenSSL vers la version 1.1.1k
  • Mise à jour de SQLite vers la version 3.34.1

Changements cassants

  • Modification du comportement d’audit par défaut pour les locataires où AIP Analytics est activé. Il est désormais obligatoire qu’en plus de configurer les composants côté service de la fonctionnalité AIP Analytics, vous devez également définir la propriété EnableAudit sur true dans les stratégies d’étiquette de confidentialité.
    • Set-LabelPolicy -Identity Global -AdvancedSettings @{EnableAudit="True"}
    • Consultez cet article de la documentation pour plus d’informations sur la définition des paramètres de stratégie avancés.
  • Ajout de la fonction GetApplicationScenarioId() à FileExecutionState.
  • Énumération supprimée ContentFormat .
  • Ajout d’erreurs spécifiques avec des catégories pour un ensemble d’erreurs exposées précédemment sous NetworkError via des chaînes/codes d’erreur.
    • NoPermissionsError::Category::UserNotFound
    • NoPermissionsError::Category::AccessDenied
    • NoPermissionsError::Category::AccessExpired
    • NoPermissionsError::Category::UserNotFound
  • Microsoft.RightsManagement.Exceptions.UnknownTenantException le service levée apparaît désormais comme ServiceDisabledError au lieu de Network Error

Résolutions de bogues

  • Correction d’une fuite de mémoire lors de l’appel mip::FileHandler::IsLabeledOrProtected()de .
  • Correction d’un bogue où l’échec dans l’observateur FileHandler::InspectAsync() appelé observateur incorrect.
  • Correction d’un bogue dans lequel le Kit de développement logiciel (SDK) tentait d’appliquer le format d’étiquette de co-édition aux formats Office qui ne prenaient pas en charge la co-édition (DOC, PPT, XLS).
  • Correction d’un incident dans le wrapper .NET lié à la FileEngine suppression. L’objet natif PolicyEngine est resté présent pendant un certain temps et tentait d’actualiser la stratégie, ce qui entraînait un blocage.
  • Correction d’un bogue dans lequel le Kit de développement logiciel (SDK) ignorait les étiquettes appliquées par les versions antérieures d’AIP en raison de la propriété SiteID manquante.

Version 1.8.97

Date de publication : 24 février 2021

  • Correction d’un bogue dans lequel les étiquettes enfants n’étaient pas filtrées correctement et incluaient tous les types d’étiquettes, même si elles n’étaient pas demandées.
  • Correction d’un bogue dans lequel les étiquettes n’étaient pas conservées RemoveProtection() si les métadonnées d’étiquette étaient incomplètes.

Version 1.8.94

Date de publication : 8 février 2021

  • Correction d’un bogue dans le package NuGet où la configuration de débogage pour les projets C++ a été déployée. La version 1.8.86 peut entraîner un blocage avec les applications C++ natives. Veillez à mettre à jour vers la version 1.8.94 ou ultérieure.
  • Correction d’un bogue dans lequel le moteur de stratégie était requis pour supprimer la protection.
    • Si le moteur de stratégie ne peut pas être chargé et que des métadonnées d’étiquette sont présentes, il est ignoré si la protection est supprimée.
  • Correction d’un bogue où empty labelInfo.xml était généré si le fichier était remplacé par une autre étiquette protégée.

Version 1.8.86

Date de publication : 13 janvier 2021

Modifications générales

  • Ajout de la prise en charge de Mac sur ARM.
  • Signé tous les fichiers dylib pour Mac.
  • Tous les clouds sont entièrement pris en charge sur les trois kits SDK.
  • Renommez TelemetryConfiguration en DiagnosticConfiguration.
  • Mise à jour MipContext pour accepter DiagnosticConfiguration au lieu de TelemetryConfiguration.
  • Nouveau exposé AuditDelegate.
  • Plusieurs paramètres personnalisés ont été modifiés et seront supprimés dans la version 1.9. Ceux-ci continueront à fonctionner en parallèle avec leurs noms de mises à jour dans la version 1.8.
Nouveau nom Ancien nom
is_debug_audit is_debug_telemetry
is_audit_disabled is_built_in_audit_disabled

SDK de fichier

  • Ajout de la prise en charge des étiquettes définies par l’utilisateur avec chiffrement à double clé.
  • Ajout d’une API pour MsgInspector.BodyType exposer le type d’encodage de corps pour les fichiers MSG.
  • Ajout d’API pour prendre en charge le chiffrement à double clé avec des autorisations User-Defined.
  • Ajout d’un indicateur pour mip::FileHandler qui permet à l’appelant de désactiver l’envoi d’événements de découverte d’audit. Cela corrige un scénario dans lequel l’utilisation de l’API ClassifyAsync() entraînerait des événements de découverte en double.
  • Correction des bogues où :
    • La définition de la protection sur le fichier XPS échoue.
    • Un fichier ne peut pas être ouvert après le chargement/téléchargement à partir de SharePoint Online et la suppression des autorisations personnalisées.
    • RemoveProtection() la fonction accepterait une entrée message.rpmsg. Accepte désormais uniquement les fichiers MSG.
    • Incident qui s’est produit lors de la tentative de suivi ou de révocation de fichiers non protégés.

Sdk de stratégie

  • ActionId Suppression des propriétés de métadonnées par défaut pour garantir la cohérence entre les documents étiquetés Microsoft Office et SharePoint Online.
  • Ajout de la prise en charge des étiquettes spécifiques à Azure Purview.
  • Ajout de la possibilité de remplacer les données de télémétrie et l’audit par le biais de délégués pour chacun d’eux.
    • Le délégué d’audit permet d’envoyer des événements d’audit AIP à une destination autre qu’AIP Analytics, ou en plus d’AIP Analytics.
  • Ajout d’un indicateur pour mip::PolicyHandler qui permet à l’appelant de découvrir l’envoi d’événements de découverte d’audit. Cela corrige un scénario dans lequel l’utilisation de l’API ClassifyAsync() entraînerait des événements de découverte en double.
  • Correction d’un bogue dans lequel la base de données de stratégie chiffrée ne pouvait pas être ouverte dans certains scénarios.
  • Nouveau exposé AuditDelegate qui permet aux développeurs de remplacer le pipeline d’audit par défaut du SDK MIP et d’envoyer des événements à leur propre infrastructure.
  • mip::ClassifierUniqueIdsAndContentFormats et GetContentFormat() retournent std::string maintenant au lieu de mip::ContentFormat. Cette modification est répliquée dans les wrappers .NET et Java.
  • ContentFormat.Default est maintenant ContentFormat.File.

SDK de protection

  • Ajout d’une ProtectionEngineSettings.SetAllowCloudServiceOnly propriété qui interdit toute connexion aux clusters Active Directory Rights Management Services quand la valeur est true. Seuls les environnements cloud seront utilisés.
  • Ajout de la prise en charge de l’acquisition de licences de délégation.
    • Les licences de délégation permettent aux services d’extraire une licence de contenu pour le compte d’un utilisateur.
    • Cela permet au service d’afficher les données de droits et de déchiffrer au nom de l’utilisateur sans appels supplémentaires au service.

Wrapper Java (préversion publique)

  • Ajout de la prise en charge du suivi et de la révocation dans le wrapper Java.
  • Ajout de la prise en charge du flux à Java Wrapper

API C

  • Suppression de l’indicateur MIP_FLIGHTING_FEATURE_KEEP_PDF_LINEARIZATION de l’API C.

Version 1.7.147

SDK de fichier

  • Correction de bogues mineurs pour le format de fichier PBIX.

Version 1.7.145

Date de publication : 13 novembre 2020

Modifications générales

  • Mise à jour du package NuGet pour copier les dépendances uniquement lors de la mise à jour plutôt que toujours.
  • La configuration de débogage sur .NET utilise la version release des bibliothèques natives. Nous avons constaté que les clients déployant des solutions .NET en mode débogage sur des serveurs distants devaient installer le runtime de débogage VC++, ce qui n’est pas anodin. S’il est nécessaire de déboguer dans des bibliothèques natives, copiez les DLL du SDK Redistributable dans le dossier du projet (https://ala.ms/mipsdkbins)
  • Correction d’un bogue qui générait des avertissements pour les projets .NET Core.

Version 1.7.133

Date de publication : 23 septembre 2020

Modifications générales du Kit de développement logiciel (SDK)

  • Préversion publique disponible pour Java sur Windows et Ubuntu 18.04.
  • .NET Core est désormais pris en charge sur Windows.
  • Prise en charge de la préversion publique pour .NET Core sur Ubuntu 18.04.
  • Amélioration de la journalisation locale pour le magasin de clés lorsque le type de cache de stockage est défini sur OnDiskEncrypted.
  • Activation de la version d’évaluation des fonctionnalités sur wrapper .NET
  • Le comportement de télémétrie du SDK a été rétabli avant la version 1.6. Un ensemble minimal d’événements d’utilisation est désormais envoyé lorsque vous optez pour la télémétrie minimale uniquement.

SDK de fichier

  • Correction de la conversion de corps UTF-16/UTF-8 dans MSGInspector.
  • Définissez une limite de taille de fichier maximale par défaut pour les fichiers protégés par le Kit de développement logiciel (SDK) de fichier sur 6 Go.
    • Modification apportée en raison du déchiffrement de fichiers volumineux nécessitant au moins la taille de fichier dans la mémoire disponible.
    • Peut être remplacé par le paramètre max_file_size_for_protectionpersonnalisé .
  • Ajout de la prise en charge des fichiers PDF linéarisés.
  • Correction d’un bogue où LastModifiedDate n’était pas mis à jour lors de l’événement Change.
  • Correction d’une fuite de mémoire dans la création d’un fichier PDF protégé.
  • Le Kit de développement logiciel (SDK) de fichier prend en charge la révocation des fichiers suivis.
  • FileEngine::Settings::SetLabelFilter est déconseillé, utilisez ConfigureFunctionality à la place.

Sdk de stratégie

  • Le SDK de stratégie prend désormais en charge les actions d’étiquetage Chiffrer uniquement.
  • Correction d’un bogue où mip::Identity n’était pas correctement chargé à partir des moteurs mis en cache.
  • Correction d’un bogue où les comparaisons de GUID de classification respectaient la casse dans l’API de classification.
  • Enrichissement des événements d’audit en ajoutant de nouveaux champs.

SDK de protection

  • Correction d’un bogue où mip::Identity n’était pas correctement chargé à partir des moteurs mis en cache.
  • Ajout de l’inscription implicite pour les licences de publication nouvellement créées.
  • Ajout de la prise en charge des algorithmes de chiffrement utilisés pour prendre en charge DKE dans les fichiers Office.
  • Paramètres et documentIdowner facultatifs.

API C

  • Ajout des API d’identité et DKE manquantes.
  • Déplacé AuthDelegate du profil au moteur sur tous les kits SDK.
  • Exemple de Kit de développement logiciel (SDK) de stratégie de publication pour C
  • MIP_CC_CreateProtectionEngineSettingsWithIdentity a été déprécié, utilisez MIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback à la place.
  • MIP_CC_CreateProtectionEngineSettingsWithEngineId a été déprécié, utilisez MIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback à la place.
  • MIP_CC_CreateProtectionProfileSettings la signature a changé.
  • MIP_CC_CreatePolicyEngineSettingsWithIdentity a été déprécié, utilisez MIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback.
  • MIP_CC_CreatePolicyEngineSettingsWithEngineId a été déprécié, utilisez MIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback.
  • MIP_CC_PolicyEngineSettings_SetLabelFilter a été déprécié, utilisez MIP_CC_PolicyEngineSettings_ConfigureFunctionality.
  • MIP_CC_CreatePolicyProfileSettings la signature a changé.

Changements cassants

Courant

  • TelemetryConfiguration::isTelemetryOptedOut a été renommé en isMinimalTelemetryEnabled.

API C

  • mip_cc_document_state a été mis à jour avec une nouvelle valeur mip_cc_metadata_version_format contentMetadataVersionFormat

Version 1.6.103

Date de publication : 16 avril 2020

Modifications générales du Kit de développement logiciel (SDK)

  • TLS 1.2 appliqué pour toutes les communications HTTP non-ADRMS.
  • Implémentation HTTP iOS/macOS migrée de NSURLConnection vers NSURLSession.
  • Migration du composant de télémétrie iOS du SDK Aria vers le SDK 1DS.
  • Le composant de télémétrie utilise désormais HttpDelegate de MIP sur iOS, macOS et Linux. (Auparavant, win32 uniquement).
  • Amélioration de la sécurité de type pour l’API C.
  • Déplacement d’AuthDelegate de Profile vers Engine dans les API C++, C# et Java.
  • AuthDelegate est passé du constructeur de Profile::Settings à Engine::Settings.
  • Ajout de Category à NoPolicyError pour fournir plus d’informations sur la raison de l’échec de la synchronisation de stratégie.
  • Méthode ajoutée PolicyEngine::GetTenantId .
  • Ajout d’une prise en charge explicite pour tous les clouds.
    • Nouvelle Engine::Settings::SetCloud méthode pour définir le cloud cible (GCC High, 21-Vianet, etc.).
    • L’appel de méthode existant Engine::Settings::SetCloudEndpointBaseUrl n’est plus nécessaire pour les clouds reconnus.
  • Code binaire activé pour les fichiers binaires iOS.

SDK de fichier

  • Ajouté IFileHandler::InspectAsync aux wrappers C# et Java
  • Nouvelle prise en charge via FileProfile::AcquirePolicyAuthToken pour le déclenchement de l’acquisition de jetons de stratégie pour permettre à une application de réchauffer son cache de jetons.
  • MsgInspector::GetAttachments retourne vector<shared_ptr<MsgAttachmentData>> au lieu de vector<unique_ptr<MsgAttachmentData>>
  • TelemetryConfiguration::isOptedOut le paramètre désactive désormais complètement la télémétrie. Auparavant, un ensemble de données de télémétrie minimales était envoyé.

Sdk de stratégie

  • Nouvelle prise en charge du déclenchement de l’acquisition de jetons pour permettre à une application de réchauffer son cache de jetons via PolicyProfile::AcquireAuthToken.
  • Les étiquettes HYOK sont filtrées par défaut.
  • Les métadonnées associées aux étiquettes supprimées sont désormais supprimées.
  • En cas d’incompatibilité entre la stratégie d’étiquette mise en cache et la stratégie de confidentialité, le cache de stratégie est maintenant effacé.
  • Nouvelle prise en charge des métadonnées avec version :
    • Un format de fichier peut revédure l’emplacement/format de ses métadonnées d’étiquette. Dans ce cas, une application doit fournir À MIP toutes les métadonnées, et MIP détermine quelles métadonnées sont « true ».
    • ContentLabel::GetExtendedProperties retourne vector<MetadataEntry> maintenant au lieu de vector<pair<string, string>>.
    • MetadataAction::GetMetadataToAdd retourne vector<MetadataEntry> maintenant au lieu de vector<pair<string, string>>.
    • ExecutionState::GetContentMetadata doit maintenant retourner vector<MetadataEntry> au lieu de vector<pair<string, string>>.
    • ExecutionState::GetContentMetadataVersion doit retourner la version la plus élevée des métadonnées que l’application reconnaît pour le format de fichier actuel (généralement 0).
    • PolicyEngine::GetWxpMetadataVersion retourne la version des métadonnées pour les documents Office, telle que configurée par l’administrateur du locataire (0 = par défaut, 1 = format compatible avec la co-authentification).
    • Modifications équivalentes dans l’API C :
      • MIP_CC_ContentLabel_GetExtendedProperties
      • MIP_CC_MetadataAction_GetMetadataToAdd
      • mip_cc_metadata_callback
      • mip_cc_document_state
      • MIP_CC_PolicyEngine_GetWxpMetadataVersion
  • TelemetryConfiguration::isOptedOut le paramètre désactive désormais complètement la télémétrie. Auparavant, un ensemble de données de télémétrie minimales était envoyé.

SDK de protection

  • Nouvelle prise en charge de l’inscription et de la révocation pour le suivi des documents.
  • Nouvelle prise en charge de la génération d’une pré-licence lors de la publication.
  • Certificat MICROSOFT TLS public exposé utilisé par le service de protection.
    • GetMsftCert et GetMsftCertPEM
    • Si une application remplace l’interface, elle doit approuver les HttpDelegate certificats de serveur émis par cette autorité de certification.
    • Cette exigence devrait être supprimée à la fin de 2020.

Version 1.5.124

Date de publication : 2 mars 2020

Modifications générales du Kit de développement logiciel (SDK)

  • API Java (Windows uniquement)
  • Annulation de tâches MIP asynchrones
    • Tous les appels asynchrones retournent un objet mip::AsyncControl avec une méthode Cancel()
  • Fichiers binaires dépendants du chargement différé
  • Masquez éventuellement des propriétés de télémétrie/d’audit spécifiques
    • Configurable via mip::TelemetryConfiguration::maskedProperties
  • Exceptions améliorées :
    • Toutes les erreurs incluent des ID de corrélation actionnables dans la chaîne de description
    • L’erreur réseau comporte les champs « Category », « BaseUrl », « RequestId » et « StatusCode »
  • Amélioration des détails des résultats/erreurs de l’API C

SDK de fichier

  • Case activée sans réseau si le fichier est étiqueté ou protégé
    • mip::FileHandler::IsLabeledOrProtected()
    • Risque mineur de faux positifs (par exemple, si le fichier contient des métadonnées d’étiquette zombie)
  • Filtrer les étiquettes associées à des types de protection spécifiques
    • Configurable via mip::FileEngine::Settings::SetLabelFilter()
  • Exposer des données de stratégie au Kit de développement logiciel (SDK) File
    • mip::FileEngine::GetPolicyDataXml()

Sdk de stratégie

  • Marquage de contenu dynamique pour les actions en filigrane/en-tête/pied de page :
    • Les champs tels que ${Item.Label}, ${Item.Name}, ${User.Name}, ${Event.DateTime} sont automatiquement renseignés par MIP
    • mip::Identity peut être construit avec le champ « nom » convivial utilisé par le marquage de contenu dynamique
    • Configurable via mip::P olicyEngine::Settings::SetVariableTextMarkingType()
  • Case activée sans réseau si le contenu est étiqueté
    • mip::P olicyHandler::IsLabeled()
    • Risque mineur de faux positifs (par exemple, si le contenu contient des métadonnées d’étiquette zombie)
  • Durée de vie du cache de stratégie d’étiquette
    • Par défaut : 30 jours
    • Configurable via mip::P olicyProfile::SetCustomSettings()
  • Changement cassant
    • Mise à jour de PolicyEngine.Settings.LabelFilter de la liste des énumérations au champ de bits nullable.

SDK de protection

  • Pré-licence
    • L’existence d’une pré-licence avec du contenu chiffré, ainsi qu’un certificat d’utilisateur précédemment récupéré, permet le déchiffrement hors connexion du contenu
    • mip::P rotectionHandler::ConsumptionSettings peut être construit avec une pré-licence
    • mip::P rotectionEngine::LoadUserCert|Async() extrait le certificat utilisateur qui est stocké conformément à la stratégie de mise en cache de mip::P rotectionProfile
  • Vérification des fonctionnalités spécifiques au serveur
    • Vérifie si le locataire de l’utilisateur prend en charge la fonctionnalité « chiffrer uniquement » (disponible uniquement dans Azure RMS)
    • mip::P rotectionEngine::IsFeatureSupported()
  • Détails plus riches lors de l’extraction des modèles RMS
  • Changements importants
    • mip::ProtectionEngine::GetTemplates()vector<shared_ptr<string>> valeur de retour remplacée par vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • mip::ProtectionEngine::Observer::OnGetTemplatesSuccess() paramètre de rappel shared_ptr<vector<string>> remplacé par vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • IProtectionEngine.GetTemplates|Valeur de retour List<string> Async() remplacée par List<TemplateDescriptor>. (C#)
    • MIP_CC_ProtectionEngine_GetTemplates() mip_cc_guid* param remplacé par mip_cc_template_descriptor* (API C)

API C

  • Changements cassants : mise à jour de la plupart des fonctions pour inclure le paramètre mip_cc_error* peut être NULL

Erreur/exception Mises à jour

  • Résumé de la gestion des erreurs :
    • AccessDeniedError : aucun droit d’accès au contenu n’a été accordé à l’utilisateur
      • NoAuthTokenError : l’application n’a pas fourni de jeton d’authentification
      • NoPermissionsError : l’utilisateur n’a pas reçu de droits sur un contenu spécifique, mais le référent/propriétaire est disponible
      • ServiceDisabledError : le service est désactivé pour l’utilisateur/l’appareil/la plateforme/le locataire
    • AdhocProtectionRequiredError : la protection ad hoc doit être définie avant de définir une étiquette
    • BadInputError : entrée non valide de l’utilisateur/de l’application
      • InsufficientBufferError : entrée de mémoire tampon non valide de l’utilisateur/de l’application
      • LabelDisabledError : l’ID d’étiquette est reconnu, mais désactivé pour une utilisation
      • LabelNotFoundError : ID d’étiquette non reconnu
      • TemplateNotFoundError : ID de modèle non reconnu
    • ConsentDeniedError : une opération qui exigeait le consentement de l’utilisateur/de l’application n’a pas été autorisée
    • DeprecatedApiError : cette API a été dépréciée
    • FileIOError : échec de la lecture/écriture du fichier
    • InternalError : défaillance interne inattendue
    • NetworkError
      • ProxyAuthenticationError : l’authentification par proxy est requise
      • Category=BadResponse : le serveur a retourné une réponse HTTP illisible (une nouvelle tentative peut réussir)
      • Category=Cancelled : Échec de l’établissement de la connexion HTTP, car l’opération a été annulée par l’utilisateur/l’application (une nouvelle tentative réussira probablement)
      • Category=FailureResponseCode : le serveur a retourné une réponse d’échec générique (une nouvelle tentative peut réussir)
      • Category=NoConnection : Échec de l’établissement de la connexion HTTP (une nouvelle tentative peut réussir)
      • Category=Offline : Échec de l’établissement de la connexion HTTP, car l’application est en mode hors connexion (la nouvelle tentative n’aboutit pas)
      • Category=Proxy : Échec de l’établissement de la connexion HTTP en raison d’un problème de proxy (la nouvelle tentative n’aboutit probablement pas)
      • Category=SSL : Échec de l’établissement de la connexion HTTP en raison d’un problème SSL (la nouvelle tentative n’aboutit probablement pas)
      • Category=Throttled: Le serveur a retourné la réponse « limitée » (l’interruption/nouvelle tentative réussira probablement)
      • Category=Timeout : Échec de l’établissement de la connexion HTTP après le délai d’expiration (une nouvelle tentative réussira probablement)
      • Category=UnexpectedResponse : Le serveur a retourné des données inattendues (une nouvelle tentative peut réussir)
    • NoPolicyError : le locataire ou l’utilisateur n’est pas configuré pour les étiquettes
    • NotSupportedError : opération non prise en charge dans l’état actuel
    • OperationCancelledError : l’opération a été annulée
    • PrivilegedRequiredError : impossible de modifier l’étiquette, sauf si la méthode d’affectation = privileged
  • Modifications
    • Suppression de PolicySyncError inutilisé. Remplacé par NetworkError
    • Suppression de TransientNetworkError inutilisé. Remplacé par les catégories NetworkError

Version 1.4.0

Date de publication : 6 novembre 2019

Cette version introduit la prise en charge du Kit de développement logiciel (SDK) Protection dans le package .NET (Microsoft.InformationProtection.File).

Modifications du kit SDK

  • Améliorations des performances et correctifs de bogues
  • Énumération StorageType renommée en CacheStorageType
  • Liens Android vers libc++ au lieu de gnustl
  • Suppression des API précédemment déconseillées
    • File/Policy/Profile::Settings doit être initialisé avec un MipContext
    • Fichier/stratégie/profil::Chemin des paramètres, informations sur l’application, délégué d’enregistreur d’événements, télémétrie et getters/setters au niveau du journal ont été supprimés. Ces propriétés sont gérées par MipContext
  • Meilleure prise en charge des bibliothèques statiques sur les plateformes Apple
    • Bibliothèques statiques monolithiques
      • libmip_file_sdk_static.a
      • libmip_upe_sdk_static.a
      • libmip_protection_sdk_static.a
      • libmip_upe_and_protection_sdk_static.a
    • Dépendances tierces extraites dans des bibliothèques distinctes
      • libsqlite3.a
      • libssl.a
  • Suppression des mip_telemetry.dll (fusionnées dans mip_core.dll)

SDK de fichier

  • RPMSG
    • Chiffrement
    • Ajout de la prise en charge du déchiffrement string8
  • Comportement de l’extension PFILE configurable (par défaut, {extension}. PFILE, ou P{extension})
    • ProtectionSettings::SetPFileExtensionBehavior

Sdk de stratégie

  • Terminer l’API C
  • Configurer le filtrage des étiquettes associées à la protection
    • PolicyEngine::Settigns::SetLabelFilter()

SDK de protection

  • Suppression des API précédemment déconseillées
    • Suppression de ProtectionEngine::CreateProtectionHandlerFromDescriptor[Async] (utilisez ProtectionEngine::CreateProtectionHandlerForPublishing[Async])
    • Suppression de ProtectionEngine::CreateProtectionHandlerFromPublishingLicense[Async] (utilisez ProtectionEngine::CreateProtectionHandlerForConsumption[Async])
  • Terminer l’API C#
  • Terminer l’API C
    • Modifications de normalisation de l’API C à partir de la version v1.3 C préversion d'API :
      • Mip_cc_storage_type renommé en mip_cc_cache_storage_type
      • MIP_CC_AddProtectionProfileEngine renommé en MIP_CC_ProtectionProfile_AddEngine
      • MIP_CC_CreateProtectionEngineSettingsForExistingEngine renommé en MIP_CC_CreateProtectionEngineSettingsWithEng
      • MIP_CC_CreateProtectionEngineSettingsForNewEngine renommé en MIP_CC_CreateProtectionEngineSettingsWithIdentity
      • MIP_CC_SetProtectionProfileSettingsHttpDelegate renommé en MIP_CC_ProtectionProfileSettings_SetHttpDelegate
      • MIP_CC_CreateProtectionHandlerForConsumption renommé en MIP_CC_ProtectionEngine_CreateProtectionHandlerForConsumption
      • MIP_CC_CreateProtectionHandlerForPublishing renommé en MIP_CC_ProtectionEngine_CreateProtectionHandlerForPublishing
      • MIP_CC_GetProtectionEngineId renommé en MIP_CC_ProtectionEngine_GetEngineId
      • MIP_CC_GetProtectionEngineTemplates renommé en MIP_CC_ProtectionEngine_GetTemplates
      • MIP_CC_GetProtectionEngineTemplatesSize renommé en MIP_CC_ProtectionEngine_GetTemplatesSize
      • MIP_CC_SetTelemetryConfigurationHttpDelegate renommé en MIP_CC_TelemetryConfiguration_SetHttpDelegate
      • MIP_CC_SetTelemetryConfigurationHostName renommé en MIP_CC_TelemetryConfiguration_SetHostName
      • MIP_CC_SetTelemetryConfigurationIsLocalCachingEnabled renommé en MIP_CC_TelemetryConfiguration_SetIsLocalCachingEnabled
      • MIP_CC_SetTelemetryConfigurationIsNetworkDetectionEnabled renommé en MIP_CC_TelemetryConfiguration_SetIsNetworkDetectionEnabled
      • MIP_CC_SetTelemetryConfigurationIsTelemetryOptedOut renommé en MIP_CC_TelemetryConfiguration_SetIsTelemetryOptedOut
      • MIP_CC_SetTelemetryConfigurationLibraryName renommé en MIP_CC_TelemetryConfiguration_SetLibraryName
      • Suppression de MIP_CC_ProtectionEngine_GetRightsForLabelIdSize et mise à jour des MIP_CC_ProtectionEngine_GetRightsForLabelId pour remplir un mip_cc_string_list au lieu d’une mémoire tampon de chaîne séparée par des virgules
      • Suppression de MIP_CC_ProtectionHandler_GetRightsSize et mise à jour des MIP_CC_ProtectionHandler_GetRights pour remplir un mip_cc_string_list au lieu d’une mémoire tampon de chaîne séparée par des virgules
      • Ajout de MIP_CC_ProtectionEngine_GetEngineIdSize et mise à jour MIP_CC_ProtectionEngine_GetEngineId pour remplir une mémoire tampon de chaîne au lieu d’une mip_cc_guid
      • MIP_CC_CreateProtectionDescriptorFromUserRights prend maintenant le paramètre « mip_cc_dictionary- » au lieu de « mip_cc_dictionary »
      • MIP_CC_ProtectionEngineSettings_SetCustomSettings prend maintenant le paramètre « mip_cc_dictionary - » au lieu de « mip_cc_dictionary »
      • MIP_CC_ProtectionProfileSettings_SetCustomSettings prend désormais le paramètre « mip_cc_dictionary - » au lieu de « mip_cc_dictionary »
      • MIP_CC_TelemetryConfiguration_SetCustomSettings prend maintenant le paramètre « mip_cc_dictionary- » au lieu de « mip_cc_dictionary »
      • MIP_CC_CreateMipContext prend les paramètres « isOfflineOnly » et « loggerDelegateOverride »

Version 1.3.0

Date de publication : 22 août 2019

Nouvelles fonctionnalités

  • mip::MipContext est le nouvel objet de niveau supérieur.
  • Le déchiffrement des fichiers MSG protégés est désormais pris en charge.
  • L’inspection des fichiers message.rpmsg est prise en charge via mip::FileInspector et mip::FileHandler::InspectAsync().
  • Le cache sur disque peut désormais être chiffré éventuellement.
  • Le SDK de protection prend désormais en charge les clients cloud chinois.
  • Prise en charge d’ARM64 sur Android.
  • Prise en charge d’ARM64e sur iOS.
  • Le cache de licence utilisateur final (EUL) peut désormais être désactivé.
  • Le chiffrement .pfile peut être désactivé via mip::FileEngine::EnablePFile
  • Amélioration des performances pour les opérations de protection en réduisant le nombre d’appels HTTP
  • Supprimé les détails de l’identité déléguée de mip::Identity et ajouté à la place DelegatedUserEmail à mip::FileEngine::Settings, mip::ProtectionSettings, mip::PolicyEngine::Settingset mip::ProtectionHandleret et ConsumptionSettings.PublishingSettings
  • Les fonctions qui ont précédemment renvoyé LabelId retournent maintenant un mip::Label objet .

Modifications

  • Dans les versions précédentes, nous avions besoin d’appeler mip::ReleaseAllResources. La version 1.3 remplace ce par mip::MipContext::~MipContext ou mip::MipContext::Shutdown.
  • Supprimé ActionSource de mip::LabelingOptions et mip::ExecutionState::GetNewLabelActionSource
  • mip::ProtectionEngine::CreateProtectionHandlerForPublishingRemplacé par mip::ProtectionEngine::CreateProtectionHandlerFromDescriptor .
  • mip::ProtectionEngine::CreateProtectionHandlerForConsumptionRemplacé par mip::ProtectionEngine::CreateProtectionHandlerFromPublishingLicense .
  • mip::PublishingLicenseContext Renommé en et mis à mip::PublishingLicenseInfo jour pour contenir des champs riches au lieu d’octets sérialisés bruts.
  • mip::PublishingLicenseInfo contient les données pertinentes pour MIP après l’analyse d’une licence de publication (PL).
  • mip::TemplateNotFoundError et mip::LabelNotFoundError levées lorsque l’application transmet MIP à un ID de modèle ou à un ID d’étiquette qui n’est pas reconnu.
  • Ajout de la prise en charge de l’accès conditionnel basé sur les étiquettes via le paramètre de revendications de AcquireToken() et mip::AuthDelegate::OAuth2Challenge(). Cette fonctionnalité n’a pas encore été exposée via le portail du centre de conformité.

Version 1.2.0

Date de publication : 15 avril 2019

Nouvelles fonctionnalités

  • Le composant de télémétrie utilise désormais la même pile HTTP que le reste de MIP, même si l’application cliente l’a remplacé par HttpDelegate.
  • Les applications clientes peuvent contrôler le comportement de threading des tâches asynchrones en remplaçant TaskDispatcherDelegate dans les profils.
  • Le chiffrement RPMSG est désormais en préversion.
  • Alignez le comportement de gestion des exceptions du KIT de développement logiciel (SDK) de fichier/stratégie avec le KIT de développement logiciel (SDK) Protection :
    • ProxyAuthError levée par tous les sdk si un proxy est configuré pour exiger l’authentification.
    • NoAuthTokenError levée par tous les SDK si un jeton d’authentification vide est fourni par l’implémentation de mip::AuthDelegate::AcquireOAuth2Token de l’application.
  • L’amélioration de la mise en cache HTTP pour le Kit de développement logiciel (SDK) de stratégie réduit de moitié le nombre d’appels HTTP requis.
  • Journaux/audit/télémétrie plus riches pour améliorer la détection et le débogage des défaillances.
  • Prise en charge des étiquettes externes/étrangères pour faciliter la migration vers les étiquettes AIP.
  • Prise en charge activée pour les applications tierces pour télécharger les types de confidentialité à partir de SCC.
  • D’autres paramètres de télémétrie sont exposés et configurables (comportement de mise en cache/threading, etc.).

Modifications apportées au Kit de développement logiciel (

  • mip_common.dll divisés en mip_core.dll et mip_telemetry.dll.
  • Renommez mip::ContentState en mip::D ataState pour décrire la façon dont une application interagit avec les données à un niveau élevé.
  • l’exception mip::AdhocProtectionRequiredError est levée par FileHandler::SetLabel pour informer une application qu’elle doit d’abord appliquer une protection ad hoc avant d’appliquer une étiquette.
  • l’exception mip::OperationCancelledError est levée lorsqu’une opération a été annulée (par exemple en raison d’un arrêt ou d’une annulation HTTP).
  • Nouvelles API :
    • mip::ClassificationResult::GetSensitiveInformationDetections
    • mip::FileEngine::GetLastPolicyFetchTime
    • mip::FileEngine::GetDefaultSensitivityLabel
    • mip::FileEngine::GetPolicyId
    • mip::FileEngine::HasClassificationRules
    • mip::FileEngine::Settings::SetPolicyCloudEndpointBaseUrl
    • mip::FileHandler::GetDecryptedTemporaryFileAsync
    • mip::FileHandler::Observer::OnGetDecryptedTemporaryFileFailure
    • mip::FileHandler::Observer::OnGetDecryptedTemporaryFileSuccess
    • mip::File/Policy/ProtectionProfile::SetTaskDispatcherDelegate
    • mip::File/Policy/ProtectionProfile::SetTelemetryConfiguration
    • mip::HttpRequest::GetBody retourne std::vector<uint8_t> au lieu de std::string
    • mip::HttpRequest::GetId
    • mip::P olicyEngine::GetLastPolicyFetchTime
    • mip::P olicyEngine::GetPolicyId
    • mip::P olicyEngine::HasClassificationRules
    • mip::P olicyEngine::Settings::SetCloudEndpointBaseUrl
    • mip::P rotectionDescriptor::GetContentId
    • (interface) mip::TaskDispatcherDelegate

Nouvelles exigences

  • mip::ReleaseAllResources doit être appelé avant l’arrêt du processus (après avoir supprimé les références à tous les profils, moteurs et gestionnaires)
  • (interface) mip::ExecutionState::GetClassificationResults type de retour et le paramètre « classificationIds » a changé
  • (interface) mip::FileExecutionState::GetAuditMetadata peut être implémenté par les applications pour spécifier des informations détaillées à présenter au tableau de bord d’audit d’un administrateur client (par exemple expéditeur, destinataires, dernière modification, etc.)
  • (interface) le type de retour mip::FileExecutionState::GetClassificationResults a changé et nécessite désormais un paramètre FileHandler
  • (interface) mip::FileExecutionState::GetDataState doit être implémenté par les applications pour spécifier la façon dont une application interagit avec contentIdentifier
  • (interface) l’interface mip::HttpDelegate nécessite les méthodes « CancelOperation » et « CancelAllOperations »
  • (interface) mip::HttpDelegate interface 'Send' et 'SendAsync' retournent mip::HttpOperation au lieu de mip::HttpResponse
  • (interface) mip::HttpResponse::GetBody retourne std::vector<uint8_t> au lieu de std::string
  • (interface) l’interface mip::HttpResponse nécessite l’implémentation de la méthode « GetId »
  • mip::ContentLabel::GetCreationTime retourner std::chrono::time_point au lieu de std::string
  • mip::FileEngine::CreateFileHandlerAsync n’accepte plus le paramètre 'contentIdentifier'
  • mip::P olicyHandler::NotifyCommitedActions renommé mip::P olicyHandler::NotifyCommittedActions

Version 1.1.0

Date de publication : 15 janvier 2019

Cette version introduit la prise en charge des plateformes suivantes :

  • .NET
  • Kit de développement logiciel (SDK de stratégie) iOS
  • Kit de développement logiciel (SDK) Android (SDK de stratégie et sdk de protection)

Nouvelles fonctionnalités

  • Prise en charge d’ADRMS
  • Les opérations du KIT de développement logiciel (SDK) de protection sont véritablement asynchrones (sur Win32), ce qui permet d’effectuer simultanément des opérations de chiffrement/déchiffrement sans blocage
    • Les rappels d’application (AuthDelegate, HTTPDelegate, etc.) peuvent maintenant être appelés sur -any- thread en arrière-plan
  • Les propriétés d’étiquette personnalisée définies par les administrateurs informatiques peuvent désormais être lues via mip::Label::GetCustomSettings
  • La licence de publication sérialisée peut désormais être récupérée directement à partir d’un fichier sans aucune opération HTTP via mip::FileHandler::GetSerializedPublishingLicense
  • Les applications sont informées si une opération HTTP est nécessaire pour terminer la création d’un mip::FileEngine/mip::P olicyEngine via mip::FileProfile::Observer::OnAddPolicyEngineStarting/mip::P olicyProfile::Observer::OnAddEngineStarting
  • La détection de la date d’expiration du contenu protégé a été simplifiée avec la méthode pratique mip::P rotectionDescriptor::D oesContentExpire
  • Classification :
    • Les types de sensibilité (expressions regex pour CC#'s, passport #'s, etc.) peuvent être acquis à partir du service SCC
      • Activer la fonctionnalité en définissant l’indicateur mip::FileEngine::Settings/mip::P olicyEngine::Settings
      • Types de lecture via mip::FileEngine::ListSensitivityTypes/mip::P olicyEngine::ListSensitivityTypes
    • Les résultats de classification des utilitaires de scanneur de documents externes peuvent être transmis à MIP pour générer les étiquettes recommandées/requises en fonction du contenu du document
      • Passer les résultats à MIP via mip::FileExecutionState::GetClassificationResults/mip::ExecutionState::GetClassificationResults
      • mip::ApplyLabelAction et mip::RecommendLabelAction peuvent être retournés par mip::P olicyEngine::ComputeActions lorsque les résultats de classification correspondent à une règle de stratégie indiquant les étiquettes requises/recommandées

Nouvelles exigences

  • Population appliquée des champs ID/nom/version mip::ApplicationInfo lors de la création de mip::FileProfile, mip::P olicyProfile et mip::P rotectionProfile
  • Les applications doivent implémenter une nouvelle interface mip::FileExecutionState lors de la création de mip::FileHandlers

Nouvelles exceptions

  • mip::NoAuthTokenError levée si l’authDelegate de l’application retourne un jeton vide (en raison d’une annulation)
    • S’applique à la création de :
      • mip::FileEngine
      • mip::FileHandler
      • mip::PolicyEngine
      • mip::ProtectionHandler
  • mip::NoPolicyError levée si le locataire n’est pas configuré pour les étiquettes
    • S’applique à la création de :
      • mip::FileEngine
      • mip::PolicyEngine
  • mip::ServiceDisabledError levée si le service RMS est désactivé pour un utilisateur/appareil/plateforme/locataire spécifique
    • S’applique à la création de :
      • mip::FileHandler
      • mip::ProtectionHandler
  • mip::NoPermissionsError levée si un utilisateur n’a pas les droits de déchiffrer un document ou si le contenu a expiré
    • S’applique à la création de :
      • mip::FileHandler
      • mip::ProtectionHandler

Étapes suivantes