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 para applicationPath/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 para applicationPath/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 via MipConfiguration.FeatureSettingsOverride().
  • 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 como true em C++ e .NET.

Alterações de quebra

  • PublishingSettings para republicação, exija uma licença de publicação serializada ou uma ProtectionHandler no construtor em vez de ser capaz de definir um ou ambos após a construção.
  • Removido SetPublishingLicenseForRepublish e SetProtectionHandlerForRepublish.
  • ProtectionDescriptorBuilder usa SetLabelInfo em vez de SetLabelId
  • Insert método em mip::StorageDelegate e IStorageDelegate é substituído por InsertOrReplace.

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 CreateFromLicenseTypeo .
  • 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 e additionalUsersAndRights estiverem vazios, CreateFromLicenseType lança um BadInputErrorarquivo .
  • Adicionado novos métodos GetLicenseRightsData e GetLicenseRightsDataAsync em sala de aula ProtectionEngine.

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 GetCodePageMsgInspector.
  • 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 um ProtectionProfilearquivo .
    • Os modelos de cache exigem configuração ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours) (C++) ou ProtectionEngineSettings.TemplateRefreshArgs (.NET) para habilitar o cache de modelo de proteção.
  • 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 .
  • MsgInpectorretorna um arquivo MSG totalmente funcional se o arquivo message.rpmsg tiver anexos MSG. Esses arquivos MSG podem ser descriptografados com a FileHandler.RemoveProtection API.
  • TelemetryDelegate e AuditDelegateo método WriteEvent agora requer um segundo parâmetro, EventContext. A EventContext 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.
  • 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 MemoryStreamGetDecryptedTemporaryStream 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 um ObjStm com um objeto indireto interno, ele retornará PDFPARSER_ERROR_FORMAT em vez de estouro de pilha
  • 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çava LabelDisabledError 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 Windows
    • hashObject vetor estava sendo limpo antes da alça e causou um uso após livre quando a alça foi limpa no destruidor de BcryptData

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 nos rpmsg 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
    • NetworkError::Category::Throttled
      • Exceção: NetworkError
      • Retornado quando muitas solicitações são feitas ao serviço dependente.
      • Serviço retorna 429

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 nos rpmsg 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 novo MipConfiguration objeto.
  • Todas as configurações do mecanismo têm como padrão a localidade en-US se a .Locale propriedade estiver definida como null.
  • 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, IsLabelede ContainsProtectedObjects.
    • ContainsProtectedObjects é útil para arquivos MSG com anexos protegidos.
  • 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 chamar IFileHandler.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 EventDateTimeTokenUseUtcde voo .
  • Corrigido bug em que IsActive não retornava os mesmos valores dentro de um PolicyHandler como era ao recuperar rótulos de um PolicyEnginearquivo .

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 tem IsAuditEnabled() mais método.
    • Em vez disso GetEnableAuditSetting() , você pode usar para obter EnableAudit configurações na política depois que a política for carregada. As configurações de auditoria padrão são Undefined diferentes das true 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.
    • NoPermissionsError::Category::NotOwner
      • Anteriormente aflorado como NoPermissionsError::Category::AccessDenied
      • Causada por um usuário tentando revogar um documento que não é de sua propriedade.
    • ServiceDisabledError::Extent::Tenant
      • Anteriormente aflorado como ServiceDisabledError::Extent::User
      • Retornado quando o serviço Azure Rights Management de destino é desabilitado.
    • 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.
    • BadInputError::ErrorCode::DoubleKey
      • Anteriormente aflorado como NetworkError::Category::FailureResponseCode
      • Retornado quando os parâmetros de criptografia de chave dupla (DKE) estão incorretos.
    • 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 via FileExecutionState
    • 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() e GetWorkloadConsent() para FileEngine e PolicyEngine.
  • 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 ou ExecuteTaskOnIndependentThread
      • FileEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileHandler::IsProtected()
      • FileHandler::IsLabeledOrProtected()
      • FileHanlder::GetSerializedPublishingLicense()
      • PolicyHandler::IsLabeled()

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 ao FileExecutionState.
  • 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 como ServiceDisabledError em vez de Network 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 nativo PolicyEngine 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 para DiagnosticConfiguration.
  • Atualizado MipContext para aceitar DiagnosticConfiguration em vez de TelemetryConfiguration.
  • 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 da ClassifyAsync() 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 da ClassifyAsync() 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 e GetContentFormat() agora voltar std::string em vez de mip::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_protectionpersonalizada .
  • 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, use ConfigureFunctionality 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 e owner 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, use MIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback em vez disso.
  • MIP_CC_CreateProtectionEngineSettingsWithEngineId foi preterido, use MIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback em vez disso.
  • MIP_CC_CreateProtectionProfileSettings A assinatura mudou.
  • MIP_CC_CreatePolicyEngineSettingsWithIdentity é preterido, use MIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback.
  • MIP_CC_CreatePolicyEngineSettingsWithEngineId é preterido, use MIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback.
  • MIP_CC_PolicyEngineSettings_SetLabelFilter é preterido, use MIP_CC_PolicyEngineSettings_ConfigureFunctionality.
  • MIP_CC_CreatePolicyProfileSettings A assinatura mudou.

Alterações de quebra

Comum

  • TelemetryConfiguration::isTelemetryOptedOut foi renomeado para isMinimalTelemetryEnabled.

API do C

  • mip_cc_document_state é atualizado com um novo valor mip_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 para Engine::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.
  • 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 retorna vector<shared_ptr<MsgAttachmentData>> em vez de vector<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 retorna vector<MetadataEntry> em vez de vector<pair<string, string>>.
    • MetadataAction::GetMetadataToAdd agora retorna vector<MetadataEntry> em vez de vector<pair<string, string>>.
    • ExecutionState::GetContentMetadata agora deve retornar vector<MetadataEntry> em vez de vector<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 e GetMsftCertPEM
    • 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 por vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • mip::ProtectionEngine::Observer::OnGetTemplatesSuccess() parâmetro de retorno de shared_ptr<vector<string>> chamada substituído por vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • IProtectionEngine.GetTemplates|Valor de retorno List<string> Async() substituído por List<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
  • 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
  • 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'

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 e mip::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, adicionados DelegatedUserEmail a mip::FileEngine::Settings, mip::ProtectionSettings, mip::PolicyEngine::Settingse mip::ProtectionHandler's PublishingSettings e ConsumptionSettings.
  • 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 por mip::MipContext::~MipContext ou mip::MipContext::Shutdown.
  • Removido ActionSource de mip::LabelingOptions e mip::ExecutionState::GetNewLabelActionSource
  • Substituído mip::ProtectionEngine::CreateProtectionHandlerFromDescriptor por mip::ProtectionEngine::CreateProtectionHandlerForPublishing.
  • Substituído mip::ProtectionEngine::CreateProtectionHandlerFromPublishingLicense por mip::ProtectionEngine::CreateProtectionHandlerForConsumption.
  • Renomeado mip::PublishingLicenseContext e mip::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 e mip::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() e mip::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

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
  • 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
  • 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
  • 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

Próximas etapas