Bejelentkezés az MSAL for Python használatával

A Microsoft Authentication Library (MSAL) alkalmazások olyan naplóüzeneteket hoznak létre, amelyek segíthetnek a problémák diagnosztizálásában. Az alkalmazások néhány sornyi kóddal konfigurálhatják a naplózást, és egyéni vezérléssel szabályozhatják a részletesség szintjét, valamint azt, hogy a rendszer naplózza-e a személyes és szervezeti adatokat. Javasoljuk, hogy hozzon létre egy MSAL-naplózási implementációt, és biztosítson módot a felhasználók számára, hogy hitelesítési problémák esetén küldjenek naplókat.

Az MSAL Python naplózása úgy lett kialakítva, hogy a szabványos Python-naplózási mechanizmusokat használja, így a Python naplózásáról szerzett korábbi ismeretei az MSAL Pythonra is alkalmazhatók.

  • Alapértelmezés szerint a Python szkriptek naplózása ki van kapcsolva. Ha a teljes Python szkriptben engedélyezni szeretné a hibakeresési naplózást az ÖSSZES modulhoz, használja logging.basicConfig(level=logging.DEBUG)a .
  • Az MSAL-Python naplók többsége már hibakeresési szinten van, ami alapértelmezés szerint ki van kapcsolva. Ha azonban engedélyezni szeretné a hibakeresési naplózást a Python szkript egyéb moduljainak hibakereséséhez, ezért el szeretné hallgatni az MSAL-t, egyszerűen kikapcsolhatja az MSAL Python által használt naplózót: logging.getLogger("msal").setLevel(logging.WARN).
  • Az MSAL Python nem naplózza a személyes azonosításra alkalmas adatokat (PII). Az MSAL Pythonban tehát még a PII-naplózás bekapcsolására szolgáló kapcsoló sincs. Az alkalmazásfejlesztők továbbra is használhatják a szabványos Python naplózást bármilyen tartalom naplózásához. Ezzel az alkalmazás felelősséget vállal a rendkívül bizalmas adatok biztonságos kezeléséért és a jogszabályi követelmények betartásáért.

Naplózási szintek

Az MSAL több szintű naplózási részletet biztosít:

  • LogAlways: Ezen a naplószinten nem történik szintszűrés. A rendszer minden szinten naplózza az üzeneteket.
  • Critical: Helyreállíthatatlan alkalmazást vagy rendszerösszeomlást leíró naplók, vagy olyan katasztrofális hiba, amely azonnali figyelmet igényel.
  • Error: Azt jelzi, hogy valami hiba történt, és hiba keletkezett. Hibakeresésre és problémák azonosítására szolgál.
  • Warning: Nem feltétlenül történt hiba vagy meghibásodás, hanem diagnosztikai célokat szolgálnak, illetve a problémák beazonosítására valók.
  • Informational: Az MSAL olyan eseményeket naplóz, amelyek nem feltétlenül hibakeresésre szolgálnak.
  • Verbose (Alapértelmezett): Az MSAL naplózza a kódtár viselkedésének teljes részleteit.

Note

Nem minden naplószint érhető el az összes MSAL-kódtárhoz.

Személyes és szervezeti adatok

Alapértelmezés szerint az MSAL-naplózó nem rögzíti a bizalmas személyes vagy szervezeti adatokat. A kódtár lehetővé teszi a személyes és szervezeti adatok naplózását, ha úgy dönt, hogy ezt teszi.

Az alábbi szakaszok további részleteket nyújtanak az alkalmazás MSAL-hibanaplózásáról.

MSAL Python naplózáshoz

Az MSAL for Python naplózása a Python standard könyvtárának logging moduljára támaszkodik. Az MSAL-naplózást az alábbiak szerint konfigurálhatja (és működés közben tekintheti meg a username_password_sample):

Hibakeresési naplózás engedélyezése az összes modulhoz

Alapértelmezés szerint a Python szkriptek naplózása ki van kapcsolva. Ha részletes naplózást szeretne engedélyezni a szkriptben található összes Python-modulhoz, használja a(z) logging.basicConfig elemet logging.DEBUG szinttel:

import logging

logging.basicConfig(level=logging.DEBUG)

Ezzel kinyomtatja a naplózási modulnak adott összes naplóüzenetet a standard kimenetre.

MSAL naplózási szintjének konfigurálása

Az MSAL naplózási szintjét konfigurálhatja Python naplószolgáltatóhoz a logging.getLogger() naplózó nevével "msal"ellátott metódussal:

import logging

logging.getLogger("msal").setLevel(logging.WARN)

MSAL-naplózás konfigurálása a Azure-alkalmazás Insights használatával

Python naplók egy naplókezelőhöz kerülnek, amely alapértelmezés szerint a StreamHandler. Ha MSAL-naplókat szeretne küldeni egy Instrumentation-kulccsal rendelkező Application Insightsba, használja a AzureLogHandleropencensus-ext-azure kódtár által biztosított adatokat.

A telepítéshez opencensus-ext-azure adja hozzá a opencensus-ext-azure csomagot a PyPI-ról a függőségeihez, vagy telepítse a pip install paranccsal:

pip install opencensus-ext-azure

Ezután módosítsa a "msal" naplószolgáltató alapértelmezett kezelőjét egy AzureLogHandler-példányra, amelynek instrumentálási kulcsa a APP_INSIGHTS_KEY környezeti változóban van beállítva:

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

Személyes és szervezeti adatok a Python

A Python MSAL nem naplózza a személyes adatokat vagy a szervezeti adatokat. Nincs olyan tulajdonság, amely be- vagy kikapcsolhatja a személyes vagy szervezeti adatok naplózását.

A standard Python naplózással bármit naplózhat, de ön felelős a bizalmas adatok biztonságos kezeléséhez és a jogszabályi követelmények betartásáért.

A Python való bejelentkezéssel kapcsolatos további információkért tekintse meg Python naplózási útmutatóját.