Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os aplicativos Biblioteca do Microsoft Authenticator (MSAL) geram mensagens de log que podem ajudar a diagnosticar problemas. Um aplicativo pode configurar o registro em log com algumas linhas de código e ter controle personalizado sobre o nível de detalhes e se os dados pessoais e organizacionais são registrados ou não. Recomendamos que você crie uma implementação de registro em log do MSAL e ofereça uma forma de os usuários enviarem logs quando tiverem problemas de autenticação.
O logging no MSAL Python foi projetado para usar os mecanismos padrão de logging do Python, portanto, todo o seu conhecimento anterior sobre logging em Python se aplica ao MSAL Python.
- Por padrão, o log em qualquer Python script está desativado. Se você quiser habilitar o log de depuração para TODOS os módulos em todo o seu script Python, use
logging.basicConfig(level=logging.DEBUG). - A maioria dos logs da MSAL Python já está no nível de depuração, que fica desativado por padrão. Mas, se você quiser habilitar o log de depuração para depurar os OUTROS módulos no seu script Python e, portanto, quiser silenciar o MSAL, basta desativar o logger usado pelo MSAL Python:
logging.getLogger("msal").setLevel(logging.WARN). - O Python msal não registra informações de identificação pessoal (PII). Então, não há nem mesmo uma opção para ativar o registro de PII no MSAL para Python. Os desenvolvedores de aplicativos ainda podem usar o módulo de logging padrão do Python para registrar qualquer conteúdo. Ao fazer isso, o aplicativo assume a responsabilidade de lidar com dados altamente confidenciais com segurança e seguir os requisitos regulatórios.
Níveis de log
MSAL fornece vários níveis de detalhamento de log:
-
LogAlways: nenhuma filtragem de nível é feita neste nível de log. Mensagens de log de todos os níveis serão registradas. -
Critical: logs que descrevem uma falha irrecuperável de um aplicativo ou do sistema, ou uma falha catastrófica que requer atenção imediata. -
Error: indica que algo deu errado e um erro foi gerado. Usado para depurar e identificar problemas. -
Warning: não houve necessariamente um erro ou falha, mas se destinam ao diagnóstico e à identificação de problemas. -
Informational: o MSAL registrará eventos para fins informativos, não necessariamente para depuração. -
Verbose(Padrão): a MSAL registra todos os detalhes do comportamento da biblioteca.
Note
Nem todos os níveis de log estão disponíveis para todas as bibliotecas MSAL.
Dados pessoais e organizacionais
Por padrão, o logger da MSAL não registra dados pessoais ou organizacionais altamente sensíveis. A biblioteca fornece a opção de habilitar o registro em log de dados pessoais e organizacionais se você decidir fazer isso.
As seções a seguir fornecem mais detalhes sobre o registro de erros em log do MSAL para o seu aplicativo.
MSAL para registro em log de Python
O log no MSAL para Python usa o módulo logging na biblioteca padrão do Python. Você pode configurar os logs da MSAL da seguinte forma (e vê-los em ação no username_password_sample):
Habilitar o log de depuração para todos os módulos
Por padrão, o log em qualquer Python script está desativado. Se você quiser habilitar o log detalhado para todos os módulos Python no seu script, use logging.basicConfig com um nível de logging.DEBUG:
import logging
logging.basicConfig(level=logging.DEBUG)
Isso imprimirá todas as mensagens de log fornecidas ao módulo de log para a saída padrão.
Configurar o nível de log da MSAL
Você pode configurar o nível de log do provedor de logs do MSAL para Python usando o método logging.getLogger() com o nome do logger "msal":
import logging
logging.getLogger("msal").setLevel(logging.WARN)
Configurar o log da MSAL com o Azure App Insights
Os logs do Python são enviados a um handler de log, que por padrão é o StreamHandler. Para enviar logs do MSAL para o Application Insights com uma chave de instrumentação, use o AzureLogHandler fornecido pela biblioteca opencensus-ext-azure.
Para instalar, opencensus-ext-azure adicione o opencensus-ext-azure pacote do PyPI às dependências ou à instalação do pip:
pip install opencensus-ext-azure
Em seguida, altere o manipulador padrão do provedor de log "msal" para uma instância de AzureLogHandler com uma chave de instrumentação definida na variável de ambiente APP_INSIGHTS_KEY:
import logging
import os
from opencensus.ext.azure.log_exporter import AzureLogHandler
APP_INSIGHTS_KEY = os.getenv('APP_INSIGHTS_KEY')
logging.getLogger("msal").addHandler(AzureLogHandler(connection_string='InstrumentationKey={0}'.format(APP_INSIGHTS_KEY)))
Dados pessoais e organizacionais no Python
A MSAL para Python não registra dados pessoais nem dados organizacionais. Não há nenhuma propriedade para ativar ou desativar o registro de dados pessoais ou da organização.
Você pode usar o log de Python padrão para registrar em log o que quiser, mas é responsável por lidar com dados confidenciais com segurança e seguir os requisitos regulatórios.
Para obter mais informações sobre como fazer logon no Python, consulte Python's Logging: how-to.