Microsoft Information Protection (MIP) Cronologia delle versioni di Software Development Kit (SDK) e criteri di supporto

Servizio

Ogni versione generale di disponibilità (GA) è supportata per un anno una volta rilasciata la versione ga successiva. La documentazione potrebbe non includere informazioni sulle versioni non supportate. Le correzioni e le nuove funzionalità vengono applicate solo alla versione ga più recente.

Le versioni di anteprima non devono essere distribuite nell'ambiente di produzione. Usare invece la versione di anteprima più recente per testare nuove funzionalità o correzioni disponibili nella versione ga successiva. È supportata solo la versione di anteprima più recente.

Cronologia delle versioni

Usare le informazioni seguenti per visualizzare le novità o le modifiche apportate per una versione supportata. La versione più recente è elencata per prima.

I pacchetti NuGet per le versioni principali rimangono attivi in NuGet. Solo la versione più recente di ogni versione principale viene mantenuta nell'Area download Microsoft. Le versioni precedenti alla versione 1.4 non sono disponibili.

Nota

Per il supporto tecnico, visitare il forum di Stack Overflow Microsoft Information Protection o aprire un caso di supporto con supporto tecnico Microsoft.

Versione Collegamento Stato Fine del supporto
1.13 https://aka.ms/mipsdkbins Supportato TBD
1.12 https://aka.ms/mipsdkbins112 Supportato 17 marzo 2024
1.11 https://aka.ms/mipsdkbins111 Supportato 9 giugno 2023
1,10 https://aka.ms/mipsdkbins110 Supporto esterno 17 novembre 2022
1,9 https://aka.ms/mipsdkbins19 Supporto esterno 23 agosto 2022
1.8 https://aka.ms/mipsdkbins18 Supporto esterno 29 aprile 2022
1,7 https://aka.ms/mipsdkbins17 Supporto esterno 14 gennaio 2022
1.6 https://aka.ms/mipsdkbins16 Supporto esterno 23 settembre 2021
1.5 https://aka.ms/mipsdkbins15 Supporto esterno 16 aprile 2021
1.4 https://aka.ms/mipsdkbins14 Supporto esterno 2 marzo 2021

Versione 1.13.161

Data di rilascio: 28 marzo 2023

Correzioni di bug

  • Correzione di un problema di firma nel pacchetto NuGet .NET.
  • È stato risolto un problema in ProtectionProfile cui mancava l'impostazione di pubblicazione offline.

Versione 1.13.158

Data di rilascio: 17 marzo 2023

File SDK

  • Aggiunta di un flag di funzionalità che consente a MIP SDK di pubblicare file e messaggi di posta elettronica di Office in modalità di concatenamento a blocchi di crittografia.
    • Impostare con la funzionalità UseCBCForOfficeFileEncryption di anteprima tramite MipConfiguration.FeatureSettingsOverride().
  • È stato risolto i problemi relativi all'utilizzo della catena a blocchi di crittografia (CBC) protetti da file e messaggi di posta elettronica di Office. MIP SDK può ora usare il contenuto protetto in modalità CBC generato da Office.

Protection SDK

  • Aggiunta del supporto di anteprima per la pubblicazione offline in Protection SDK.
    • La protezione offline può essere abilitata impostando ProtectionProfileSettings.OfflinePublishing su true sia in C++ che in .NET.

Modifiche di rilievo

  • PublishingSettings per la ripubblicazione richiederà ora una licenza di pubblicazione serializzata o un ProtectionHandler nel costruttore anziché poter impostare entrambe le operazioni dopo la costruzione.
  • Rimosso SetPublishingLicenseForRepublish e SetProtectionHandlerForRepublish.
  • ProtectionDescriptorBuilder ora userà SetLabelInfo invece di SetLabelId
  • Insert metodo in mip::StorageDelegate ed IStorageDelegate è stato sostituito con InsertOrReplace.

Aggiornamento critico

MIP SDK 1.13 introduce il supporto per l'utilizzo di file e messaggi di posta elettronica protetti con AES256-CBC generati da Word, Excel, PowerPoint, Outlook, Exchange Online, SharePoint Online e applicazioni abilitate per MIP SDK che hanno consenso esplicito per la pubblicazione CBC. Se l'applicazione usa File SDK per usare uno di questi formati, è importante aggiornare l'applicazione a MIP SDK 1.13. Nella seconda metà del 2023, app M365, Exchange Online e SharePoint Online inizierà a proteggere con AES256-CBC per impostazione predefinita. Le applicazioni che non sono state aggiornate non riusciranno a decrittografare correttamente i file e i messaggi di posta elettronica.

MIP SDK 1.13 continuerà a pubblicare documenti e messaggi di posta elettronica di Office usando AES128 in modalità codebook elettronico (BCE). MIP SDK 1.14, pianificato per la versione di giugno 2023, abiliterà la pubblicazione AES256-CBC per impostazione predefinita. Se si vuole testare la pubblicazione CBC in anticipo, abilitare il UseCBCForOfficeFileEncryption flag di funzionalità tramite MipConfiguration.FeatureSettingsOverride().

Le applicazioni che non riescono a eseguire l'aggiornamento a MIP SDK 1.13 possono iniziare a riscontrare un'eccezione con i dettagli seguenti: Something bad happened: AESCryptoWriter: Failed to transform final block.

Versione 1.12.101

Data di rilascio: 18 novembre 2022

File SDK

  • È stato risolto un problema per cui includere caratteri speciali in un nome di etichetta potrebbe causare l'annullamento di un messaggio da Parte di Microsoft Outlook.
  • Correzione di un bug quando la protezione è stata rimossa per le etichette inattive.
  • Correzione di un bug per cui non è stato possibile aprire le autorizzazioni delle etichette con l'autenticazione condivisa abilitata per i documenti protetti.
  • Libgsf aggiornato alla versione 1.14.50 e LibXML2 alla versione 2.9.14.
  • XMP aggiornato usa una versione aggiornata di Expat – versione 2.4.7

SDK dei criteri

  • Correzione di un bug con eccezione di metadati non valida per ComputeActions.

Protection SDK

  • Aggiunta di funzioni di accesso per recuperare gli URL intranet e extranet da TenantInformation.
  • Esposto un'API C per acquisire licenze di delega.
  • Correzione di un bug per i metadati delle etichette padre non coerenti quando le etichette figlio vengono rimosse.
  • Correzione di un bug della cache di autenticazione per CreateFromLicenseType.
  • Risolvere un problema a causa del quale il motore viene pulito durante una GetTemplatesAsync() chiamata potrebbe causare un arresto anomalo.
  • Aggiunto GetLicenseRightsData per ottenere la licenza utente/objectId/puid e diritti dalla licenza di pubblicazione.
  • Correzione di un bug in cui il tag descrittore non è stato possibile aggiungere alla licenza se non sono presenti descrittori.
  • Correzione di un arresto anomalo di .NET in Linux.
  • Correzione di un problema di spazio per la scrivania; viene ora segnalato un errore quando MIP esce da spazio su disco durante la protezione del contenuto.
  • Dipendenza OpenSSL aggiornata a 1.1.1-r.1.

Aggiornamenti piattaforma e dipendenza

  • Correzione di un bug in cui i cloud non sono stati trattati in modo coerente.
  • Aggiunta del supporto per la funzionalità di anteprima della pubblicazione offline.
  • Correzione di un bug per cui i wrapper mancavano nel cloud di telemetria per scenari cloud sovrani.
  • Rimosso i dati personali dai dati di telemetria di controllo delle compilazioni di debug.

Modifiche di rilievo

  • Se entrambi usersWithDefaultRights e additionalUsersAndRights sono vuoti, CreateFromLicenseType genererà un BadInputErroroggetto .
  • Aggiunta di nuovi metodi GetLicenseRightsData e GetLicenseRightsDataAsync nella classe ProtectionEngine.

Versione 1.12.61

Data di rilascio: 9 giugno 2022

File SDK

  • File SDK supporta ora il limite dei dati tramite FileEngineSettings.DataBoundary.
  • Correzione di un bug in GetCodePage .MsgInspector
  • Correzione di bug in cui BodyType ha sempre restituito TXT in MsgInspector.
  • Correzione di un bug nel wrapper Java in cui l'uso di UserRolesjava.util.Collections$UnmodifiableCollection non può essere eseguito il cast all'eccezione java.util.List .
  • Correzione di un bug durante la decrittografia dei file >di testo da 2 GB con GetDecryptedTemporaryStreamAsync().

SDK dei criteri

  • Policy SDK supporta ora il limite dei dati tramite PolicyEngineSettings.DataBoundary.
  • Correzione di un bug in cui in determinate condizioni le modifiche apportate ai criteri hanno causato un arresto anomalo.
  • È stato risolto un problema per cui le etichette Encrypt Only con protezione DKE non venivano filtrate quando dovrebbero essere state.

Protection SDK

  • Anteprima: aggiunta del supporto per la protezione offline.
    • Abilitare la protezione offline impostando ProtectionProfile.OfflinePublishing su true durante la creazione di un ProtectionProfileoggetto .
    • I modelli di memorizzazione nella cache richiedono l'impostazione ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours) (C++) o ProtectionEngineSettings.TemplateRefreshArgs (.NET) per abilitare la memorizzazione nella cache dei modelli di protezione.
  • Protection SDK supporta ora i limiti dei dati tramite ProtectionEngineSettings.DataBoundary

Modifiche di rilievo

  • FileHandler.SetLabel() L'API non supporta più i file rpmsg come input.
  • Il passaggio di un file MSG di testo non crittografato all'oggetto MsgInspector comporterà un errore NotSupportedError
  • MsgInpector non tenterà più di decrittografare gli allegati che fanno parte del file message.rpmsg .
  • MsgInpector restituirà ora un file MSG completamente funzionale se il file message.rpmsg aveva allegati MSG. Questi file MSG possono essere decrittografati con l'API FileHandler.RemoveProtection .
  • TelemetryDelegate e AuditDelegateIl metodo WriteEvent richiede ora un secondo parametro, EventContext. La EventContext classe espone informazioni sul cloud di destinazione e sui limiti dei dati per l'evento.

Aggiornamenti piattaforma e dipendenza

  • Aggiunta del supporto per tutti e tre gli SDK per l'impostazione del limite dei dati dell'Unione europea.
    • Quando DataBoundary è impostato su UE, tutti gli eventi di telemetria e controllo verranno trasmessi direttamente all'area dell'UE.
    • L'impostazione su qualsiasi altra area comporta l'emissione DataBoundary di dati al punto di ingresso del servizio più vicino.
  • Aggiornamento libxml2 alla versione 2.9.13.
  • Correzione di un arresto anomalo specifico per Android.
  • È stato risolto un problema per cui SDK non rispettava completamente il livello di log

Versione 1.11.96

Data di rilascio: 20 luglio 2022

File SDK

  • Correzione di un bug in MemoryStream per GetDecryptedTemporaryStream tipi di file di grandi dimensioni
  • Correzione di un bug che causa la perdita di dati durante la crittografia PDF a causa dell'arresto anomalo del overflow dello stack
    • Con OptimizePdfMemory, se /Info è un ObjStm oggetto indiretto interno, verrà ora restituito PDFPARSER_ERROR_FORMAT anziché il overflow dello stack
  • Correzione di un bug per cui il supporto delle librerie MIP non è stato caricato in Java
  • Correzione di un bug in cui i file MSG con allegati file MSG protetti riscontrano un danneggiamento quando rpmsg l'estensione ha un terminatore null finale finale
  • Correzione di un arresto anomalo nei file MSG con allegati di collegamento
  • Correzione di un bug in cui la sequenza dell'applicazione etichetta non è stata rispettata correttamente usando l'app Client unificata AIP per Windows
  • Correzione di un bug in cui RemoveProtection è stata specificata l'eccezionew LabelDisabledError che indica l'etichetta inattiva
  • Correzione di un bug in cui DeleteLabel è stata generata un'eccezione di metadati non valida mentre il file di input è protetto da templateID

SDK dei criteri

  • È stato risolto un problema per cui la modifica dei criteri causava un arresto anomalo a causa della mancata corrispondenza tra la mappa nativa e gestita durante OnPolicyChanged la chiamata

Modifiche alla piattaforma e alle dipendenze

  • Correzione di un problema per cui i dati di telemetria e controllo potrebbero non essere inviati quando si usa L'interfaccia C# o Java
  • Correzione di un bug in cui i cloud con lo stesso URL di base non sono stati trattati in modo coerente
  • Versione aggiornata di Adobe XMP alla funzione 6.0.0 e correzione di sicurezza push per la vulnerabilità dell'espagrante nella funzione 2.1.0 storeAtts()
  • Flag esposto EnableAuditAndTelemetryForSovereignClouds per .NET
  • Correzione di un arresto anomalo causato dall'integrità del flusso di controllo che esegue controlli di sicurezza della tabella virtuale
    • Disabilitati questi controlli perché Android non supporta controlli di tabella tra librerie
  • Correzione di un bug nel delegato di crittografia di Windows per l'uso dopo la vulnerabilità gratuita. Si applica solo alle applicazioni impostate EnableFipsValidatedCryptography in Windows
    • hashObject vettore è stato pulito prima dell'handle e ha causato un uso dopo aver liberato quando l'handle è stato pulito nel distruttore di BcryptData

Versione 1.11.64

Data di rilascio: 12 gennaio 2022

File SDK

  • Correzione di un bug nei file MSG con wrapping pfile usando il formato del contenuto non corretto.
  • Correzione di un bug in cui la Inspector classe ha causato un arresto anomalo nei rpmsg file.
  • Correzione di un bug in cui SDK non comprimeva correttamente i file su 4 GB, causando un possibile danneggiamento.

Protection SDK

  • È stato risolto un problema relativo all'individuazione dei record DNS per AD RMS in iOS.

Aggiornamenti piattaforma e dipendenza

  • Aggiornamento di log4j nelle app di esempio Java.
  • Rinominare arm64 ABI in Android in arm64-v8a

Versione 1.11.53

Data di rilascio: 17 novembre 2021

File SDK

  • Correzione di bug in cui IsModified() in mip::FileHandler restituisce false anziché true per un testo non crittografato. File MSG con allegato protetto.
  • Correzione di bug Per risolvere i problemi di formattazione XML nei metadati che hanno interrotto le etichette senza protezione in determinati casi.

SDK dei criteri

  • Sono stati introdotti miglioramenti per impedire il deadlock nella sincronizzazione dei criteri.

Modifiche di rilievo

  • In precedenza, quando un'etichetta è stata configurata per "Do Not Forward" o "Encrypt Only" e un'azione di protezione dei file, MIP SDK non visualizzerebbe l'etichetta nell'elenco di etichette per il tipo di contenuto del file.

    • L'SDK è stato aggiornato per risolvere questo problema. L'etichetta non verrà filtrata in entrambi i casi quando configurata per applicare entrambi i tipi di contenuto.
    • Questa modifica non influisce sulle etichette in cui l'azione di protezione è "Encrypt Only" o "Do Not Forward".
    • Infine, non influisce sulle etichette destinate ai file in cui l'azione è stata predefinita o la protezione definita dall'utente.
  • Aggiornamento delle eccezioni esistenti per una migliore gestione di scenari specifici. L'oggetto seguente è stato eseguito in precedenza come NetworkError::Category::FailureResponseCode

    • NetworkError::Category::ServiceUnavailable
      • Nuova categoria di eccezioni (NetworkError eccezione).
      • Restituito quando il servizio dipendente non è disponibile.
      • Il servizio restituisce 503
    • NetworkError::Category::Throttled
      • Eccezione: NetworkError
      • Restituito quando sono state effettuate troppe richieste al servizio dipendente.
      • Il servizio restituisce 429

Aggiornamenti piattaforma e dipendenza

  • Dipendenze dell'SDK aggiornate alle versioni più recenti
  • Tutti i file binari MIP SDK sono stati aggiornati per l'uso della versione 2.9.12 della libreria statica libxml2 e della libreria dinamica libgsf per Android e Windows.
  • Supporto proxy per Linux introdotto. Esempio di come impostare il proxy seguente.
export HTTP_PROXY="http://10.10.10.10:8080"

Versione 1.10.115

Data di rilascio 25 febbraio 2022

  • Correzione di un bug nei file MSG con wrapping pfile usando il formato del contenuto non corretto.
  • Correzione di un bug in cui la Inspector classe ha causato un arresto anomalo nei rpmsg file.
  • Correzione di un bug in cui SDK non comprimeva correttamente i file su 4 GB, causando un possibile danneggiamento.
  • Correzione di un bug nel rilevamento dei file MSG protetti. I file potrebbero essere stati protetti ma SDK li ha trattati come testo non crittografato.

Versione 1.10.98

Data di rilascio 29 settembre 2021

Correzioni di bug

  • Correzione di un bug in iOS in cui il codice bit non è stato abilitato

Versione 1.10.97

Data di rilascio: 17 settembre 2021

Correzioni di bug

  • Correzione di un bug in cui gli allegati nei file MSG sono stati danneggiati durante l'applicazione di un'etichetta di protezione al file MSG.

Versione 1.10.93

Data di rilascio: 23 agosto 2021

Modifiche generali

  • Classe aggiunta MipConfiguration .
    • Questa classe controlla le impostazioni di configurazione impostate in precedenza direttamente su MipContext.
    • Delegati, posizione di registrazione e così via. vengono impostati come parte di questo oggetto.
    • Per informazioni dettagliate, vedere Concetti di MipContext .
  • MipContext::Create() il costruttore è stato modificato in modo da accettare solo il nuovo MipConfiguration oggetto.
  • Tutte le impostazioni del motore verranno predefinite per le impostazioni locali en-US nel caso in cui la .Locale proprietà sia impostata su null.
  • È stato risolto un problema per cui l'SDK non rispettava completamente le impostazioni del livello di registrazione.

File SDK

  • Aggiunta del supporto per la lettura e la scrittura di etichette nei file MSG.
  • FileHandler::IsLabeledOrProtected() supporta ora i file MSG.
  • File SDK supporta ora la decrittografia degli allegati protetti nei file MSG non protetti.
    • Ciò si applica solo ai file e non ai contenitori, ad esempio MSG o FILE ZIP.
  • Aggiunta di un nuovo metodo statico mip::FileHandler::GetFileStatus()
    • Questa funzione restituisce un nuovo mip::FileStatus oggetto che indica se il file è etichettato, protetto o contiene oggetti protetti.
    • FileStatus espone tre proprietà: IsProtected, IsLabelede ContainsProtectedObjects.
    • ContainsProtectedObjects è utile per i file MSG con allegati protetti.
  • Quando si chiama FileHandler::RemoveProtection() un file MSG di testo non crittografato con allegati protetti, la protezione verrà rimossa dagli allegati.
  • Correzione di un bug in cui IProtectionHandler è stato eliminato quando si chiama IFileHandler.SetProtection() in un ciclo. IProtectionHandler l'istanza non verrà più distrutta dopo l'uso.

SDK dei criteri

  • La variabile ${Event.DateTime} di contrassegno del contenuto è ora predefinita rispetto all'ora UTC.
    • Questa opzione può essere impostata nuovamente sul valore predefinito precedente usando la funzionalità EventDateTimeTokenUseUtcdi anteprima .
  • Correzione di bug in cui IsActive non è stato restituito gli stessi valori all'interno di un PolicyHandler oggetto durante il recupero delle etichette da un PolicyEngineoggetto .

Protection SDK

  • Sono stati aggiunti nuovi tipi di errore più specifici che verranno visualizzati sia in Protection che in File SDK. Vedere la sezione Modifiche di rilievo.

Modifiche di rilievo

  • Sono state introdotte nuove impostazioni personalizzate per gestire le impostazioni di controllo predefinite.
    • Aggiunta di una nuova proprietà nel delegato di controllo per impostare le impostazioni di controllo.
    • LabelGroupData la classe non ha IsAuditEnabled() più metodo.
    • È possibile usare invece GetEnableAuditSetting() per ottenere EnableAudit le impostazioni nei criteri una volta caricati i criteri. Le impostazioni di controllo predefinite saranno Undefined opposte a true nelle versioni precedenti.
  • Consentire il passaggio del fuso orario del documento a ComputeActions per consentire il calcolo delle azioni come se il documento esistesse in un fuso orario diverso dal computer che applica l'etichetta.
    • Utile per quando le etichette vengono applicate per conto di un utente tramite un servizio, dove l'ora locale del server non è necessariamente uguale a quella dell'utente.
    • Invece di restituire il formato UTC, l'ora predefinita è l'ora ${Event.DateTime} locale senza visualizzare il fuso orario.
  • Aggiornamento delle eccezioni esistenti per una migliore gestione di scenari specifici.
    • NoPermissionsError::Category::NotPremiumLicenseUser
      • In precedenza è stato eseguito come NoPermissionsError::Category::AccessDenied
      • Causato da un utente senza licenza che tenta di revocare il contenuto protetto.
    • NoPermissionsError::Category::NotOwner
      • In precedenza è stato eseguito come NoPermissionsError::Category::AccessDenied
      • Causato da un utente che tenta di revocare un documento che non è proprietario.
    • ServiceDisabledError::Extent::Tenant
      • In precedenza è stato eseguito come ServiceDisabledError::Extent::User
      • Restituito quando il servizio Azure Rights Management di destinazione è invece disabilitato.
    • NoPermissionsError::Category::AccessDenied
      • In precedenza è stato eseguito come NetworkError::Category::FailureResponseCode
      • Restituito quando l'utente non ha diritti di pubblicazione a causa di licenze o controlli di onboarding.
    • BadInputError::ErrorCode::DoubleKey
      • In precedenza è stato eseguito come NetworkError::Category::FailureResponseCode
      • Restituito quando i parametri DKE (Double Key Encryption) non sono corretti.
    • CustomerKeyUnavailableError
      • Nuova eccezione.
      • Restituito quando il tenant è configurato per bring-your-own-key (BYOK) e la chiave non può essere raggiunta.
      • Il servizio restituisce HTTP424.
    • NetworkError::Category::FunctionNotImplemented
      • Nuova eccezione.
      • Restituito quando il servizio ha restituito HTTP501 (non implementato).
    • L'oggetto seguente è stato eseguito in precedenza come NetworkError::Category::FailureResponseCode
      • TemplateArchivedError: l'applicazione ha tentato di applicare un ID modello archiviato.
      • LicenseNotRegisteredError: la licenza di pubblicazione dei documenti non è registrata per la revoca.
      • NoPermissionsError::Category::UserNotFound: l'utente specificato non esiste nel tenant di destinazione.
      • NoPermissionsError::Category::InvalidEmail: è stato fornito un indirizzo di posta elettronica non valido.
      • NoPermissionsError::Category::AccessDenied: l'identità fornita non è un'entità riconosciuta da RMS o non è un delegato valido.
      • BadInputError::ErrorCode::LicenseNotTrusted: la licenza di pubblicazione specificata non proviene da un editore attendibile. (Non nell'API C)
      • BadInputError::ErrorCode::ParameterParsing: restituito da vari problemi XML, JSON o altri problemi di analisi (Non nell'API C)

Aggiornamenti piattaforma e dipendenza

  • Aggiunta del supporto per Debian 10.
  • Aggiunta del supporto per Ubuntu 20.04.

Versione 1.9.90

Data di rilascio: 7 luglio 2021

Modifiche generali

  • Correzione di un bug in File SDK in cui non è stato possibile decrittografare i documenti legacy in Windows a 32 bit.
  • Abilitare bitcode nelle build iOS.
  • Aggiornamento di Ubuntu 16.04 per l'uso di OpenSSL 1.1.1k.
  • È stato risolto un problema durante la decrittografia dei file MSG gestiti in precedenza dagli strumenti eDiscovery di terze parti.

Versione 1.9.78

Data di rilascio: 29 aprile 2021

Modifiche generali

  • Aggiunta di un nuovo parametro che consente agli sviluppatori di fornire ID di scenario personalizzati per correlare gli errori.
    • Nel caso in cui sia necessario un caso di supporto per diagnosticare un errore sul lato servizio, questo ID scenario può essere utile per la risoluzione dei problemi.
    • File SDK: quando si crea un FileHandler set di applicationScenarioID tramite FileExecutionState
    • Protection SDK: diverse API supportano ora il passaggio dell'ID dello scenario.
      • mip::ProtectionCommonSettings(mApplicationScenarioId)
      • mip::GetTemplatesSettings::CreateGetTemplatesSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::PublishingSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::ConsumptionSettings()->SetApplicationScenarioId()
      • mip::PolicyEngine::SetSessionId()
  • Aggiunta di Workload enumerazioni e controlli di consenso.
    • Aggiunta HasWorkloadConsent() di e GetWorkloadConsent() a FileEngine e PolicyEngine.
  • Aggiunta di API sincrone al wrapper .NET di Policy SDK: AddEngine(), ListEngines(), DeleteEngine(), UnloadEngine().
  • Aggiunta del supporto per il reindirizzamento delle richieste di protezione tramite ProtectionProfile::Settings::AddRedirectionUri()
  • È stato aggiunto un contesto del logger che può essere usato con LoggerDelegate per scrivere dati di contesto personalizzati nei log.
    • Questa API può essere utile per correlare gli eventi di errore nei servizi a una singola operazione o a un singolo evento.
    • Le API seguenti supportano la fornitura del contesto del logger:
      • LoggerDelegate::WriteToLogWithContext
      • TaskDispatcherDelegate::DispatchTask o 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()

Aggiornamenti di piattaforma e dipendenza

  • Aggiunta del supporto per CentOS 8
  • Aggiunta del supporto per i framework iOS
  • Aggiornamento di OpenSSL alla versione 1.1.1k
  • Aggiornamento di SQLite alla versione 3.34.1

Modifiche di rilievo

  • Modifica del comportamento di controllo predefinito per i tenant in cui Analisi AIP è abilitato. È ora obbligatorio che, oltre a configurare i componenti lato servizio della funzionalità di Analisi AIP, è necessario impostare la proprietà EnableAudit su true nei criteri di etichetta di riservatezza.
    • Set-LabelPolicy -Identity Global -AdvancedSettings @{EnableAudit="True"}
    • Per informazioni dettagliate sull'impostazione delle impostazioni avanzate dei criteri, vedere questo articolo di Docs.
  • Aggiunta della funzione GetApplicationScenarioId() a FileExecutionState.
  • Enumerazione rimossa ContentFormat .
  • Aggiunta di errori specifici con categorie per un set di errori esposti in precedenza in NetworkError tramite stringhe/codici di errore.
    • NoPermissionsError::Category::UserNotFound
    • NoPermissionsError::Category::AccessDenied
    • NoPermissionsError::Category::AccessExpired
    • NoPermissionsError::Category::UserNotFound
  • Microsoft.RightsManagement.Exceptions.UnknownTenantException Il servizio generato verrà ora visualizzato come ServiceDisabledError invece di Network Error

Correzioni di bug

  • Correzione di una perdita di memoria durante la chiamata a mip::FileHandler::IsLabeledOrProtected().
  • Correzione di un bug per cui l'errore in FileHandler::InspectAsync() chiamato osservatore non corretto.
  • Correzione di un bug per cui l'SDK ha tentato di applicare il formato dell'etichetta di creazione condivisa ai formati di Office che non supportano la creazione condivisa (DOC, PPT, XLS).
  • Correzione di un arresto anomalo del wrapper .NET correlato all'eliminazione FileEngine . L'oggetto nativo PolicyEngine è rimasto presente per un certo periodo e tenterebbe un aggiornamento dei criteri, causando un arresto anomalo.
  • Correzione di un bug per cui l'SDK ignorava le etichette applicate dalle versioni precedenti di AIP a causa della proprietà SiteID mancante.

Versione 1.8.97

Data di rilascio: 24 febbraio 2021

  • Correzione di un bug per cui le etichette figlio non venivano filtrate correttamente e includevano tutti i tipi di etichette, anche se non richiesto.
  • Correzione di un bug per cui le etichette non venivano mantenute RemoveProtection() se i metadati delle etichette erano incompleti.

Versione 1.8.94

Data di rilascio: 8 febbraio 2021

  • Correzione di un bug nel pacchetto NuGet in cui la configurazione di debug per i progetti C++ ha distribuito file binari di versione. La versione 1.8.86 può causare un arresto anomalo con app C++ native. Assicurarsi di eseguire l'aggiornamento alla versione 1.8.94 o successiva.
  • Correzione di un bug per cui il motore dei criteri era necessario per rimuovere la protezione.
    • Se il motore dei criteri non può essere caricato e i metadati delle etichette sono presenti, verrà rimosso se la protezione viene rimossa.
  • Correzione di un bug per cui è stato generato vuoto labelInfo.xml se il file è stato modificato in un'altra etichetta protetta.

Versione 1.8.86

Data di rilascio: 13 gennaio 2021

Modifiche generali

  • Aggiunta del supporto per Mac in ARM.
  • Firma di tutti i file dylib per Mac.
  • Tutti i cloud sono completamente supportati in tutti e tre gli SDK.
  • Rinominare TelemetryConfiguration con DiagnosticConfiguration.
  • Aggiornato MipContext per accettare DiagnosticConfiguration invece di TelemetryConfiguration.
  • È stato esposto un nuovo AuditDelegateoggetto .
  • Diverse impostazioni personalizzate hanno modificato il nome e verranno rimosse nella versione 1.9. Continueranno a funzionare in parallelo con i nomi degli aggiornamenti nella versione 1.8.
Nuovo nome Nome precedente
is_debug_audit is_debug_telemetry
is_audit_disabled is_built_in_audit_disabled

File SDK

  • Aggiunta del supporto per le etichette definite dall'utente con crittografia a chiave doppia.
  • Aggiunta di un'API per MsgInspector.BodyType esporre il tipo di codifica del corpo per i file MSG.
  • Aggiunta di API per supportare la crittografia a chiave doppia con autorizzazioni User-Defined.
  • Aggiunta del flag per mip::FileHandler che consentirà al chiamante di disabilitare l'invio dell'evento di individuazione del controllo. In questo modo si risolve uno scenario in cui l'uso dell'API ClassifyAsync() genera eventi di individuazione duplicati.
  • Correzione di bug in cui:
    • L'impostazione della protezione nel file XPS non riesce.
    • Non è possibile aprire un file dopo il caricamento/download da SharePoint Online e la rimozione di autorizzazioni personalizzate.
    • RemoveProtection() la funzione accetterebbe un input message.rpmsg. Ora accetta solo file MSG.
    • Arresto anomalo che si è verificato durante il tentativo di rilevare o revocare file non protetti.

SDK per i criteri

  • Rimosso ActionId dalle proprietà predefinite dei metadati per garantire la coerenza tra i documenti etichettati da Microsoft Office e SharePoint Online.
  • Aggiunta del supporto per le etichette specifiche di Azure Purview.
  • Aggiunta della possibilità di eseguire l'override dei dati di telemetria e del controllo tramite delegati per ognuno di essi.
    • Il delegato di controllo consente di inviare eventi di controllo AIP a una destinazione diversa da AIP Analytics o oltre ad AIP Analytics.
  • Aggiunta del flag per mip::PolicyHandler che consentirà al chiamante di individuare l'invio dell'evento di individuazione del controllo. In questo modo si risolve uno scenario in cui l'uso dell'API ClassifyAsync() genera eventi di individuazione duplicati.
  • Correzione di un bug per cui non è stato possibile aprire il database dei criteri crittografati in determinati scenari.
  • Nuovo esposto AuditDelegate che consente agli sviluppatori di eseguire l'override della pipeline di controllo predefinita di MIP SDK e inviare eventi alla propria infrastruttura.
  • mip::ClassifierUniqueIdsAndContentFormats e GetContentFormat() ora restituiscono std::string invece di mip::ContentFormat. Questa modifica viene replicata nei wrapper .NET e Java.
  • ContentFormat.Default è ora ContentFormat.File.

Protection SDK

  • Aggiunta di una ProtectionEngineSettings.SetAllowCloudServiceOnly proprietà che impedisce le connessioni ai cluster Di Active Directory Rights Management Services se true. Verranno usati solo gli ambienti cloud.
  • Aggiunta del supporto per l'acquisizione delle licenze di delega.
    • Le licenze di delega consentono ai servizi di recuperare una licenza per il contenuto per conto di un utente.
    • Ciò consente al servizio di visualizzare i dati dei diritti e decrittografare per conto dell'utente senza ulteriori chiamate al servizio.

Wrapper Java (anteprima pubblica)

  • Aggiunta del supporto per Track e Revoke a Java Wrapper.
  • Aggiunta del supporto del flusso a Java Wrapper

API C

  • Rimosso MIP_FLIGHTING_FEATURE_KEEP_PDF_LINEARIZATION flag dall'API C.

Versione 1.7.147

File SDK

  • Correzione di bug secondaria per il formato di file PBIX.

Versione 1.7.145

Data di rilascio: 13 novembre 2020

Modifiche generali

  • Aggiornamento del pacchetto NuGet per copiare le dipendenze solo in caso di aggiornamento anziché sempre.
  • La configurazione di debug in .NET userà la versione di rilascio delle librerie native. È stato rilevato che i clienti che distribuiscono soluzioni .NET in modalità di debug nei server remoti sono stati necessari per installare il runtime di debug di VC++, che non è semplice. Se è necessario eseguire il debug in librerie native, copiare le DLL dall'SDK ridistribuibile nella cartella del progetto (https://ala.ms/mipsdkbins)
  • Correzione di un bug che generava avvisi per i progetti .NET Core.

Versione 1.7.133

Data di rilascio: 23 settembre 2020

Modifiche generali dell'SDK

  • Anteprima pubblica disponibile per Java in Windows e Ubuntu 18.04.
  • .NET Core ora supportato in Windows.
  • Supporto dell'anteprima pubblica per .NET Core in Ubuntu 18.04.
  • Registrazione locale migliorata per l'archivio chiavi quando il tipo di cache di archiviazione è impostato su OnDiskEncrypted.
  • Abilitazione della funzionalità in anteprima in .NET Wrapper
  • Comportamento di telemetria dell'SDK ripristinato alla versione precedente alla 1.6. Un set minimo di eventi di utilizzo viene ora inviato quando è stato scelto solo per la telemetria minima.

File SDK

  • Correzione della conversione del corpo UTF-16/UTF-8 in MSGInspector.
  • Impostare un limite massimo di dimensioni massime predefinito per i file protetti da File SDK su 6 GB.
    • Modifica apportata a causa della decrittografia di file di grandi dimensioni che richiedono almeno le dimensioni del file nella memoria disponibile.
    • Può essere sottoposto a override tramite l'impostazione max_file_size_for_protectionpersonalizzata .
  • Aggiunta del supporto per pdf linearizzati.
  • Correzione di un bug per cui LastModifiedDate non è stato aggiornato nell'evento Change.
  • Correzione di una perdita di memoria nella creazione di PDF protetti.
  • File SDK supporta la revoca dei file rilevati.
  • FileEngine::Settings::SetLabelFilter è deprecato, usare ConfigureFunctionality invece.

SDK per i criteri

  • Policy SDK supporta ora le azioni di etichettatura Crittografa solo.
  • Correzione di un bug per cui mip::Identity non è stato caricato correttamente dai motori memorizzati nella cache.
  • Correzione di un bug per cui i confronti GUID di classificazione facevano distinzione tra maiuscole e minuscole nell'API di classificazione.
  • Eventi di controllo arricchiti aggiungendo nuovi campi.

Protection SDK

  • Correzione di un bug per cui mip::Identity non è stato caricato correttamente dai motori memorizzati nella cache.
  • Aggiunta della registrazione implicita per le licenze di pubblicazione appena create.
  • Aggiunta del supporto per gli algoritmi di crittografia usati per supportare DKE nei file di Office.
  • Parametri e owner resi documentId facoltativi.

API C

  • Aggiunta dell'identità mancante e delle API DKE.
  • Spostato AuthDelegate dal profilo al motore in tutti gli SDK.
  • Pubblicare l'esempio di Policy SDK per C
  • MIP_CC_CreateProtectionEngineSettingsWithIdentity è stato deprecato, usare MIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback invece .
  • MIP_CC_CreateProtectionEngineSettingsWithEngineId è stato deprecato, usare MIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback invece .
  • MIP_CC_CreateProtectionProfileSettings la firma è stata modificata.
  • MIP_CC_CreatePolicyEngineSettingsWithIdentity è stato deprecato, usare MIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback.
  • MIP_CC_CreatePolicyEngineSettingsWithEngineId è stato deprecato, usare MIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback.
  • MIP_CC_PolicyEngineSettings_SetLabelFilter è stato deprecato, usare MIP_CC_PolicyEngineSettings_ConfigureFunctionality.
  • MIP_CC_CreatePolicyProfileSettings la firma è stata modificata.

Modifiche di rilievo

Comuni

  • TelemetryConfiguration::isTelemetryOptedOut è stato rinominato in isMinimalTelemetryEnabled.

API C

  • mip_cc_document_state è stato aggiornato con un nuovo valore mip_cc_metadata_version_format contentMetadataVersionFormat

Versione 1.6.103

Data di rilascio: 16 aprile 2020

Modifiche generali dell'SDK

  • TLS 1.2 applicato per tutte le comunicazioni HTTP non ADRMS.
  • È stata eseguita la migrazione dell'implementazione HTTP di iOS/macOS da NSURLConnection a NSURLSession.
  • Componente di telemetria iOS migrato da Aria SDK a 1DS SDK.
  • Il componente telemetria ora usa HttpDelegate di MIP in iOS, macOS e Linux. (in precedenza solo win32).
  • Sicurezza dei tipi migliorata per l'API C.
  • Moved AuthDelegate from Profile to Engine in C++, C#, and Java APIs.
  • AuthDelegate spostato dal costruttore di Profile::Settings a Engine::Settings.
  • Aggiunta di Category a NoPolicyError per fornire altre informazioni sul motivo per cui la sincronizzazione dei criteri non è riuscita.
  • Aggiunta del PolicyEngine::GetTenantId metodo .
  • Aggiunta del supporto esplicito per tutti i cloud.
    • Nuovo Engine::Settings::SetCloud metodo per impostare il cloud di destinazione (GCC High, 21-Vianet e così via).
    • La chiamata al metodo esistente Engine::Settings::SetCloudEndpointBaseUrl non è più necessaria per i cloud riconosciuti.
  • Codice bit abilitato per i file binari iOS.

File SDK

  • Aggiunta IFileHandler::InspectAsync ai wrapper C# e Java
  • Nuovo supporto tramite FileProfile::AcquirePolicyAuthToken per l'attivazione dell'acquisizione di token dei criteri per consentire a un'applicazione di riscaldare la cache dei token.
  • MsgInspector::GetAttachments restituisce vector<shared_ptr<MsgAttachmentData>> invece di vector<unique_ptr<MsgAttachmentData>>
  • TelemetryConfiguration::isOptedOut l'impostazione ora disabilita completamente i dati di telemetria. In precedenza è stato inviato un set di dati di telemetria minimi.

SDK per i criteri

  • Nuovo supporto per l'attivazione dell'acquisizione di token per consentire a un'applicazione di riscaldare la cache dei token tramite PolicyProfile::AcquireAuthToken.
  • Le etichette HYOK vengono filtrate per impostazione predefinita.
  • I metadati associati alle etichette eliminate verranno ora rimossi.
  • Se esiste una mancata corrispondenza tra i criteri di etichetta memorizzati nella cache e i criteri di riservatezza, la cache dei criteri verrà cancellata.
  • Nuovo supporto per i metadati con controllo delle versioni:
    • Un formato di file può riconvalidare il percorso o il formato dei metadati dell'etichetta. In tal caso, un'applicazione deve fornire a MIP tutti i metadati e MIP determinerà quali metadati sono "true".
    • ContentLabel::GetExtendedProperties ora restituisce vector<MetadataEntry> invece di vector<pair<string, string>>.
    • MetadataAction::GetMetadataToAdd ora restituisce vector<MetadataEntry> invece di vector<pair<string, string>>.
    • ExecutionState::GetContentMetadata dovrebbe ora restituire vector<MetadataEntry> invece di vector<pair<string, string>>.
    • ExecutionState::GetContentMetadataVersion deve restituire la versione più elevata dei metadati riconosciuta dall'applicazione per il formato di file corrente (in genere 0).
    • PolicyEngine::GetWxpMetadataVersion restituisce la versione dei metadati per i documenti di Office configurata dall'amministratore del tenant (0 = predefinito, 1 = formato abilitato per la creazione condivisa).
    • Modifiche equivalenti nell'API C:
      • MIP_CC_ContentLabel_GetExtendedProperties
      • MIP_CC_MetadataAction_GetMetadataToAdd
      • mip_cc_metadata_callback
      • mip_cc_document_state
      • MIP_CC_PolicyEngine_GetWxpMetadataVersion
  • TelemetryConfiguration::isOptedOut l'impostazione ora disabilita completamente i dati di telemetria. In precedenza è stato inviato un set di dati di telemetria minimi.

Protection SDK

  • Nuovo supporto per la registrazione e la revoca per il rilevamento dei documenti.
  • Nuovo supporto per la generazione di una pre-licenza durante la pubblicazione.
  • Certificato microsoft TLS pubblico esposto usato dal servizio protezione.
    • GetMsftCert e GetMsftCertPEM
    • Se un'applicazione esegue l'override HttpDelegate dell'interfaccia, deve considerare attendibili i certificati server emessi da questa CA.
    • Questo requisito dovrebbe essere rimosso entro la fine del 2020.

Versione 1.5.124

Data di rilascio: 2 marzo 2020

Modifiche generali dell'SDK

  • API Java (solo Windows)
  • Annullamento di attività MIP asincrone
    • Tutte le chiamate asincrone restituiscono un oggetto mip::AsyncControl con un metodo Cancel()
  • File binari dipendenti con caricamento ritardato
  • Facoltativamente, mascherare proprietà di telemetria/controllo specifiche
    • Configurabile tramite mip::TelemetryConfiguration::maskedProperties
  • Eccezioni migliorate:
    • Tutti gli errori includono ID di correlazione interattivi nella stringa di descrizione
    • Errore di rete con campi 'Category', 'BaseUrl', 'RequestId' e 'StatusCode'
  • Dettagli dei risultati o degli errori dell'API C migliorati

File SDK

  • Verifica senza rete se il file è etichettato o protetto
    • mip::FileHandler::IsLabeledOrProtected()
    • Rischio minore di falsi positivi (ad esempio se il file contiene metadati dell'etichetta zombie)
  • Etichette di filtro associate a tipi specifici di protezione
    • Configurabile tramite mip::FileEngine::Settings::SetLabelFilter()
  • Esporre i dati dei criteri in File SDK
    • mip::FileEngine::GetPolicyDataXml()

SDK per i criteri

  • Contrassegno di contenuto dinamico per le azioni filigrana/intestazione/piè di pagina:
    • Campi come ${Item.Label}, ${Item.Name}, ${User.Name}, ${Event.DateTime} verranno popolati automaticamente da MIP
    • mip::Identity può essere costruito con il campo "name" descrittivo usato dal contrassegno di contenuto dinamico
    • Configurabile tramite mip::P olicyEngine::Settings::SetVariableTextMarkingType()
  • Verifica gratuita della rete se il contenuto è etichettato
    • mip::P olicyHandler::IsLabeled()
    • Rischio minore di falsi positivi (ad esempio, se il contenuto contiene metadati dell'etichetta zombie)
  • TTL cache dei criteri di etichetta
    • Impostazione predefinita: 30 giorni
    • Configurabile tramite mip::P olicyProfile::SetCustomSettings()
  • Modifica importante
    • Aggiornamento di PolicyEngine.Settings.LabelFilter dall'elenco di enumerazioni a un campo di bit nullable.

Protection SDK

  • Pre-licenza
    • L'esistenza di una pre-licenza insieme al contenuto crittografato, insieme a un certificato utente recuperato in precedenza, consente la decrittografia offline del contenuto
    • mip::P rotectionHandler::ConsumptionSettings può essere costruito con una licenza preliminare
    • mip::P rotectionEngine::LoadUserCert| Async() recupera il certificato utente archiviato in base ai criteri di memorizzazione nella cache di mip::P rotectionProfile
  • Controllo delle funzionalità specifico del server
    • Verifica se il tenant dell'utente supporta la funzionalità "solo crittografia" (disponibile solo in Azure RMS)
    • mip::P rotectionEngine::IsFeatureSupported()
  • Dettagli più avanzati durante il recupero di modelli RMS
  • Modifiche di rilievo
    • mip::ProtectionEngine::GetTemplates()vector<shared_ptr<string>> valore restituito sostituito con vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • mip::ProtectionEngine::Observer::OnGetTemplatesSuccess() parametro callback shared_ptr<vector<string>> sostituito con vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • IProtectionEngine.GetTemplates| Valore restituito List<string> Async() sostituito con List<TemplateDescriptor>. (C#)
    • MIP_CC_ProtectionEngine_GetTemplates() mip_cc_guid* parametro sostituito con mip_cc_template_descriptor* (API C)

API C

  • Modifiche di rilievo: la maggior parte delle funzioni aggiornate per includere mip_cc_error* parametro può essere NULL

Aggiornamenti di errore/eccezione

  • Riepilogo della gestione degli errori:
    • AccessDeniedError: all'utente non sono stati concessi diritti di accesso al contenuto
      • NoAuthTokenError: l'app non ha fornito il token di autenticazione
      • NoPermissionsError: all'utente non sono stati concessi diritti per contenuto specifico, ma è disponibile referrer/owner
      • ServiceDisabledError: il servizio è disabilitato per utente/dispositivo/piattaforma/tenant
    • AdhocProtectionRequiredError: la protezione ad hoc deve essere impostata prima di impostare un'etichetta
    • BadInputError: input non valido dall'utente/app
      • InsufficientBufferError: input del buffer non valido dall'utente o dall'app
      • LabelDisabledError: l'ID etichetta viene riconosciuto ma disabilitato per l'uso
      • LabelNotFoundError: ID etichetta non riconosciuto
      • TemplateNotFoundError: ID modello non riconosciuto
    • ConsentDeniedError: operazione che richiede il consenso dell'utente o dell'app non è stata concessa il consenso
    • DeprecatoApiError: questa API è stata deprecata
    • FileIOError: impossibile leggere/scrivere file
    • InternalError: errore interno imprevisto
    • NetworkError
      • ProxyAuthenticationError: è necessaria l'autenticazione proxy
      • Category=BadResponse: risposta HTTP illeggibile restituita dal server (tentativo potrebbe avere esito positivo)
      • Category=Cancelled: impossibile stabilire la connessione HTTP perché l'operazione è stata annullata dall'utente/dall'app (probabilmente il tentativo avrà esito positivo)
      • Category=FailureResponseCode: il server ha restituito una risposta di errore generica (il nuovo tentativo potrebbe avere esito positivo)
      • Category=NoConnection: impossibile stabilire una connessione HTTP (tentativo potrebbe avere esito positivo)
      • Category=Offline: impossibile stabilire una connessione HTTP perché l'applicazione è in modalità offline (tentativi non riusciti)
      • Category=Proxy: non è stato possibile stabilire una connessione HTTP a causa di un problema del proxy (probabilmente il tentativo non riesce)
      • Category=SSL: non è stato possibile stabilire una connessione HTTP a causa di un problema SSL (tentativo probabilmente non riuscito)
      • Category=Throttled: risposta "limitata" restituita dal server (il backoff o il nuovo tentativo avrà probabilmente esito positivo)
      • Category=Timeout: non è stato possibile stabilire una connessione HTTP dopo il timeout (probabilmente il tentativo avrà esito positivo)
      • Category=UnexpectedResponse: il server ha restituito dati imprevisti (tentativi potrebbero avere esito positivo)
    • NoPolicyError: il tenant o l'utente non è configurato per le etichette
    • NotSupportedError: operazione non supportata nello stato corrente
    • OperationCancelledError: Operazione annullata
    • PrivilegedRequiredError: impossibile modificare l'etichetta a meno che il metodo di assegnazione non sia privo di privilegi
  • Modifiche
    • Rimosso PolicySyncError inutilizzato. Sostituito da NetworkError
    • Rimozione di TransientNetworkError inutilizzata. Sostituito dalle categorie NetworkError

Versione 1.4.0

Data di rilascio: 6 novembre 2019

Questa versione introduce il supporto per Protection SDK nel pacchetto .NET (Microsoft.InformationProtection.File).

Modifiche dell'SDK

  • Miglioramenti delle prestazioni e correzioni di bug
  • Enumerazione StorageType rinominata in CacheStorageType
  • Collegamenti Android a libc++ invece di gnustl
  • Api deprecate in precedenza rimosse
    • File/Policy/Profile::Settings deve essere inizializzato con un Oggetto MipContext
    • File/Policy/Profile::Settings path, application info, logger delegate, telemetry e log level getters/setters sono stati rimossi. Queste proprietà sono gestite da MipContext
  • Supporto migliore per la libreria statica nelle piattaforme Apple
    • Librerie statiche monolitiche
      • libmip_file_sdk_static.a
      • libmip_upe_sdk_static.a
      • libmip_protection_sdk_static.a
      • libmip_upe_and_protection_sdk_static.a
    • Dipendenze di terze parti estratte in librerie separate
      • libsqlite3.a
      • libssl.a
  • Rimosso mip_telemetry.dll (unito in mip_core.dll)

File SDK

  • RPMSG
    • Crittografia
    • Aggiunta del supporto per la decrittografia di string8
  • Comportamento dell'estensione PFILE configurabile (impostazione predefinita, {extension}. PFILE o P{extension})
    • ProtectionSettings::SetPFileExtensionBehavior

SDK per i criteri

  • API C completa
  • Configurare il filtro delle etichette associate alla protezione
    • PolicyEngine::Settigns::SetLabelFilter()

Protection SDK

  • Api deprecate in precedenza rimosse
    • Removed ProtectionEngine::CreateProtectionHandlerFromDescriptor[Async] (usare ProtectionEngine::CreateProtectionHandlerForPublishing[Async])
    • Removed ProtectionEngine::CreateProtectionHandlerFromPublishingLicense[Async] (usare ProtectionEngine::CreateProtectionHandlerForConsumption[Async])
  • API C# completa
  • API C completa
    • Modifiche alla normalizzazione delle API C dall'anteprima dell'API C v1.3:
      • Rinominato mip_cc_storage_type in mip_cc_cache_storage_type
      • Ridenominazione di MIP_CC_AddProtectionProfileEngine in MIP_CC_ProtectionProfile_AddEngine
      • Rinominato MIP_CC_CreateProtectionEngineSettingsForExistingEngine in MIP_CC_CreateProtectionEngineSettingsWithEng
      • Ridenominazione di MIP_CC_CreateProtectionEngineSettingsForNewEngine in MIP_CC_CreateProtectionEngineSettingsWithIdentity
      • Rinominato MIP_CC_SetProtectionProfileSettingsHttpDelegate in MIP_CC_ProtectionProfileSettings_SetHttpDelegate
      • Rinominato MIP_CC_CreateProtectionHandlerForConsumption in MIP_CC_ProtectionEngine_CreateProtectionHandlerForConsumption
      • Rinominato MIP_CC_CreateProtectionHandlerForPublishing in MIP_CC_ProtectionEngine_CreateProtectionHandlerForPublishing
      • Rinominato MIP_CC_GetProtectionEngineId in MIP_CC_ProtectionEngine_GetEngineId
      • Rinominato MIP_CC_GetProtectionEngineTemplates in MIP_CC_ProtectionEngine_GetTemplates
      • Rinominato MIP_CC_GetProtectionEngineTemplatesSize in MIP_CC_ProtectionEngine_GetTemplatesSize
      • Ridenominazione di MIP_CC_SetTelemetryConfigurationHttpDelegate in MIP_CC_TelemetryConfiguration_SetHttpDelegate
      • Ridenominazione di MIP_CC_SetTelemetryConfigurationHostName in MIP_CC_TelemetryConfiguration_SetHostName
      • Rinominato MIP_CC_SetTelemetryConfigurationIsLocalCachingEnabled in MIP_CC_TelemetryConfiguration_SetIsLocalCachingEnabled
      • Rinominato MIP_CC_SetTelemetryConfigurationIsNetworkDetectionEnabled in MIP_CC_TelemetryConfiguration_SetIsNetworkDetectionEnabled
      • Rinominato MIP_CC_SetTelemetryConfigurationIsTelemetryOptedOut in MIP_CC_TelemetryConfiguration_SetIsTelemetryOptedOut
      • Rinominato MIP_CC_SetTelemetryConfigurationLibraryName in MIP_CC_TelemetryConfiguration_SetLibraryName
      • Rimosso MIP_CC_ProtectionEngine_GetRightsForLabelIdSize e aggiornato MIP_CC_ProtectionEngine_GetRightsForLabelId per popolare un mip_cc_string_list anziché un buffer di stringhe delimitato da virgole
      • Rimosso MIP_CC_ProtectionHandler_GetRightsSize e aggiornato MIP_CC_ProtectionHandler_GetRights per popolare un mip_cc_string_list anziché un buffer di stringhe delimitato da virgole
      • Aggiunta di MIP_CC_ProtectionEngine_GetEngineIdSize e MIP_CC_ProtectionEngine_GetEngineId aggiornato per popolare un buffer di stringhe anziché un mip_cc_guid
      • MIP_CC_CreateProtectionDescriptorFromUserRights ora accetta il parametro "mip_cc_dictionary-" anziché "mip_cc_dictionary"
      • MIP_CC_ProtectionEngineSettings_SetCustomSettings ora accetta il parametro 'mip_cc_dictionary-' invece di 'mip_cc_dictionary'
      • MIP_CC_ProtectionProfileSettings_SetCustomSettings ora accetta il parametro 'mip_cc_dictionary-' invece di 'mip_cc_dictionary'
      • MIP_CC_TelemetryConfiguration_SetCustomSettings ora accetta il parametro 'mip_cc_dictionary-' invece di 'mip_cc_dictionary'
      • MIP_CC_CreateMipContext i parametri 'isOfflineOnly' e 'loggerDelegateOverride'

Versione 1.3.0

Data di rilascio: 22 agosto 2019

Nuove funzioni e caratteristiche

  • mip::MipContext è il nuovo oggetto di livello più alto.
  • La decrittografia dei file MSG protetti è ora supportata.
  • L'ispezione dei file message.rpmsg è supportata tramite mip::FileInspector e mip::FileHandler::InspectAsync().
  • La cache su disco può ora essere crittografata facoltativamente.
  • Protection SDK supporta ora i clienti cloud cinesi.
  • Supporto arm64 in Android.
  • Supporto di Arm64e in iOS.
  • È ora possibile disabilitare la cache delle licenze per l'utente finale.End-user license (EUL) cache can now be disabled.
  • La crittografia con estensione pfile può essere disabilitata tramite mip::FileEngine::EnablePFile
  • Miglioramento delle prestazioni per le operazioni di protezione riducendo il numero di chiamate HTTP
  • Rimosso i dettagli dell'identità delegata da mip::Identity e aggiunti invece DelegatedUserEmail a mip::FileEngine::Settings, mip::ProtectionSettings, mip::PolicyEngine::Settingse mip::ProtectionHandler.PublishingSettingsConsumptionSettings
  • Le funzioni che in precedenza restituivano LabelId ora restituiscono un mip::Label oggetto .

Modifiche

  • Nelle versioni precedenti è necessario chiamare mip::ReleaseAllResources. La versione 1.3 sostituisce con mip::MipContext::~MipContext o mip::MipContext::Shutdown.
  • Rimosso ActionSource da mip::LabelingOptions e mip::ExecutionState::GetNewLabelActionSource
  • Sostituito mip::ProtectionEngine::CreateProtectionHandlerFromDescriptor con mip::ProtectionEngine::CreateProtectionHandlerForPublishing.
  • Sostituito mip::ProtectionEngine::CreateProtectionHandlerFromPublishingLicense con mip::ProtectionEngine::CreateProtectionHandlerForConsumption.
  • Rinominato mip::PublishingLicenseContextmip::PublishingLicenseInfo in e aggiornato in modo da contenere campi avanzati anziché byte serializzati non elaborati.
  • mip::PublishingLicenseInfo contiene i dati rilevanti per MIP dopo l'analisi di una licenza di pubblicazione (PL).
  • mip::TemplateNotFoundError e mip::LabelNotFoundError generata quando l'applicazione passa un ID modello o un ID etichetta non riconosciuto.
  • Aggiunta del supporto per l'accesso condizionale basato su etichetta tramite il parametro delle attestazioni di AcquireToken() e mip::AuthDelegate::OAuth2Challenge(). Questa funzionalità non è ancora stata esposta tramite il portale del Centro sicurezza e conformità.

Versione 1.2.0

Data di rilascio: 15 aprile 2019

Nuove funzioni e caratteristiche

  • Il componente di telemetria ora usa lo stesso stack HTTP del resto di MIP, anche se l'applicazione client lo ha sottoposto a override con HttpDelegate.
  • Le applicazioni client possono controllare il comportamento di threading delle attività asincrone eseguendo l'override di TaskDispatcherDelegate nei profili.
  • La crittografia RPMSG è ora disponibile in anteprima.
  • Allineare il comportamento di gestione delle eccezioni di File/Policy SDK con Protection SDK:
    • ProxyAuthError generato da tutti gli SDK se un proxy è configurato per richiedere l'autenticazione.
    • NoAuthTokenError generato da tutti gli SDK se il token di autenticazione vuoto viene fornito dall'implementazione dell'applicazione di mip::AuthDelegate::AcquireOAuth2Token.
  • Miglioramento della memorizzazione nella cache HTTP per Policy SDK riduce il numero di chiamate HTTP necessarie per metà.
  • Log,audit/telemetry più avanzati per migliorare il rilevamento e il debug degli errori.
  • Supporto per etichette esterne/esterne per facilitare la migrazione alle etichette AIP.
  • Supporto abilitato per le applicazioni di terze parti per scaricare i tipi di riservatezza da SCC.
  • Sono esposte e configurabili altre impostazioni di telemetria (comportamento di memorizzazione nella cache/threading e così via).

Modifiche dell'SDK

  • mip_common.dll suddiviso in mip_core.dll e mip_telemetry.dll.
  • Rinominato mip::ContentState in mip::D ataState per descrivere come un'applicazione interagisce con i dati a un livello elevato.
  • L'eccezione mip::AdhocProtectionRequiredError viene generata da FileHandler::SetLabel per notificare a un'applicazione che deve prima applicare la protezione ad hoc prima di applicare un'etichetta.
  • L'eccezione mip::OperationCancelledError viene generata quando un'operazione è stata annullata, ad esempio a causa dell'arresto o dell'annullamento HTTP.
  • Nuove 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 restituisce std::vector<uint8_t> anziché 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

Nuovi requisiti

  • è necessario chiamare mip::ReleaseAllResources prima della terminazione del processo (dopo aver cancellato i riferimenti a tutti i profili, motori e gestori)
  • (interface) mip::ExecutionState::GetClassificationResults return type and "classificationIds" parameter has changed
  • (interfaccia) mip::FileExecutionState::GetAuditMetadata può essere implementato dalle applicazioni per specificare informazioni dettagliate da esporre al dashboard di controllo di un amministratore tenant (ad esempio mittente, destinatari, ultima modifica e così via).
  • (interface) mip::FileExecutionState::GetClassificationResults return type has changed, and it now requires a FileHandler parameter
  • (interfaccia) mip::FileExecutionState::GetDataState deve essere implementato dalle applicazioni per specificare come un'applicazione interagisce con contentIdentifier
  • (interface) mip::HttpDelegate interface richiede metodi 'CancelOperation' e 'CancelAllOperations'
  • (interface) mip::HttpDelegate interface 'Send' and 'SendAsync' return mip::HttpOperation invece di mip::HttpResponse
  • (interface) mip::HttpResponse::GetBody restituisce std::vector<uint8_t> anziché std::string
  • (interface) mip::HttpResponse interface richiede l'implementazione del metodo 'GetId'
  • mip::ContentLabel::GetCreationTime restituiscono std::chrono::time_point anziché std::string
  • mip::FileEngine::CreateFileHandlerAsync non accetta più il parametro 'contentIdentifier'
  • mip::P olicyHandler::NotifyCommitedActions rinominato in mip::P olicyHandler::NotifyCommittedActions

Versione 1.1.0

Data di rilascio: 15 gennaio 2019

Questa versione introduce il supporto per le piattaforme seguenti:

  • .NET
  • iOS SDK (Policy SDK)
  • Android SDK (Policy SDK e Protection SDK)

Nuove funzioni e caratteristiche

  • Supporto di ADRMS
  • Le operazioni di Protection SDK sono realmente asincrone (in Win32), consentendo operazioni di crittografia/decrittografia simultanee non bloccanti
    • I callback dell'applicazione (AuthDelegate, HTTPDelegate e così via) possono ora essere richiamati su -any- thread in background
  • Le proprietà delle etichette personalizzate impostate dagli amministratori IT possono ora essere lette tramite mip::Label::GetCustomSettings
  • La licenza di pubblicazione serializzata può ora essere recuperata direttamente da un file senza alcuna operazione HTTP tramite mip::FileHandler::GetSerializedPublishingLicense
  • Le applicazioni ricevono una notifica se è necessaria un'operazione HTTP per completare la creazione di un mip::FileEngine/mip::P olicyEngine tramite mip::FileProfile::Observer::OnAddPolicyEngineStarting/mip::P olicyProfile::Observer::OnAddEngineStarting
  • Rilevamento se il contenuto protetto ha una data di scadenza o meno è stato semplificato con il metodo pratico mip::P rotectionDescriptor::D oesContentExpire
  • Classificazione:
    • I tipi di riservatezza (espressioni regex per CC#, passport #e così via) possono essere acquisiti dal servizio SCC
      • Abilitare la funzionalità impostando il flag mip::FileEngine::Settings/mip::P olicyEngine::Settings
      • Leggere i tipi tramite mip::FileEngine::ListSensitivityTypes/mip::P olicyEngine::ListSensitivityTypes
    • I risultati della classificazione dalle utilità dello scanner di documenti esterni possono essere inseriti in MIP per guidare etichette consigliate/obbligatorie in base al contenuto del documento
      • Passare i risultati a MIP tramite mip::FileExecutionState::GetClassificationResults/mip::ExecutionState::GetClassificationResults
      • mip::ApplyLabelAction e mip::RecommendLabelAction possono essere restituiti da mip::P olicyEngine::ComputeActions quando i risultati della classificazione corrispondono a una regola dei criteri che indica le etichette obbligatorie/consigliate

Nuovi requisiti

  • Popolamento applicato di campi ID/nome/versione mip::ApplicationInfo durante la creazione di mip::FileProfile, mip::P olicyProfile e mip::P rotectionProfile
  • Le applicazioni devono implementare una nuova interfaccia mip::FileExecutionState durante la creazione di mip::FileHandlers

Nuove eccezioni

  • mip::NoAuthTokenError generato se AuthDelegate dell'applicazione restituisce un token vuoto (a causa dell'annullamento)
    • Si applica alla creazione di:
      • mip::FileEngine
      • mip::FileHandler
      • mip::PolicyEngine
      • mip::ProtectionHandler
  • mip::NoPolicyError generato se il tenant non è configurato per le etichette
    • Si applica alla creazione di:
      • mip::FileEngine
      • mip::PolicyEngine
  • mip::ServiceDisabledError generato se il servizio RMS è disabilitato per un utente/dispositivo/piattaforma/tenant specifico
    • Si applica alla creazione di:
      • mip::FileHandler
      • mip::ProtectionHandler
  • mip::NoPermissionsError generato se un utente non dispone dei diritti per decrittografare un documento o il contenuto è scaduto
    • Si applica alla creazione di:
      • mip::FileHandler
      • mip::ProtectionHandler

Passaggi successivi