Histórico de versões e política de suporte do Microsoft Information Protection (MIP) Software Development Kit (SDK)
Manutenção
Cada versão de disponibilidade geral (GA) é suportada por um ano assim que a próxima versão GA é lançada. A documentação pode não incluir informações sobre versões não suportadas. Correções e novas funcionalidades são aplicadas apenas à versão mais recente do GA.
As versões de visualização não devem ser implantadas na produção. Em vez disso, use a versão de visualização mais recente para testar novas funcionalidades ou correções que estão chegando na próxima versão do GA. Apenas a versão de visualização mais recente é suportada.
Histórico de versões
Use as informações a seguir para ver o que há de novo ou alterado para uma versão com suporte. A versão mais atual é listada primeiro.
Os pacotes NuGet para as principais versões permanecem ativos no NuGet. Somente a versão mais recente de cada versão principal é mantida no Centro de Download da Microsoft. Versões anteriores à 1.4 não estão disponíveis.
Observação
Para obter suporte técnico, visite o fórum Stack Overflow Microsoft Information Protection ou abra um caso de suporte com o Suporte da Microsoft.
Versão | Link | Status | Fim do suporte |
---|---|---|---|
1,14 | https://aka.ms/mipsdkbins | Com suporte | TBD |
1.13 | https://aka.ms/mipsdkbins113 | Com suporte | 27 de outubro de 2024 |
1.12 | https://aka.ms/mipsdkbins112 | Fora de suporte | 17 de março de 2024 |
1.11 | https://aka.ms/mipsdkbins111 | Fora de suporte | 9 de junho de 2023 |
1,10 | https://aka.ms/mipsdkbins110 | Fora de suporte | 17 de novembro de 2022 |
1.9 | https://aka.ms/mipsdkbins19 | Fora de suporte | 23 de agosto de 2022 |
1.8 | https://aka.ms/mipsdkbins18 | Fora de suporte | 29 de abril de 2022 |
1.7 | https://aka.ms/mipsdkbins17 | Fora de suporte | 14 de janeiro de 2022 |
1.6 | https://aka.ms/mipsdkbins16 | Fora de suporte | 23 de setembro de 2021 |
1.5 | https://aka.ms/mipsdkbins15 | Fora de suporte | 16 de abril de 2021 |
1.4 | https://aka.ms/mipsdkbins14 | Fora de suporte | 2 de março de 2021 |
Versão 1.14.128
Data de lançamento: 27 de fevereiro de 2024
SDK do arquivo
- Corrigido um bug com caracteres unicode ao consumir arquivos MSG.
- Corrigido um problema em que os caracteres Hangul não eram exibidos corretamente em arquivos MSG.
- Corrigido um bug em que os fluxos não eram alinhados corretamente quando não terminavam nulos.
SDK de proteção
- Adicionado suporte para pré-licenças JSON codificadas em UTF16.
- Adicionada verificação de pré-licenças expiradas com
FlightingFeature::PreLicenseValidityCheck
true padrão. - EUL e pré-licenças atualizadas para expor o nome do rótulo e a descrição do rótulo.
SDK de política
- Atualizada a URL de sincronização de políticas para a nuvem da China.
Atualizações para locatários herdados que migraram do AD RMS para o RMS
- Corrigido um problema em que
LoadUserCert
lançava um erro. - Corrigido um problema que causava licenças de publicação offline corrompidas, que não podiam ser consumidas para descriptografar conteúdo.
- Corrigido um bug em que as pré-licenças de locatário herdadas não eram aceitas pelo SDK de proteção.
Atualizações de plataforma e dependência
- Analisador de URI atualizado para 0.9.7.
- SQLite3 atualizado para 3.45.1.
- Libgsf atualizada para 1.14.52.
Alterações de quebra
- Caminho fixo para o arquivo de configuração de
applicationPath/mipmip_config.json
paraapplicationPath/mip/mip_config.json
. Os aplicativos que usam um arquivo de configuração para mascarar PII em arquivos de log devem atualizar o local do arquivo.
Versão 1.13.209
Data de lançamento: 27 de fevereiro de 2024
SDK do arquivo
- Corrigido um bug com caracteres unicode ao consumir arquivos MSG.
- Corrigido um problema em que os caracteres Hangul não eram exibidos corretamente em arquivos MSG.
- Corrigido um bug em que os fluxos não eram alinhados corretamente quando não terminavam nulos.
SDK de política
- Atualizada a URL de sincronização de políticas para a nuvem da China.
SDK de proteção
- Corrigido um problema em que as licenças eram armazenadas em cache sem e-mails do proprietário.
- Adicionado suporte para pré-licenças JSON codificadas em UTF16.
- Adicionada verificação de pré-licenças expiradas com
FlightingFeature::PreLicenseValidityCheck
true padrão. - Licenças de usuário final (EULs) e pré-licenças atualizadas para expor o nome e a descrição do rótulo.
Atualizações para locatários herdados que migraram do Active Directory Rights Management Service (AD RMS) para o Rights Management Service (RMS)
- Corrigido um problema em que
LoadUserCert
lançava um erro. - Corrigido um problema que causava licenças de publicação offline corrompidas, que não podiam ser consumidas para descriptografar conteúdo.
- Corrigido bug em que uma pré-licença de locatário herdada não era aceita pelo SDK de proteção.
Atualizações de plataforma e dependência
- OpenSSL atualizado para 1.1.1-w de 1.1.1-r.
- Analisador de URI atualizado para 0.9.7.
- SQLite3 atualizado para 3.45.1.
- Libgsf atualizada para 1.14.52.
Alterações de quebra
- Caminho fixo para o arquivo de configuração de
applicationPath/mipmip_config.json
paraapplicationPath/mip/mip_config.json
. Os aplicativos que usam um arquivo de configuração para mascarar PII (Informações Pessoais Identificáveis) em arquivos de log devem atualizar o local do arquivo.
Versão 1.14.108
Data de lançamento: 27 de outubro de 2023
SDK do arquivo
- Corrigido um bug em que .doc arquivos criptografados pelo SharePoint Online (SPO) tinham metadados inválidos.
- Corrigido um problema em que a etiquetagem de arquivos assinados do Office e PDF invalidava a assinatura e não podia ser aberta com alguns editores.
- Corrigido um bug em que a construção de arquivos .msg falhava ao usar MAPI (Messaging Application Programming Interface) para converter alguns arquivos para o formato .msg.
- Corrigido um bug no exemplo de SDK do arquivo MIP em que os arquivos de saída corrompidos não eram excluídos em caso de falha.
- Corrigido um problema em que a descriptografia de arquivos PDF não removeva todos os metadados do rótulo.
- Corrigido um bug em que criptografar arquivos .msg com um corpo vazio lançava uma exceção.
- Corrigido um bug em que .pdf arquivos que começam com comentários são protegidos como .pfiles em vez de arquivos .pdf protegidos nativamente.
- Corrigido um problema em que uma exceção era lançada ao atualizar um rótulo inativo com o mesmo rótulo.
- Exceções adicionadas ao tentar usar operações de política em um mecanismo de arquivos somente de proteção.
SDK de política
- Altere as URLs do serviço de política para direcionar endpoints globais para DoD, GCC-High e nuvens soberanas da China.
SDK de proteção
- Corrigido um bug em que anexos não protegidos por RMS não geravam um erro quando a descriptografia ou a inspeção falhavam para .msg arquivos.
- Corrigido um bug em que EULs válidos por menos de um dia não eram armazenados em cache.
- Adicionado suporte para preservar dados de aplicativos criptografados ao usar a proteção de modelo.
- Adicionado suporte para extração de dados de modelo serializados (Windows/Linux/macOS).
- Habilite o uso: GetTemplatesSettings::SetFetchSerializedTemplates.
- Recuperar usando TemplateDescriptor::GetSerializedTemplate().
- Corrigido um bug em que o armazenamento de certificados do usuário não era criptografado.
- Corrigido um bug em que os dados do aplicativo assinado não eram fornecidos de forma consistente entre a publicação e o consumo.
Atualizações de plataforma e dependência
- Atualizado para Open SSL 3.0 para conformidade com FIPS.
- Corrija um problema em que alguns eventos de auditoria eram descartados.
- Exposto um sinalizador para controlar o temporizador de desligamento máximo para limpeza do cache 1DS.
- Adicionado suporte para mascarar PII em arquivos de log. Por padrão, a PII não é mascarada.
- Defina AllowPii como false no mip_config.json para mascarar PII com um arquivo de configuração. O arquivo de configuração está localizado em mipConfiguration-GetPath>()/mip.
- Adicionado suporte para criptografia CBC de arquivos do Office por padrão.
- Corrigida a exceção do Android em relação ao caminho de localização do recurso.
Alterações de quebra
- Código de erro para arquivos assinados do Office e arquivos PDF assinados alterados de Mip::FileIOError para Mip::NotSupportedError.
- As propriedades do evento de auditoria armazenam o tipo de PII em vez de Nenhum por padrão. Os delegados de auditoria personalizados que esperam que a PII seja Nenhuma exigem atualizações.
- Os dados de aplicativos assinados retornam entradas extras para documentos protegidos por DKE durante a publicação.
- Os arquivos do Office usam criptografia CBC por padrão. Para reverter isso, defina FlightingFeature::UseCbcForOfficeFileEncryption como false.
Versão 1.13.187
Data de lançamento: 15 de agosto de 2023
Correções de bugs
- O MIP SDK agora oculta símbolos para OpenSSL vinculado estaticamente no Linux.
- Corrigido um bug em que arquivos compostos que não eram do Office usavam AES128-ECB se o sinalizador de algoritmos herdados fosse definido. Esses arquivos devem usar AES256-CBC e ignorar o sinalizador de algoritmos herdados.
- Elevado enviar prioridade de eventos de auditoria para o nível mais alto, garantindo que os eventos de auditoria sejam enviados para o ponto de extremidade de auditoria com mais frequência.
Versão 1.13.182
Data de lançamento: 27 de julho de 2023
Correções de bugs
- Corrigido um problema ao remover a proteção de arquivos MSG quando anexos são protegidos com tecnologia não-RMS. Um aviso é lançado em vez de uma exceção.
Versão 1.13.176
Data de lançamento: 10 de junho de 2023
Correções de bugs
- Corrigido um problema em que CommitAsync() não retornava em condições de pouco espaço em disco.
- Corrigido um problema em que a criação do FileHandler para arquivos xlsb falhava quando o arquivo era baixado do SharePoint.
Atualizações de plataforma e dependência
- Adicionado suporte para Ubuntu 22.04.
- Adicionado suporte para Debian 11.
- Adicionado suporte para RedHat Enterprise Linux 9.
- Suporte para Ubuntu 18.04 removido.
- Removido o suporte para Debian 9.
Versão 1.13.161
Data de lançamento: 28 de março de 2023
Correções de bugs
- Corrigido um problema de assinatura no pacote NuGet do .NET.
- Corrigido um problema em
ProtectionProfile
que a configuração de publicação offline estava ausente.
Versão 1.13.158
Data de lançamento: 17 de março de 2023
SDK do arquivo
- Adicionado um sinalizador de recurso que permite que o SDK do MIP publique arquivos e emails do Office no modo de encadeamento de blocos de criptografia.
- Definido com recurso
UseCBCForOfficeFileEncryption
de voo viaMipConfiguration.FeatureSettingsOverride()
.
- Definido com recurso
- Corrigidos problemas com o consumo de encadeamento de blocos de codificação (CBC) modo protegido arquivos e e-mails do Office. O MIP SDK agora pode consumir conteúdo protegido no modo CBC gerado pelo Office.
SDK de proteção
- Adicionado suporte de visualização para publicação offline no SDK de proteção.
- A proteção offline pode ser habilitada definindo
ProtectionProfileSettings.OfflinePublishing
comotrue
em C++ e .NET.
- A proteção offline pode ser habilitada definindo
Alterações de quebra
PublishingSettings
para republicação, exija uma licença de publicação serializada ou umaProtectionHandler
no construtor em vez de ser capaz de definir um ou ambos após a construção.- Removido
SetPublishingLicenseForRepublish
eSetProtectionHandlerForRepublish
. ProtectionDescriptorBuilder
usaSetLabelInfo
em vez deSetLabelId
Insert
método emmip::StorageDelegate
eIStorageDelegate
é substituído porInsertOrReplace
.
Atualização crítica
O MIP SDK 1.13 apresenta suporte para consumir arquivos e e-mails protegidos com AES256-CBC gerados por aplicativos habilitados para Word, Excel, PowerPoint, Outlook, Exchange Online, SharePoint Online e MIP SDK que optaram pela publicação CBC. Se seu aplicativo usa o SDK de arquivo para consumir qualquer um desses formatos, é importante que você atualize o aplicativo para o MIP SDK 1.13. No segundo semestre de 2023, os Aplicativos Microsoft 365, o Exchange Online e o SharePoint Online começam a proteger com AES256-CBC por padrão. Os aplicativos que não foram atualizados não conseguirão descriptografar corretamente arquivos e e-mails.
O MIP SDK 1.13 continua a publicar documentos e emails do Office usando AES128 no modo de livro de códigos eletrônico (BCE). O MIP SDK 1.14 habilita a publicação AES256-CBC por padrão. Se você quiser testar a publicação do CBC com antecedência, habilite o UseCBCForOfficeFileEncryption
sinalizador de recurso via MipConfiguration.FeatureSettingsOverride()
.
Aplicativos que não conseguem atualizar para o MIP SDK 1.13 podem começar a encontrar uma exceção com os seguintes detalhes: Something bad happened: AESCryptoWriter: Failed to transform final block
.
Versão 1.12.101
Data de lançamento: 18 de novembro de 2022
SDK do arquivo
- Corrigido um problema em que a inclusão de caracteres especiais em um nome de rótulo pode fazer com que uma mensagem não possa ser aberta pelo Microsoft Outlook.
- Corrigido um bug quando a proteção era removida para rótulos inativos.
- Corrigido um bug em que a alteração de permissões de rótulo com co-autenticação habilitada produzia documentos protegidos que não podiam ser abertos.
- Atualizado libgsf para 1.14.50 e LibXML2 para 2.9.14.
- Perfis de memória extremos (XMP) atualizados para usar a versão 2.4.7
SDK de política
- Corrigido um bug com exceção de metadados inválida para
ComputeActions
.
SDK de proteção
- Adicionados acessadores para recuperar as URLs da intranet e extranet do
TenantInformation
. - Exposta uma API C para adquirir licenças de delegação.
- Corrigido um bug para metadados de rótulo pai inconsistentes quando rótulos filho são removidos.
- Corrigido um bug de cache de autenticação para
CreateFromLicenseType
o . - Corrija um problema em que o mecanismo que estava sendo limpo durante uma
GetTemplatesAsync()
chamada causaria uma falha. - Adicionado
GetLicenseRightsData
para obter user/objectId/puid e direitos da licença de publicação. - Corrigido um bug em que a tag descritor não podia ser adicionada à licença se não houvesse descritores.
- Corrigida uma falha do .NET no Linux.
- Corrigido um problema de espaço de mesa; um erro agora é relatado quando o MIP fica sem espaço em disco ao proteger o conteúdo.
- Atualizada a dependência do OpenSSL para 1.1.1-r.1.
Atualizações de plataforma e dependência
- Corrigido um bug em que as nuvens não eram tratadas de forma consistente.
- Adicionado suporte para o recurso de visualização de publicação offline.
- Corrigido um bug em que faltavam wrappers na nuvem de telemetria para cenários de nuvem soberana.
- PII removida da telemetria de auditoria de compilações de depuração.
Alterações de quebra
- Se ambos
usersWithDefaultRights
eadditionalUsersAndRights
estiverem vazios,CreateFromLicenseType
lança umBadInputError
arquivo . - Adicionado novos métodos
GetLicenseRightsData
eGetLicenseRightsDataAsync
em sala de aulaProtectionEngine
.
Versão 1.12.61
Data de lançamento: 9 de junho de 2022
SDK do arquivo
- O SDK de arquivos agora oferece suporte ao limite de dados via
FileEngineSettings.DataBoundary
. - Corrigido um bug no
GetCodePage
MsgInspector
. - Corrigido bug onde BodyType sempre retornava TXT em
MsgInspector
. - Corrigido um bug no wrapper Java em que o uso
UserRoles
de java.util.Collections$UnmodifiableCollection não pode ser convertido para a exceção java.util.List . - Corrigido um bug ao descriptografar arquivos >de texto de 2GB com
GetDecryptedTemporaryStreamAsync()
o .
SDK de política
- O SDK de políticas agora oferece suporte ao limite de dados via
PolicyEngineSettings.DataBoundary
. - Corrigido um bug em que, em determinadas condições, as alterações de política resultavam em uma falha.
- Corrigido um problema em que os rótulos Criptografar Somente com proteção DKE não eram filtrados quando deveriam.
SDK de proteção
- Pré-visualização: Adicionado suporte para proteção offline.
- Habilite a proteção offline definindo
ProtectionProfile.OfflinePublishing
como true ao criar umProtectionProfile
arquivo . - Os modelos de cache exigem configuração
ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours)
(C++) ouProtectionEngineSettings.TemplateRefreshArgs
(.NET) para habilitar o cache de modelo de proteção.
- Habilite a proteção offline definindo
- O SDK de proteção agora oferece suporte ao limite de dados por meio de
ProtectionEngineSettings.DataBoundary
Alterações de quebra
FileHandler.SetLabel()
A API não suporta mais arquivos rpmsg como entrada.- Passando um arquivo MSG de texto sem formatação para os
MsgInspector
resultados em um NotSupportedError MsgInpector
não tenta mais descriptografar anexos que fazem parte do arquivo message.rpmsg .MsgInpector
retorna um arquivo MSG totalmente funcional se o arquivo message.rpmsg tiver anexos MSG. Esses arquivos MSG podem ser descriptografados com aFileHandler.RemoveProtection
API.TelemetryDelegate
eAuditDelegate
o método WriteEvent agora requer um segundo parâmetro,EventContext
. AEventContext
classe expõe informações sobre a nuvem de destino e o limite de dados do evento.
Atualizações de plataforma e dependência
- Adicionado suporte em todos os três SDKs para definir o limite de dados da União Europeia.
- Quando
DataBoundary
definido como UE, todos os eventos de telemetria e auditoria fluem diretamente para a região da UE. - A configuração
DataBoundary
para qualquer outra região resulta na emissão de dados para o ponto de entrada de serviço mais próximo.
- Quando
- Atualizado libxml2 para 2.9.13.
- Corrigida uma falha específica para Android.
- Corrigido um problema em que o SDK não estava honrando totalmente o nível de log
Versão 1.11.96
Data de lançamento: 20 de julho de 2022
SDK do arquivo
- Corrigido um bug para
MemoryStream
GetDecryptedTemporaryStream
tipos de arquivos grandes - Corrigido um bug que causava perda de dados durante a criptografia de PDF devido a falha de estouro de pilha
- Com
OptimizePdfMemory
, se /Info for umObjStm
com um objeto indireto interno, ele retornaráPDFPARSER_ERROR_FORMAT
em vez de estouro de pilha
- Com
- Corrigido um bug em que as bibliotecas MIP de suporte não estavam sendo carregadas em Java
- Corrigido um bug em que arquivos MSG com anexos de arquivo MSG protegidos sofriam corrupção quando
rpmsg
a extensão tinha um terminador nulo à direita - Corrigida uma falha em arquivos MSG com anexos de link
- Corrigido um bug em que a sequência do aplicativo de rótulo não era respeitada corretamente usando o aplicativo Cliente Unificado da Proteção de Informações do Azure (AIP) para Windows
- Corrigido um bug em que
RemoveProtection
lançavaLabelDisabledError
exceção informando que o rótulo inativo era especificado - Corrigido um bug em que
DeleteLabel
lançava exceção de metadados inválidos enquanto o arquivo de entrada era protegido por templateID
SDK de política
- Corrigido um problema em que a alteração de política causava uma falha devido à incompatibilidade entre o mapa nativo e gerenciado durante
OnPolicyChanged
a chamada
Alterações de plataforma e dependência
- Corrigido um problema em que os dados de telemetria e auditoria não podiam ser enviados ao usar a interface C# ou Java
- Corrigido um bug em que nuvens com a mesma URL base não eram tratadas de forma consistente
- Versão atualizada do Adobe XMP para 6.0.0 e correção de segurança enviada para a vulnerabilidade de expatriado na função 2.1.0
storeAtts()
- Sinalizador exposto
EnableAuditAndTelemetryForSovereignClouds
para .NET - Corrigida uma falha causada pela integridade do fluxo de controle executando verificações de segurança vtable
- Desativadas essas verificações porque o Android não oferece suporte a verificações vtable entre bibliotecas
- Corrigido um bug no representante de criptografia do Windows para uso após a vulnerabilidade gratuita. Aplica-se somente a aplicativos definidos
EnableFipsValidatedCryptography
no WindowshashObject
vetor estava sendo limpo antes da alça e causou um uso após livre quando a alça foi limpa no destruidor deBcryptData
Versão 1.11.64
Data de lançamento: 12 de janeiro de 2022
SDK do arquivo
- Corrigido um bug em arquivos MSG encapsulados em arquivo usando o formato de conteúdo incorreto.
- Corrigido um bug em que a
Inspector
classe causava uma falha nosrpmsg
arquivos. - Corrigido um bug em que o SDK não estava compactando corretamente arquivos acima de 4GB, resultando em possível corrupção.
SDK de proteção
- Corrigido um problema relacionado à perseguição de registros DNS (Sistema de Nomes de Domínio) para AD RMS no iOS.
Atualizações de plataforma e dependência
- Log4j atualizado em aplicativos de exemplo Java.
- Renomeie arm64 ABI no Android para arm64-v8a
Versão 1.11.53
Data de lançamento: 17 de novembro de 2021
SDK do arquivo
- Corrigido bug em que IsModified() em mip::FileHandler retorna false em vez de true para um texto sem formatação. Arquivo MSG com anexo protegido.
- Corrigido bug Solucionando problemas de formatação XML em metadados que quebravam rótulos sem proteção em certos casos.
SDK de política
- Introduzidos aprimoramentos para evitar deadlocking na Sincronização de Políticas.
Alterações de quebra
Anteriormente, quando um rótulo era configurado para "Não encaminhar" ou "Criptografar somente" e uma ação de proteção de arquivo, o SDK do MIP não exibia o rótulo na lista de rótulos do tipo de conteúdo de arquivo.
- O SDK é atualizado para corrigir esse problema. O rótulo não será filtrado em nenhum dos casos quando configurado para ser aplicado a ambos os tipos de conteúdo.
- Essa alteração não afeta os rótulos em que a ação de proteção era "Somente criptografia" ou "Não encaminhar".
- Por fim, ele não afeta rótulos destinados a arquivos em que a ação foi predefinida ou proteção definida pelo usuário.
Exceções existentes atualizadas para melhor manipulação de cenários específicos. O seguinte anteriormente apareceu como
NetworkError::Category::FailureResponseCode
NetworkError::Category::ServiceUnavailable
- Nova categoria de exceção (
NetworkError
exceção). - Retornado quando o serviço dependente não está disponível.
- Serviço retorna 503
- Nova categoria de exceção (
NetworkError::Category::Throttled
- Exceção:
NetworkError
- Retornado quando muitas solicitações são feitas ao serviço dependente.
- Serviço retorna 429
- Exceção:
Atualizações de plataforma e dependência
- Dependências do SDK atualizadas para as versões mais recentes
- Todos os binários do SDK MIP são atualizados para usar a versão 2.9.12 da biblioteca estática libxml2 e da biblioteca dinâmica libgsf para Android e Windows.
- Introduzido suporte a proxy para Linux. Exemplo de como definir proxy abaixo.
export HTTP_PROXY="http://10.10.10.10:8080"
Versão 1.10.115
Data de lançamento 25 de fevereiro de 2022
- Corrigido um bug em arquivos MSG encapsulados em arquivo usando o formato de conteúdo incorreto.
- Corrigido um bug em que a
Inspector
classe causava uma falha nosrpmsg
arquivos. - Corrigido um bug em que o SDK não estava compactando corretamente arquivos acima de 4GB, resultando em possível corrupção.
- Corrigido um bug na detecção de arquivos MSG protegidos. Os arquivos podem ser protegidos, mas o SDK os trata como texto sem formatação.
Versão 1.10.98
Data de lançamento 29 de setembro de 2021
Correções de bugs
- Corrigido um bug no iOS em que o código de bits não estava ativado
Versão 1.10.97
Data de lançamento: 17 de setembro de 2021
Correções de bugs
- Corrigido um bug em que anexos em arquivos MSG eram corrompidos ao aplicar um rótulo de proteção ao arquivo MSG.
Versão 1.10.93
Data de lançamento: 23 de agosto de 2021
Alterações gerais
- Classe adicionada
MipConfiguration
.- Essa classe controla as definições de configuração definidas anteriormente diretamente no MipContext.
- Delegados, local de registro, etc. são definidos como parte deste objeto.
- Revise os conceitos do MipContext para obter detalhes.
MipContext::Create()
construtor é alterado para aceitar apenas o novoMipConfiguration
objeto.- Revise os conceitos do MipContext para obter detalhes.
- Todas as configurações do mecanismo têm como padrão a localidade en-US se a
.Locale
propriedade estiver definida comonull
. - Corrigido um problema em que o SDK não estava honrando totalmente as configurações de nível de log.
SDK do arquivo
- Adicionado suporte para leitura e gravação de rótulos em arquivos MSG.
- O padrão para rotular esses arquivos é o mesmo que qualquer outro tipo de arquivo.
- A configuração personalizada enable_msg_file_type deve ser definida para habilitar o processamento de arquivos MSG.
- Os anexos são protegidos, mas não rotulados.
- Revise Definir enable_msg_file_type e usar o SDK de Arquivo para proteger .msg arquivo para obter detalhes sobre a configuração personalizada.
FileHandler::IsLabeledOrProtected()
agora suporta arquivos MSG.- O SDK de arquivos agora oferece suporte à descriptografia de anexos protegidos em arquivos MSG desprotegidos.
- Essa alteração se aplica somente a arquivos e não a contêineres, como arquivos MSG ou ZIP.
- Adicionado novo método estático
mip::FileHandler::GetFileStatus()
- Essa função retorna um novo
mip::FileStatus
objeto que indica se o arquivo é rotulado, protegido ou contém objetos protegidos. FileStatus
expõe três propriedades:IsProtected
,IsLabeled
eContainsProtectedObjects
.ContainsProtectedObjects
é útil para arquivos MSG com anexos protegidos.
- Essa função retorna um novo
- Ao chamar
FileHandler::RemoveProtection()
um arquivo MSG de texto sem formatação com anexos protegidos, a proteção é removida dos anexos. - Corrigido um bug que
IProtectionHandler
era destruído ao chamarIFileHandler.SetProtection()
em um loop.IProtectionHandler
A instância não é mais destruída após o uso.
SDK de política
- A variável
${Event.DateTime}
de marcação de conteúdo agora usa como padrão a hora local em vez de UTC.- Essa variável pode ser definida de volta para o padrão anterior usando o recurso
EventDateTimeTokenUseUtc
de voo .
- Essa variável pode ser definida de volta para o padrão anterior usando o recurso
- Corrigido bug em que
IsActive
não retornava os mesmos valores dentro de umPolicyHandler
como era ao recuperar rótulos de umPolicyEngine
arquivo .
SDK de proteção
- Adicionados novos tipos de erro mais específicos que aparecem no SDK de Proteção e de Arquivo. Consulte a seção Alterações de Quebra.
Alterações de quebra
- Introduzidas novas configurações personalizadas para controlar as configurações de auditoria padrão.
- Adicionada nova propriedade no Delegado de auditoria para definir as configurações de auditoria.
LabelGroupData
classe não temIsAuditEnabled()
mais método.- Em vez disso
GetEnableAuditSetting()
, você pode usar para obterEnableAudit
configurações na política depois que a política for carregada. As configurações de auditoria padrão sãoUndefined
diferentes dastrue
versões mais antigas.
- Permita passar o fuso horário do documento para ComputeActions para permitir que as ações sejam computadas como se o documento existisse em um fuso horário diferente da máquina que aplica o rótulo.
- Útil para quando os rótulos são aplicados em nome de um usuário por meio de um serviço, onde a hora local do servidor não é necessariamente a mesma do usuário.
- Em vez de retornar o formato UTC, agora usamos como padrão a
${Event.DateTime}
hora local sem exibir o fuso horário.
- Exceções existentes atualizadas para melhor manipulação de cenários específicos.
NoPermissionsError::Category::NotPremiumLicenseUser
- Anteriormente aflorado como
NoPermissionsError::Category::AccessDenied
- Causada por um usuário não licenciado tentando revogar conteúdo protegido.
- Anteriormente aflorado como
NoPermissionsError::Category::NotOwner
- Anteriormente aflorado como
NoPermissionsError::Category::AccessDenied
- Causada por um usuário tentando revogar um documento que não é de sua propriedade.
- Anteriormente aflorado como
ServiceDisabledError::Extent::Tenant
- Anteriormente aflorado como
ServiceDisabledError::Extent::User
- Retornado quando o serviço Azure Rights Management de destino é desabilitado.
- Anteriormente aflorado como
NoPermissionsError::Category::AccessDenied
- Anteriormente aflorado como
NetworkError::Category::FailureResponseCode
- Retornado quando o usuário não tem direitos de publicação devido a controles de licenciamento ou integração.
- Anteriormente aflorado como
BadInputError::ErrorCode::DoubleKey
- Anteriormente aflorado como
NetworkError::Category::FailureResponseCode
- Retornado quando os parâmetros de criptografia de chave dupla (DKE) estão incorretos.
- Anteriormente aflorado como
CustomerKeyUnavailableError
- Nova exceção.
- Retornado quando o locatário é configurado para trazer sua própria chave (BYOK) e a chave não pode ser alcançada.
- O serviço retorna HTTP424.
NetworkError::Category::FunctionNotImplemented
- Nova exceção.
- Retornado quando o serviço retornou HTTP501 (Não implementado).
- O seguinte anteriormente apareceu como
NetworkError::Category::FailureResponseCode
TemplateArchivedError
: O aplicativo tentou aplicar uma ID de modelo é arquivado.LicenseNotRegisteredError
: A licença de publicação de documentos não está registrada para revogação.NoPermissionsError::Category::UserNotFound
: O usuário fornecido não existe no locatário de destino.NoPermissionsError::Category::InvalidEmail
: Um endereço de e-mail inválido foi fornecido.NoPermissionsError::Category::AccessDenied
: A identidade fornecida não é uma entidade de segurança reconhecida pelo RMS ou não é um delegado válido.BadInputError::ErrorCode::LicenseNotTrusted
: A licença de publicação fornecida não é de um editor confiável. (Não na API C)BadInputError::ErrorCode::ParameterParsing
: Retornado por vários problemas de análise XML, JSON ou outros (não na API C)
Atualizações de plataforma e dependência
- Adicionado suporte para Debian 10.
- Adicionado suporte para Ubuntu 20.04.
Versão 1.9.90
Data de lançamento: 7 de julho de 2021
Alterações gerais
- Corrigido um bug no SDK de arquivos em que documentos herdados não podiam ser descriptografados no Windows de 32 bits.
- Habilite o código de bits em compilações do iOS.
- Ubuntu 16.04 atualizado para usar OpenSSL 1.1.1k.
- Corrigido um problema na descriptografia de arquivos MSG que haviam sido manipulados anteriormente por ferramentas de Descoberta Eletrônica de terceiros.
Versão 1.9.78
Data de lançamento: 29 de abril de 2021
Alterações gerais
- Adicionado um novo parâmetro que permite aos desenvolvedores fornecer IDs de cenário personalizadas para correlacionar erros.
- Caso seja necessário um caso de suporte para diagnosticar um erro do lado do serviço, essa ID de cenário pode ser útil na solução de problemas.
- File SDK: Ao criar um
FileHandler
conjunto de applicationScenarioID viaFileExecutionState
- SDK de proteção: várias APIs agora oferecem suporte à passagem da ID do cenário.
mip::ProtectionCommonSettings(mApplicationScenarioId)
mip::GetTemplatesSettings::CreateGetTemplatesSettings()->SetApplicationScenarioId()
mip::ProtectionHandler::PublishingSettings()->SetApplicationScenarioId()
mip::ProtectionHandler::ConsumptionSettings()->SetApplicationScenarioId()
mip::PolicyEngine::SetSessionId()
- Adicionadas
Workload
verificações de enum e consentimento.- Adicionado
HasWorkloadConsent()
eGetWorkloadConsent()
paraFileEngine
ePolicyEngine
.
- Adicionado
- APIs síncronas adicionadas ao wrapper do .NET do SDK de Política:
AddEngine()
,ListEngines()
,DeleteEngine()
,UnloadEngine()
. - Adicionado suporte para redirecionar solicitações de proteção via
ProtectionProfile::Settings::AddRedirectionUri()
- Adicionado um contexto de registro em log que pode ser usado com
LoggerDelegate
para gravar dados de contexto personalizados em logs.- Essa API pode ser útil para correlacionar eventos de erro em serviços a uma única operação ou eventos.
- As APIs a seguir oferecem suporte ao fornecimento do contexto do registrador:
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()
Atualizações de plataforma e dependência
- Adicionado suporte para CentOS 8
- Adicionado suporte para iOS Frameworks
- OpenSSL atualizado para a versão 1.1.1k
- SQLite atualizado para 3.34.1
Alterações de quebra
- Comportamento de auditoria padrão alterado para locatários em que o AIP Analytics está habilitado. Agora é obrigatório que, além de configurar os componentes do lado do serviço do recurso AIP Analytics, você também defina a propriedade EnableAudit como true nas políticas de rótulo de confidencialidade.
Set-LabelPolicy -Identity Global -AdvancedSettings @{EnableAudit="True"}
- Consulte este artigo do Documentos para obter detalhes sobre como definir configurações avançadas de política.
- Função
GetApplicationScenarioId()
adicionada aoFileExecutionState
. - Enum removido
ContentFormat
. - Adicionados erros específicos com categorias para um conjunto de erros expostos anteriormente em
NetworkError
através de strings/códigos de erro.NoPermissionsError::Category::UserNotFound
NoPermissionsError::Category::AccessDenied
NoPermissionsError::Category::AccessExpired
NoPermissionsError::Category::UserNotFound
Microsoft.RightsManagement.Exceptions.UnknownTenantException
O serviço agora surge comoServiceDisabledError
em vez deNetwork Error
Correções de bugs
- Corrigido um vazamento de memória ao chamar
mip::FileHandler::IsLabeledOrProtected()
o . - Corrigido um bug em que a falha no
FileHandler::InspectAsync()
chamado observador incorreto foi corrigida. - Corrigido um bug em que o SDK tentava aplicar o formato de rótulo de coautoria a formatos do Office que não oferecem suporte à coautoria (DOC, PPT, XLS).
- Corrigida uma falha no wrapper .NET relacionada ao
FileEngine
descarte. O objeto nativoPolicyEngine
permaneceu presente por algum período e tentaria uma atualização de política, resultando em uma falha. - Corrigido um bug em que o SDK ignorava rótulos aplicados por versões mais antigas do AIP devido à propriedade SiteID ausente.
Versão 1.8.97
Data de lançamento: 24 de fevereiro de 2021
- Corrigido um bug em que os rótulos filho não eram filtrados corretamente e incluíam todos os tipos de rótulos, mesmo que não fossem solicitados.
- Corrigido um bug em
RemoveProtection()
que os rótulos não eram mantidos se os metadados do rótulo estivessem incompletos.
Versão 1.8.94
Data de lançamento: 8 de fevereiro de 2021
- Corrigido bug no pacote NuGet em que a configuração de depuração para projetos C++ implantava binários de versão. A versão 1.8.86 pode resultar em uma falha com aplicativos C++ nativos. Certifique-se de atualizar para 1.8.94 ou posterior.
- Corrigido um bug em que o mecanismo de política era necessário para remover a proteção.
- Se o mecanismo de política não puder ser carregado e os metadados de rótulo estiverem presentes, o mecanismo de política será descartado se a proteção for removida.
- Corrigido um bug em que vazio
labelInfo.xml
era gerado se o arquivo fosse alterado para outro rótulo protegido.
Versão 1.8.86
Data de lançamento: 13 de janeiro de 2021
Alterações gerais
- Adicionado suporte para Mac em ARM.
- Assinado todos os arquivos dylib para Mac.
- Todas as nuvens são totalmente suportadas em todos os três kits de desenvolvimento de software (SDKs).
- Renomeie
TelemetryConfiguration
paraDiagnosticConfiguration
. - Atualizado
MipContext
para aceitarDiagnosticConfiguration
em vez deTelemetryConfiguration
. - Novo exposto
AuditDelegate
. - Várias configurações personalizadas tiveram seu nome alterado e foram removidas na versão 1.9. Essas configurações de corte continuam a funcionar em paralelo com seus nomes de atualizações na versão 1.8.
Novo nome | Nome antigo |
---|---|
is_debug_audit | is_debug_telemetry |
is_audit_disabled | is_built_in_audit_disabled |
SDK do arquivo
- Adicionado suporte para rótulos definidos pelo usuário com criptografia de chave dupla.
- Adicionada uma API,
MsgInspector.BodyType
para expor o tipo de codificação de corpo para arquivos MSG. - APIs adicionadas para oferecer suporte à criptografia de chave dupla com permissões definidas pelo usuário.
- Sinalizador adicionado para
mip::FileHandler
isso permite que o chamador desabilite o envio de eventos de descoberta de auditoria. Isso corrige um cenário em que o uso daClassifyAsync()
API resultaria em eventos de descoberta duplicados. - Corrigido bugs onde:
- A configuração da proteção no arquivo XPS falha.
- Um arquivo não pode ser aberto após o upload/download do SharePoint Online e a remoção de permissões personalizadas.
RemoveProtection()
A função aceitaria uma entrada message.rpmsg. Agora aceita apenas arquivos MSG.- Uma falha que ocorreu ao tentar rastrear ou revogar arquivos desprotegidos.
SDK de política
- Removido
ActionId
das propriedades de metadados padrão para garantir a consistência entre os documentos rotulados do Microsoft Office e do SharePoint Online. - Adicionado suporte para rótulos específicos do Azure Purview.
- Capacidade adicional de substituir a telemetria e a auditoria por meio de delegados para cada um.
- O delegado de auditoria fornece a capacidade de enviar eventos de auditoria AIP para um destino diferente do AIP Analytics ou além do AIP Analytics.
- Sinalizador adicionado para
mip::PolicyHandler
isso permite que o chamador descubra o envio de eventos de descoberta de auditoria. Isso corrige um cenário em que o uso daClassifyAsync()
API resultaria em eventos de descoberta duplicados. - Corrigido um bug em que o banco de dados de políticas criptografadas não podia ser aberto em determinados cenários.
- Novo exposto
AuditDelegate
que permite que os desenvolvedores substituam o pipeline de auditoria padrão do SDK MIP e enviem eventos para sua própria infraestrutura. mip::ClassifierUniqueIdsAndContentFormats
eGetContentFormat()
agora voltarstd::string
em vez demip::ContentFormat
. Essa alteração é replicada em wrappers .NET e Java.ContentFormat.Default
agora éContentFormat.File
.
SDK de proteção
- Adicionada uma
ProtectionEngineSettings.SetAllowCloudServiceOnly
propriedade que proíbe qualquer conexão com clusters do Active Directory Rights Management Services quando true. Somente ambientes de nuvem são usados. - Adicionado suporte para aquisição de licenças de delegação.
- As licenças de delegação permitem que os serviços busquem uma licença para conteúdo em nome de um usuário.
- Isso permite que o serviço exiba dados de direitos e descriptografe em nome do usuário sem chamadas adicionais para o serviço.
Java Wrapper (Visualização Pública)
- Adicionado suporte para Rastrear e Revogar para Java Wrapper.
- Adicionado suporte de fluxo ao Java Wrapper
API do C
- Removido MIP_FLIGHTING_FEATURE_KEEP_PDF_LINEARIZATION sinalizador da API C.
Versão 1.7.147
SDK do arquivo
- Correção de pequenos bugs para o formato de
.PBIX
arquivo.
Versão 1.7.145
Data de lançamento: 13 de novembro de 2020
Alterações gerais
- Pacote NuGet atualizado para copiar dependências somente na atualização, em vez de sempre.
- A configuração de depuração no .NET usa a versão de lançamento de bibliotecas nativas. Descobrimos que os clientes que implantavam soluções .NET no modo de depuração em servidores remotos precisavam instalar o tempo de execução de depuração do VC++, o que não é trivial. Se houver necessidade de depurar em bibliotecas nativas, copie as DLLs do SDK Redistributable para a pasta do projeto (https://ala.ms/mipsdkbins)
- Corrigido um bug que estava gerando avisos para projetos do .NET Core.
Versão 1.7.133
Data de lançamento: 23 de setembro de 2020
Alterações gerais do SDK
- Visualização pública disponível para Java no Windows e Ubuntu 18.04.
- O .NET Core agora tem suporte no Windows.
- Suporte de visualização pública para .NET Core no Ubuntu 18.04.
- Registro local aprimorado para Keystore quando o tipo de cache de armazenamento é definido como
OnDiskEncrypted.
- Recurso habilitado no Wrapper do .NET
- Comportamento de telemetria do SDK revertido para pré-1.6. Um conjunto mínimo de eventos de uso agora é enviado quando aceito apenas para telemetria mínima.
SDK do arquivo
- Corrigida a conversão do corpo UTF-16/UTF-8 em
MSGInspector
. - Defina um limite de tamanho máximo de arquivo padrão para arquivos protegidos pelo SDK de arquivos para 6 GB.
- Alteração feita devido à descriptografia de arquivos grandes que exigem pelo menos o tamanho do arquivo na memória disponível.
- Pode ser substituído pela configuração
max_file_size_for_protection
personalizada .
- Adicionado suporte para PDFs linearizados.
- Corrigido um bug em que LastModifiedDate não era atualizado no evento Change.
- Corrigido um vazamento de memória na criação de PDF protegido.
- O SDK de arquivos oferece suporte à revogação de arquivos controlados.
FileEngine::Settings::SetLabelFilter
foi preterido, useConfigureFunctionality
em vez disso.
SDK de política
- O SDK de política agora oferece suporte a ações de rotulagem Criptografar Apenas.
- Corrigido um bug em que
mip::Identity
não era carregado corretamente a partir de mecanismos armazenados em cache. - Corrigido um bug em que as comparações do GUID de classificação diferenciavam maiúsculas de minúsculas na API de classificação.
- Eventos de auditoria enriquecidos adicionando novos campos.
SDK de proteção
- Corrigido um bug em que
mip::Identity
não era carregado corretamente a partir de mecanismos armazenados em cache. - Adicionado registro implícito para licenças de publicação recém-criadas.
- Adicionado suporte para algoritmos criptográficos usados para dar suporte ao DKE em arquivos do Office.
- Feito
documentId
eowner
parâmetros opcionais.
C APIs
- Adicionadas APIs DKE e identidade ausentes.
- Movido
AuthDelegate
de perfil para mecanismo em todos os SDKs. - Exemplo de SDK de política de publicação para C
MIP_CC_CreateProtectionEngineSettingsWithIdentity
foi preterido, useMIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback
em vez disso.MIP_CC_CreateProtectionEngineSettingsWithEngineId
foi preterido, useMIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback
em vez disso.MIP_CC_CreateProtectionProfileSettings
A assinatura mudou.MIP_CC_CreatePolicyEngineSettingsWithIdentity
é preterido, useMIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback
.MIP_CC_CreatePolicyEngineSettingsWithEngineId
é preterido, useMIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback
.MIP_CC_PolicyEngineSettings_SetLabelFilter
é preterido, useMIP_CC_PolicyEngineSettings_ConfigureFunctionality
.MIP_CC_CreatePolicyProfileSettings
A assinatura mudou.
Alterações de quebra
Comum
TelemetryConfiguration::isTelemetryOptedOut
foi renomeado paraisMinimalTelemetryEnabled
.
API do C
mip_cc_document_state
é atualizado com um novo valormip_cc_metadata_version_format
contentMetadataVersionFormat
Versão 1.6.103
Data de lançamento: 16 de abril de 2020
Alterações gerais do SDK
- TLS 1.2 imposto para todas as comunicações HTTP não-ADRMS.
- Migração da implementação HTTP do iOS/macOS de NSURLConnection para NSURLSession.
- Migrado o componente de telemetria do iOS do Aria SDK para o 1DS SDK.
- O componente de telemetria agora usa o HttpDelegate do MIP no iOS, macOS e Linux. (Anteriormente apenas win32).
- Segurança de tipo melhorada para C API.
- Movido AuthDelegate de Perfil para Engine em APIs C++, C# e Java.
- AuthDelegate movido de construtor de
Profile::Settings
paraEngine::Settings
. - Categoria adicionada a NoPolicyError para fornecer mais informações sobre por que a sincronização de políticas falhou.
- Método adicionado
PolicyEngine::GetTenantId
. - Adicionado suporte explícito para todas as nuvens.
- Novo
Engine::Settings::SetCloud
método para definir a nuvem de destino (GCC High, 21-Vianet, etc.). - A chamada de método existente
Engine::Settings::SetCloudEndpointBaseUrl
não é mais necessária para nuvens reconhecidas.
- Novo
- Código de bits ativado para binários do iOS.
SDK do arquivo
- Adicionado
IFileHandler::InspectAsync
a C# e Java Wrappers - Novo suporte
FileProfile::AcquirePolicyAuthToken
via para acionar a aquisição de token de política para permitir que um aplicativo aqueça seu cache de token. MsgInspector::GetAttachments
retornavector<shared_ptr<MsgAttachmentData>>
em vez devector<unique_ptr<MsgAttachmentData>>
TelemetryConfiguration::isOptedOut
A configuração agora desativa completamente a telemetria. Anteriormente, um conjunto de telemetria mínima era enviado.
SDK de política
- Novo suporte para acionar a aquisição de token para permitir que um aplicativo aqueça seu cache de token via
PolicyProfile::AcquireAuthToken
. - Os rótulos Hold Your Own Key (HYOK) são filtrados por padrão.
- Os metadados associados a rótulos excluídos agora são removidos.
- Se houver uma incompatibilidade entre a política de rótulo armazenado em cache e a política de confidencialidade, o cache de política será limpo.
- Novo suporte para metadados versionados:
- Um formato de arquivo pode acelerar o local/formato de seus metadados de rótulo. Nesse caso, um aplicativo deve fornecer MIP com todos os metadados, e MIP determina quais metadados são "true".
ContentLabel::GetExtendedProperties
agora retornavector<MetadataEntry>
em vez devector<pair<string, string>>
.MetadataAction::GetMetadataToAdd
agora retornavector<MetadataEntry>
em vez devector<pair<string, string>>
.ExecutionState::GetContentMetadata
agora deve retornarvector<MetadataEntry>
em vez devector<pair<string, string>>
.ExecutionState::GetContentMetadataVersion
deve retornar a versão mais alta dos metadados que o aplicativo reconhece para o formato de arquivo atual (geralmente 0).PolicyEngine::GetWxpMetadataVersion
retorna a versão de metadados para documentos do Office conforme configurado pelo administrador do locatário (0 = padrão, 1 = formato habilitado para coauth).- Alterações equivalentes na API C:
MIP_CC_ContentLabel_GetExtendedProperties
MIP_CC_MetadataAction_GetMetadataToAdd
mip_cc_metadata_callback
mip_cc_document_state
MIP_CC_PolicyEngine_GetWxpMetadataVersion
TelemetryConfiguration::isOptedOut
A configuração agora desativa completamente a telemetria. Anteriormente, um conjunto de telemetria mínima era enviado.
SDK de proteção
- Novo suporte para registro e revogação para rastreamento de documentos.
- Novo suporte para gerar uma pré-licença ao publicar.
- Certificado Microsoft TLS público exposto usado pelo serviço de proteção.
GetMsftCert
eGetMsftCertPEM
- Se um aplicativo substituir a
HttpDelegate
interface, ele deverá confiar nos certificados de servidor emitidos por essa autoridade de certificação. - Espera-se que essa exigência seja removida no final de 2020.
Versão 1.5.124
Data de lançamento: 2 de março de 2020
Alterações gerais do SDK
- API Java (somente Windows)
- Cancelamento de tarefas MIP assíncronas
- Todas as chamadas assíncronas retornam o objeto mip::AsyncControl com um método Cancel()
- Binários dependentes de carga de atraso
- Opcionalmente, mascare propriedades específicas de telemetria/auditoria
- Configurável via mip::TelemetryConfiguration::maskedProperties
- Exceções melhoradas:
- Todos os erros incluem IDs de correlação acionáveis na cadeia de caracteres de descrição
- O erro de rede tem os campos 'Category', 'BaseUrl', 'RequestId' e 'StatusCode'
- Detalhes aprimorados de resultado/erro da API C
SDK do arquivo
- Verificação sem rede se o arquivo está rotulado ou protegido
- mip::FileHandler::IsLabeledOrProtected()
- Risco menor de falsos positivos (por exemplo, se o arquivo contiver metadados de rótulo zumbi)
- Filtrar etiquetas associadas a tipos específicos de proteção
- Configurável via mip::FileEngine::Settings::SetLabelFilter()
- Expor dados de política ao SDK de Arquivos
- mip::FileEngine::GetPolicyDataXml()
SDK de política
- Marcação de conteúdo dinâmico para ações de marca d'água/cabeçalho/rodapé:
- Campos como ${Item.Label}, ${Item.Name}, ${User.Name}, ${Event.DateTime} são preenchidos automaticamente pelo MIP
- mip::A identidade pode ser construída com o campo "nome" amigável usado pela marcação de conteúdo dinâmico
- Configurável via mip::P olicyEngine::Settings::SetVariableTextMarkingType()
- Verificação sem rede se o conteúdo está rotulado
- mip::P olicyHandler::IsLabeled()
- Risco menor de falsos positivos (por exemplo, se o conteúdo contiver metadados de rótulo zumbi)
- Cache de política de rótulo TTL
- Padrão: 30 dias
- Configurável via mip::P olicyProfile::SetCustomSettings()
- Alteração interruptiva
- PolicyEngine.Settings.LabelFilter atualizado da lista de enums para o campo de bits anulável.
SDK de proteção
- Pré-licença
- A existência de uma pré-licença ao lado do conteúdo criptografado, juntamente com um certificado de usuário recuperado anteriormente, permite a descriptografia offline do conteúdo
- mip::P rotectionHandler::ConsumptionSettings pode ser construído com uma pré-licença
- mip::P rotectionEngine::LoadUserCert|Async() busca o certificado do usuário que é armazenado de acordo com a política de cache do mip::P rotectionProfile
- Verificação de recursos específicos do servidor
- Verifica se o locatário do usuário oferece suporte ao recurso "criptografar apenas" (disponível somente no Azure RMS)
- mip::P rotectionEngine::IsFeatureSupported()
- Detalhes mais ricos ao buscar modelos do RMS
- Alterações interruptivas
mip::ProtectionEngine::GetTemplates()
vector<shared_ptr<string>>
valor de retorno substituído porvector<shared_ptr<mip::TemplateDescriptor>>
(C++)mip::ProtectionEngine::Observer::OnGetTemplatesSuccess()
parâmetro de retorno deshared_ptr<vector<string>>
chamada substituído porvector<shared_ptr<mip::TemplateDescriptor>>
(C++)- IProtectionEngine.GetTemplates|Valor de retorno
List<string>
Async() substituído porList<TemplateDescriptor>
. (C#) - MIP_CC_ProtectionEngine_GetTemplates() mip_cc_guid* param substituído por mip_cc_template_descriptor* (C API)
API do C
- Alterações de quebra: A maioria das funções atualizadas para incluir o parâmetro mip_cc_error*, pode ser NULL
Atualizações de erro/exceção
- Resumo do tratamento de erros:
- AccessDeniedError: O usuário não recebeu direitos para acessar o conteúdo
- NoAuthTokenError: O aplicativo não forneceu token de autenticação
- NoPermissionsError: O usuário não recebeu direitos sobre conteúdo específico, mas o indicador/proprietário está disponível
- ServiceDisabledError: O serviço está desabilitado para usuário/dispositivo/plataforma/locatário
- AdhocProtectionRequiredError: A proteção ad hoc deve ser definida antes de definir um rótulo
- BadInputError: entrada inválida do usuário/aplicativo
- InsufficientBufferError: Entrada de buffer inválida do usuário/aplicativo
- LabelDisabledError: ID do rótulo é reconhecido, mas desabilitado para uso
- LabelNotFoundError: ID de rótulo não reconhecido
- TemplateNotFoundError: ID de modelo não reconhecido
- ConsentDeniedError: Uma operação que exigia consentimento do usuário/aplicativo não recebeu consentimento
- DeprecatedApiError: Esta API foi preterida
- FileIOError: Falha ao ler/gravar arquivo
- InternalError: Falha interna inesperada
- Erro de rede
- ProxyAuthenticationError: A autenticação de proxy é necessária
- Category=BadResponse: O servidor retornou resposta HTTP ilegível (a repetição pode ser bem-sucedida)
- Category=Cancelled: Falha ao estabelecer conexão HTTP porque a operação foi cancelada pelo usuário/aplicativo (a repetição provavelmente é bem-sucedida)
- Category=FailureResponseCode: O servidor retornou uma resposta de falha genérica (a repetição pode ser bem-sucedida)
- Category=NoConnection: Falha ao estabelecer conexão HTTP (a nova tentativa pode ser bem-sucedida)
- Category=Offline: Falha ao estabelecer conexão HTTP porque o aplicativo está no modo offline (a repetição não terá êxito)
- Category=Proxy: Falha ao estabelecer conexão HTTP devido a um problema de proxy (a nova tentativa provavelmente não terá êxito)
- Category=SSL: Falha ao estabelecer conexão HTTP devido a um problema de SSL (a repetição provavelmente não terá êxito)
- Category=Throttled: O servidor retornou a resposta "limitada" (backoff/repetição provavelmente é bem-sucedido)
- Category=Timeout: Falha ao estabelecer conexão HTTP após o tempo limite (a repetição provavelmente é bem-sucedida)
- Category=UnexpectedResponse: O servidor retornou dados inesperados (a nova tentativa pode ser bem-sucedida)
- NoPolicyError: Locatário ou usuário não está configurado para rótulos
- NotSupportedError: Operação não suportada no estado atual
- OperationCancelledError: A operação foi cancelada
- PrivilegedRequiredError: Não é possível modificar o rótulo a menos que o método de atribuição = privilegiado
- AccessDeniedError: O usuário não recebeu direitos para acessar o conteúdo
- Alterações
- PolicySyncError não utilizado removido. Substituído por NetworkError
- Removido TransientNetworkError não utilizado. Substituído pelas categorias NetworkError
Versão 1.4.0
Data de lançamento: 6 de novembro de 2019
Esta versão introduz suporte para o SDK de proteção no pacote .NET (Microsoft.InformationProtection.File).
Alterações SDK
- Melhorias de desempenho e correções de bugs
- Enum StorageType renomeado para CacheStorageType
- Android links para libc++ em vez de gnustl
- APIs preteridas anteriormente removidas
- File/Policy/Profile::Settings deve ser inicializado com um MipContext
- Arquivo/Política/Perfil::Caminho de configurações, informações do aplicativo, delegado do registrador, telemetria e getters/setters no nível de log foram removidos. Essas propriedades são gerenciadas por MipContext
- Melhor suporte a bibliotecas estáticas em plataformas Apple
- Bibliotecas estáticas monolíticas
- libmip_file_sdk_static.a
- libmip_upe_sdk_static.a
- libmip_protection_sdk_static.a
- libmip_upe_and_protection_sdk_static.a
- Dependências de terceiros extraídas em bibliotecas separadas
- libsqlite3.a
- libssl.a
- Bibliotecas estáticas monolíticas
- mip_telemetry.dll removido (mesclado no mip_core.dll)
SDK do arquivo
- RPMSG
- Criptografia
- Adicionado suporte para descriptografia string8
- Comportamento configurável da extensão PFILE (padrão, {extension}. PFILE, ou P{extension})
- ProtectionSettings::SetPFileExtensionBehavior
SDK de política
- API C completa
- Configurar a filtragem de rótulos associados à proteção
- PolicyEngine::Settigns::SetLabelFilter()
SDK de proteção
- APIs preteridas anteriormente removidas
- ProtectionEngine removido::CreateProtectionHandlerFromDescriptor[Async] (use ProtectionEngine::CreateProtectionHandlerForPublishing[Async])
- ProtectionEngine removido::CreateProtectionHandlerFromPublishingLicense[Async] (use ProtectionEngine::CreateProtectionHandlerForConsumption[Async])
- API C# completa
- API C completa
- Alterações de normalização da API C a partir da visualização da API C v1.3:
- Renomeado mip_cc_storage_type para mip_cc_cache_storage_type
- Renomeado MIP_CC_AddProtectionProfileEngine para MIP_CC_ProtectionProfile_AddEngine
- Renomeado MIP_CC_CreateProtectionEngineSettingsForExistingEngine para MIP_CC_CreateProtectionEngineSettingsWithEng
- Renomeado MIP_CC_CreateProtectionEngineSettingsForNewEngine para MIP_CC_CreateProtectionEngineSettingsWithIdentity
- Renomeado MIP_CC_SetProtectionProfileSettingsHttpDelegate para MIP_CC_ProtectionProfileSettings_SetHttpDelegate
- Renomeado MIP_CC_CreateProtectionHandlerForConsumption para MIP_CC_ProtectionEngine_CreateProtectionHandlerForConsumption
- Renomeado MIP_CC_CreateProtectionHandlerForPublishing para MIP_CC_ProtectionEngine_CreateProtectionHandlerForPublishing
- Renomeado MIP_CC_GetProtectionEngineId para MIP_CC_ProtectionEngine_GetEngineId
- Renomeado MIP_CC_GetProtectionEngineTemplates para MIP_CC_ProtectionEngine_GetTemplates
- Renomeado MIP_CC_GetProtectionEngineTemplatesSize para MIP_CC_ProtectionEngine_GetTemplatesSize
- Renomeado MIP_CC_SetTelemetryConfigurationHttpDelegate para MIP_CC_TelemetryConfiguration_SetHttpDelegate
- Renomeado MIP_CC_SetTelemetryConfigurationHostName para MIP_CC_TelemetryConfiguration_SetHostName
- Renomeado MIP_CC_SetTelemetryConfigurationIsLocalCachingEnabled para MIP_CC_TelemetryConfiguration_SetIsLocalCachingEnabled
- Renomeado MIP_CC_SetTelemetryConfigurationIsNetworkDetectionEnabled para MIP_CC_TelemetryConfiguration_SetIsNetworkDetectionEnabled
- Renomeado MIP_CC_SetTelemetryConfigurationIsTelemetryOptedOut para MIP_CC_TelemetryConfiguration_SetIsTelemetryOptedOut
- Renomeado MIP_CC_SetTelemetryConfigurationLibraryName para MIP_CC_TelemetryConfiguration_SetLibraryName
- Removido MIP_CC_ProtectionEngine_GetRightsForLabelIdSize e atualizado MIP_CC_ProtectionEngine_GetRightsForLabelId para preencher um mip_cc_string_list em vez de um buffer de cadeia de caracteres separado por vírgulas
- MIP_CC_ProtectionHandler_GetRightsSize removido e atualizado MIP_CC_ProtectionHandler_GetRights para preencher um mip_cc_string_list em vez de um buffer de cadeia de caracteres separado por vírgulas
- Adicionado MIP_CC_ProtectionEngine_GetEngineIdSize e atualizado MIP_CC_ProtectionEngine_GetEngineId para preencher um buffer de cadeia de caracteres em vez de um mip_cc_guid
- MIP_CC_CreateProtectionDescriptorFromUserRights agora leva 'mip_cc_dictionary-' em vez de 'mip_cc_dictionary'
- MIP_CC_ProtectionEngineSettings_SetCustomSettings agora toma 'mip_cc_dictionary-' em vez de 'mip_cc_dictionary'
- MIP_CC_ProtectionProfileSettings_SetCustomSettings agora leva 'mip_cc_dictionary-' em vez de 'mip_cc_dictionary'
- MIP_CC_TelemetryConfiguration_SetCustomSettings agora toma 'mip_cc_dictionary-' em vez de 'mip_cc_dictionary'
- MIP_CC_CreateMipContext usa os parâmetros 'isOfflineOnly' e 'loggerDelegateOverride'
- Alterações de normalização da API C a partir da visualização da API C v1.3:
Versão 1.3.0
Data de lançamento: 22 de agosto de 2019
Novos recursos
mip::MipContext
é o novo objeto de nível mais alto.- A desencriptação de ficheiros MSG protegidos é agora suportada.
- A inspeção de arquivos message.rpmsg é suportada via
mip::FileInspector
emip::FileHandler::InspectAsync()
. - O cache em disco agora pode ser criptografado opcionalmente.
- O SDK de proteção agora oferece suporte a clientes chineses de nuvem.
- Suporte ARM64 no Android.
- Suporte a ARM64e no iOS.
- O cache de licença de usuário final (EUL) agora pode ser desabilitado.
- A criptografia .pfile pode ser desativada via
mip::FileEngine::EnablePFile
- Melhor desempenho para operações de proteção, reduzindo o número de chamadas HTTP
- Removidos os detalhes de identidade delegada de
mip::Identity
e, em vez disso, adicionadosDelegatedUserEmail
amip::FileEngine::Settings
,mip::ProtectionSettings
,mip::PolicyEngine::Settings
emip::ProtectionHandler
'sPublishingSettings
eConsumptionSettings
. - As funções que anteriormente retornavam LabelId agora retornam um
mip::Label
objeto.
Alterações
- Nas versões anteriores, exigimos que você ligasse para
mip::ReleaseAllResources
. A versão 1.3 substitui isso pormip::MipContext::~MipContext
oumip::MipContext::Shutdown
. - Removido
ActionSource
demip::LabelingOptions
emip::ExecutionState::GetNewLabelActionSource
- Substituído
mip::ProtectionEngine::CreateProtectionHandlerFromDescriptor
pormip::ProtectionEngine::CreateProtectionHandlerForPublishing
. - Substituído
mip::ProtectionEngine::CreateProtectionHandlerFromPublishingLicense
pormip::ProtectionEngine::CreateProtectionHandlerForConsumption
. - Renomeado
mip::PublishingLicenseContext
emip::PublishingLicenseInfo
atualizado para conter campos avançados em vez de bytes serializados brutos. mip::PublishingLicenseInfo
contém os dados relevantes para MIP após a análise de uma licença de publicação (PL).mip::TemplateNotFoundError
emip::LabelNotFoundError
lançado quando o aplicativo passa MIP um ID de modelo ou ID de rótulo que não é reconhecido.- Adicionado suporte para acesso condicional baseado em rótulo por meio do parâmetro claims de
AcquireToken()
emip::AuthDelegate::OAuth2Challenge()
. Essa funcionalidade ainda não foi exposta por meio do portal do centro de conformidade.
Versão 1.2.0
Data de lançamento: 15 de abril de 2019
Novos recursos
- O componente de telemetria agora usa a mesma pilha HTTP que o restante do MIP, mesmo que o aplicativo cliente o tenha substituído por HttpDelegate.
- Os aplicativos cliente podem controlar o comportamento de threading de tarefas assíncronas substituindo TaskDispatcherDelegate em Perfis.
- Criptografia RPMSG agora em visualização.
- Alinhe o comportamento de manipulação de exceções do SDK de Arquivo/Política com o SDK de Proteção:
- ProxyAuthError gerado por todos os SDKs se um proxy estiver configurado para exigir autenticação.
- NoAuthTokenError lançado por todos os SDKs se o token de autenticação vazio for fornecido pela implementação do aplicativo de mip::AuthDelegate::AcquireOAuth2Token.
- O cache HTTP aprimorado para o SDK de diretiva reduz o # de chamadas HTTP necessárias pela metade.
- Logs/auditoria/telemetria mais avançados para melhor detecção e depuração de falhas.
- Suporte a etiquetas externas/estrangeiras para facilitar a migração para etiquetas AIP.
- Habilitado o suporte para aplicativos de terceiros para baixar tipos de sensibilidade do SCC.
- Mais configurações de telemetria são expostas e configuráveis (comportamento de cache/threading, etc.).
Alterações no SDK
- mip_common.dll dividido em mip_core.dll e mip_telemetry.dll.
- Renomeado mip::ContentState para mip::D ataState para descrever como um aplicativo interage com dados em um alto nível.
- A exceção mip::AdhocProtectionRequiredError é lançada por FileHandler::SetLabel para notificar um aplicativo de que ele deve primeiro aplicar proteção ad hoc antes de aplicar um rótulo.
- A exceção mip::OperationCancelledError é lançada quando uma operação é cancelada (por exemplo, devido a desligamento ou cancelamento HTTP).
- Novas APIs:
- mip::ClassificationResult::GetSensitiveInformationDetections
- mip::FileEngine::GetLastPolicyFetchTime
- mip::FileEngine::GetDefaultSensitivityLabel
- mip::FileEngine::GetPolicyId
- mip::FileEngine::HasClassificationRules
- mip::FileEngine::Configurações::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 retorna std::vector<uint8_t> em vez de std::string
- mip::HttpRequest::GetId
- mip::P olicyEngine::GetLastPolicyFetchTime
- mip::P olicyEngine::GetPolicyId
- mip::P olicyEngine::HasClassificationRules
- mip::P olicyEngine::Configurações::SetCloudEndpointBaseUrl
- mip::P rotectionDescriptor::GetContentId
- (interface) mip::TaskDispatcherDelegate
Novos requisitos
- mip::ReleaseAllResources deve ser chamado antes do término do processo (depois de limpar referências a todos os perfis, mecanismos e manipuladores)
- (interface) mip::ExecutionState::GetClassificationResults return type e o parâmetro "classificationIds" foi alterado
- (interface) mip::FileExecutionState::GetAuditMetadata pode ser implementado por aplicativos para especificar informações detalhadas a serem exibidas no painel de auditoria de um administrador locatário (por exemplo, remetente, destinatários, última modificação, etc.)
- (interface) mip::FileExecutionState::GetClassificationResults tipo de retorno foi alterado e agora requer um parâmetro FileHandler
- (interface) mip::FileExecutionState::GetDataState deve ser implementado por aplicativos para especificar como um aplicativo está interagindo com contentIdentifier
- (interface) mip::HttpDelegate interface requer os métodos 'CancelOperation' e 'CancelAllOperations'
- (interface) mip::HttpDelegate interface 'Send' e 'SendAsync' retornam mip::HttpOperation em vez de mip::HttpResponse
- (interface) mip::HttpResponse::GetBody retorna std::vector<uint8_t> em vez de std::string
- (interface) mip::HttpResponse interface requer implementação do método 'GetId'
- mip::ContentLabel::GetCreationTime retorna std::chrono::time_point em vez de std::string
- mip::FileEngine::CreateFileHandlerAsync não aceita mais o parâmetro 'contentIdentifier'
- mip::P olicyHandler::NotifyCommitedActions renomeado para mip::P olicyHandler::NotifyCommittedActions
Version 1.1.0
Data de lançamento: 15 de janeiro de 2019
Esta versão introduz suporte para as seguintes plataformas:
- .NET
- SDK do iOS (SDK de Política)
- SDK do Android (SDK de Política e SDK de Proteção)
Novos recursos
- Suporte a ADRMS
- As operações do SDK de proteção são verdadeiramente assíncronas (no Win32), permitindo operações simultâneas de criptografia/descriptografia sem bloqueio
- Os retornos de chamada do aplicativo (AuthDelegate, HTTPDelegate, etc.) agora podem ser invocados em -any- thread em segundo plano
- As propriedades de rótulo personalizadas definidas pelos administradores de TI agora podem ser lidas via mip::Label::GetCustomSettings
- A licença de publicação serializada agora pode ser recuperada diretamente de um arquivo sem operações HTTP via mip::FileHandler::GetSerializedPublishingLicense
- Os aplicativos são notificados se uma operação HTTP é necessária para concluir a criação de um mip::FileEngine/mip::P olicyEngine via mip::FileProfile::Observer::OnAddPolicyEngineStarting/mip::P olicyProfile::Observer::OnAddEngineStarting
- A detecção de se o conteúdo protegido tem uma data de validade ou não é simplificada com o método de conveniência mip::P rotectionDescriptor::D oesContentExpire
- Classificação:
- Os tipos de sensibilidade (expressões regex para CC#'s, passport #'s, etc.) podem ser adquiridos do serviço SCC
- Habilite o recurso definindo o sinalizador mip::FileEngine::Settings/mip::P olicyEngine::Settings
- Tipos de leitura via mip::FileEngine::ListSensitivityTypes/mip::P olicyEngine::ListSensitivityTypes
- Os resultados de classificação de utilitários de scanner de documentos externos podem ser alimentados ao MIP para acionar etiquetas recomendadas/obrigatórias com base no conteúdo do documento
- Passar resultados para MIP via mip::FileExecutionState::GetClassificationResults/mip::ExecutionState::GetClassificationResults
- mip::ApplyLabelAction e mip::RecommendLabelAction podem ser retornados por mip::P olicyEngine::ComputeActions quando os resultados da classificação correspondem a uma regra de política que indica rótulos obrigatórios/recomendados
- Os tipos de sensibilidade (expressões regex para CC#'s, passport #'s, etc.) podem ser adquiridos do serviço SCC
Novos requisitos
- População imposta dos campos ID/nome/versão mip::ApplicationInfo ao criar mip::FileProfile, mip::P olicyProfile e mip::P rotectionProfile
- Os aplicativos devem implementar a nova interface mip::FileExecutionState ao criar mip::FileHandlers
Novas exceções
- mip::NoAuthTokenError lançado se AuthDelegate do aplicativo retornar um token vazio (devido ao cancelamento)
- Aplica-se à criação de:
- mip::Mecanismo de Arquivos
- mip::FileHandler
- mip: :P olicyEngine
- mip::P rotectionHandler
- Aplica-se à criação de:
- mip::NoPolicyError lançado se o locatário não estiver configurado para rótulos
- Aplica-se à criação de:
- mip::Mecanismo de Arquivos
- mip: :P olicyEngine
- Aplica-se à criação de:
- mip::ServiceDisabledError lançado se o serviço RMS estiver desabilitado para um usuário/dispositivo/plataforma/locatário específico
- Aplica-se à criação de:
- mip::FileHandler
- mip::P rotectionHandler
- Aplica-se à criação de:
- mip::NoPermissionsErro lançado se um usuário não tiver direitos para descriptografar um documento ou se o conteúdo tiver expirado
- Aplica-se à criação de:
- mip::FileHandler
- mip::P rotectionHandler
- Aplica-se à criação de:
Próximas etapas
- Consulte Perguntas frequentes e problemas do SDK do MIP para obter informações sobre plataformas suportadas e muito mais.
- Consulte Instalação e configuração do SDK do MIP para obter informações sobre como começar a usar o SDK do MIP.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de