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 viaMipConfiguration.FeatureSettingsOverride()
.
- Défini avec la fonctionnalité
- 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
surtrue
dans C++ et .NET.
- La protection hors connexion peut être activée en définissant
Changements cassants
PublishingSettings
pour la republier nécessite désormais une licence de publication sérialisée ou unProtectionHandler
dans le constructeur au lieu de pouvoir définir l’un ou l’autre après la construction.SetPublishingLicenseForRepublish
Supprimé etSetProtectionHandlerForRepublish
.ProtectionDescriptorBuilder
utiliseSetLabelInfo
désormais au lieu deSetLabelId
Insert
la méthode dansmip::StorageDelegate
etIStorageDelegate
a été remplacée parInsertOrReplace
.
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
usersWithDefaultRights
additionalUsersAndRights
sont vides,CreateFromLicenseType
lève unBadInputError
. - Ajout de nouvelles méthodes
GetLicenseRightsData
etGetLicenseRightsDataAsync
dans la classeProtectionEngine
.
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’unProtectionProfile
. - La mise en cache des modèles nécessite un paramètre
ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours)
(C++) ouProtectionEngineSettings.TemplateRefreshArgs
(.NET) pour activer la mise en cache des modèles de protection.
- Activez la protection hors connexion en définissant sur
- 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’APIFileHandler.RemoveProtection
.TelemetryDelegate
etAuditDelegate
la méthode WriteEvent nécessite désormais un deuxième paramètre,EventContext
. LaEventContext
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.
- Quand
- 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
MemoryStream
GetDecryptedTemporaryStream
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 unObjStm
avec un objet indirect interne, il retournePDFPARSER_ERROR_FORMAT
maintenant au lieu d’un dépassement de pile
- Avec
- 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éeLabelDisabledError
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 WindowshashObject
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 deBcryptData
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 lesrpmsg
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
- Nouvelle catégorie d’exception (
NetworkError::Category::Throttled
- Exception:
NetworkError
- Retourné lorsque trop de demandes ont été effectuées au service dépendant.
- Le service retourne 429
- Exception:
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 lesrpmsg
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 nouvelMipConfiguration
objet.- Pour plus d’informations, consultez Concepts de MipContext .
- 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
valeurnull
. - 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.
- Le modèle d’étiquetage de ces fichiers est identique à tout autre type de fichier.
- Le paramètre personnalisé enable_msg_file_type doit être défini pour activer la gestion des fichiers MSG.
- Les pièces jointes seront protégées, mais pas étiquetées.
- Pour plus d’informations sur le paramètre personnalisé , consultez Définir enable_msg_file_type et utiliser le Kit de développement logiciel (SDK) de fichier pour protéger le fichier .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
,IsLabeled
etContainsProtectedObjects
.ContainsProtectedObjects
est utile pour les fichiers MSG qui ont des pièces jointes protégées.
- Cette fonction retourne un nouvel
- 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’appelIFileHandler.SetProtection()
dans une boucle.IProtectionHandler
instance 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é
EventDateTimeTokenUseUtc
de version d’évaluation .
- Vous pouvez revenir à la valeur par défaut précédente à l’aide de la fonctionnalité
- Correction d’un bogue où
IsActive
ne retournait pas les mêmes valeurs à l’intérieur d’unPolicyHandler
que lors de la récupération d’étiquettes à partir d’unPolicyEngine
.
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 deIsAuditEnabled()
méthode.- Vous pouvez utiliser à la place
GetEnableAuditSetting()
pour obtenirEnableAudit
les paramètres de la stratégie une fois la stratégie chargée. Les paramètres d’audit par défaut sontUndefined
tels quetrue
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é.
- Précédemment exposé en tant que
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.
- Précédemment exposé en tant que
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.
- Précédemment exposé en tant que
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.
- Précédemment exposé en tant que
BadInputError::ErrorCode::DoubleKey
- Précédemment exposé en tant que
NetworkError::Category::FailureResponseCode
- Retourné lorsque les paramètres DKE (Double Key Encryption) sont incorrects.
- Précédemment exposé en tant que
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 viaFileExecutionState
- 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()
etGetWorkloadConsent()
àFileEngine
etPolicyEngine
.
- Ajout de
- 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
ouExecuteTaskOnIndependentThread
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 commeServiceDisabledError
au lieu deNetwork 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 natifPolicyEngine
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
enDiagnosticConfiguration
. - Mise à jour
MipContext
pour accepterDiagnosticConfiguration
au lieu deTelemetryConfiguration
. - 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’APIClassifyAsync()
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’APIClassifyAsync()
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
etGetContentFormat()
retournentstd::string
maintenant au lieu demip::ContentFormat
. Cette modification est répliquée dans les wrappers .NET et Java.ContentFormat.Default
est maintenantContentFormat.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_protection
personnalisé .
- 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é, utilisezConfigureFunctionality
à 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
documentId
owner
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é, utilisezMIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback
à la place.MIP_CC_CreateProtectionEngineSettingsWithEngineId
a été déprécié, utilisezMIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback
à la place.MIP_CC_CreateProtectionProfileSettings
la signature a changé.MIP_CC_CreatePolicyEngineSettingsWithIdentity
a été déprécié, utilisezMIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback
.MIP_CC_CreatePolicyEngineSettingsWithEngineId
a été déprécié, utilisezMIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback
.MIP_CC_PolicyEngineSettings_SetLabelFilter
a été déprécié, utilisezMIP_CC_PolicyEngineSettings_ConfigureFunctionality
.MIP_CC_CreatePolicyProfileSettings
la signature a changé.
Changements cassants
Courant
TelemetryConfiguration::isTelemetryOptedOut
a été renommé enisMinimalTelemetryEnabled
.
API C
mip_cc_document_state
a été mis à jour avec une nouvelle valeurmip_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.
- Nouvelle
- 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
retournevector<shared_ptr<MsgAttachmentData>>
au lieu devector<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
retournevector<MetadataEntry>
maintenant au lieu devector<pair<string, string>>
.MetadataAction::GetMetadataToAdd
retournevector<MetadataEntry>
maintenant au lieu devector<pair<string, string>>
.ExecutionState::GetContentMetadata
doit maintenant retournervector<MetadataEntry>
au lieu devector<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
etGetMsftCertPEM
- 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 parvector<shared_ptr<mip::TemplateDescriptor>>
(C++)mip::ProtectionEngine::Observer::OnGetTemplatesSuccess()
paramètre de rappelshared_ptr<vector<string>>
remplacé parvector<shared_ptr<mip::TemplateDescriptor>>
(C++)- IProtectionEngine.GetTemplates|Valeur de retour
List<string>
Async() remplacée parList<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
- AccessDeniedError : aucun droit d’accès au contenu n’a été accordé à l’utilisateur
- 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
- Bibliothèques statiques monolithiques
- 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 »
- Modifications de normalisation de l’API C à partir de la version v1.3 C préversion d'API :
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
etmip::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 placeDelegatedUserEmail
àmip::FileEngine::Settings
,mip::ProtectionSettings
,mip::PolicyEngine::Settings
etmip::ProtectionHandler
et etConsumptionSettings
.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 parmip::MipContext::~MipContext
oumip::MipContext::Shutdown
. - Supprimé
ActionSource
demip::LabelingOptions
etmip::ExecutionState::GetNewLabelActionSource
mip::ProtectionEngine::CreateProtectionHandlerForPublishing
Remplacé parmip::ProtectionEngine::CreateProtectionHandlerFromDescriptor
.mip::ProtectionEngine::CreateProtectionHandlerForConsumption
Remplacé parmip::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
etmip::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()
etmip::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
- Les types de sensibilité (expressions regex pour CC#'s, passport #'s, etc.) peuvent être acquis à partir du service SCC
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
- S’applique à la création de :
- mip::NoPolicyError levée si le locataire n’est pas configuré pour les étiquettes
- S’applique à la création de :
- mip::FileEngine
- mip::PolicyEngine
- S’applique à la création de :
- 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
- S’applique à la création de :
- 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
- S’applique à la création de :
Étapes suivantes
- Pour plus d’informations sur les plateformes prises en charge , consultez FAQ et problèmes liés au KIT de développement logiciel (SDK) MIP .
- Pour plus d’informations sur la prise en main du KIT de développement logiciel (SDK) MIP, consultez Configuration et configuration du KIT de développement logiciel (SDK) MIP .