Conceito - Efetuando login no SDK MIP
A solução de problemas de aplicativos personalizados que consomem o SDK MIP começa com a inspeção de logs MIP. O local do log MIP é configurado na criação do MipContext e pode ser consultado com a extensão de arquivo *.miplog. Os aplicativos e exemplos da Microsoft armazenam logs MIP no caminho do aplicativo\APP_DATA\mip_data.
Mascarar dados confidenciais em logs MIP
Os logs no SDK do MIP não mascaram conteúdo confidencial que pode ser pessoalmente identificável para um cliente sem configuração extra.
Dados confidenciais comuns em logs do SDK do MIP:
- Nomes de e-mail
- Nomes de arquivo
- Nomes de rótulos
- Endereços IP
- Endereços MAC
Para mascarar conteúdo confidencial em todos os arquivos miplog gerados pelo SDK MIP, crie um novo campo no arquivo de .json de configuração ou configure em MipConfiguration.
Arquivo de configuração
Os arquivos de configuração são o caminho recomendado para definir configurações personalizadas no SDK do MIP e estão disponíveis em todas as plataformas com suporte. Para mascarar PII em arquivos de log MIP, use o seguinte método.
- Crie um arquivo de configuração acessível pelo SDK do MIP para configurações personalizadas chamadas
mip_config.json
e armazene o arquivo no seguinte caminho MipConfiguration .
mipConfiguration->GetPath()/mip
- Adicione um novo campo para
mip_config.json
definir oAllowPii
campo como false.
{"MipLogger":{"MaxLogFilesSizeMb":40,"MaxLogFileCount":10,"AllowPii":false}}
Depois de configurado, o conteúdo confidencial é mascarado em todos os novos logs MIP gerados pelo SDK do MIP.
Configurar em MipConfiguration
Para mascarar PII em arquivos de log MIP com MipConfiguration, crie um novo MipConfiguration
objeto para passar MipContext
com novos valores para as configurações personalizadas.
Esse método é suportado apenas para C++ e C#. Os desenvolvedores que usam a API C ou wrappers Java são recomendados para criar um arquivo de configuração.
auto mipConfiguration = make_shared<mip::MipConfiguration>(appInfo, "mip_data", mip::LogLevel::Trace, false);
auto loggerConfiguration = make_shared<mip::LoggerConfiguration>();
loggerConfiguration->isPiiAllowed = false;
mipConfiguration->SetLoggerConfiguration(loggerConfiguration);
auto mipContext = MipContext::Create(mipConfiguration);
MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false);
mipConfiguration.LoggerConfigurationOverride = new LoggerConfiguration(10, 40, false);
var mipContext = MIP.CreateMipContext(mipConfiguration);