Sdílet prostřednictvím


Správa osobních údajů v protokolech služby Azure Monitor a Application Insights

Log Analytics je úložiště dat, ve kterém se pravděpodobně najdou osobní údaje. Application Insights ukládá data do oddílu Log Analytics. Tento článek vysvětluje, kde služba Log Analytics a Application Insights ukládají osobní údaje a jak tato data spravovat.

V tomto článku se data protokolu týkají dat odesílaných do pracovního prostoru služby Log Analytics, zatímco data aplikací odkazují na data shromážděná službou Application Insights. Pokud používáte prostředek Application Insights založený na pracovním prostoru, platí informace o datech protokolu. Pokud používáte klasický prostředek Application Insights, použijí se data aplikace.

Poznámka:

Informace o zobrazování nebo odstraňování osobních údajů najdete v tématu Obecné žádosti subjektů údajů o GDPR, žádosti subjektů údajů Azure o GDPR nebo žádosti subjektů údajů o gdpr ve Windows v závislosti na vaší konkrétní oblasti a potřebách. Další informace o GDPR najdete v části GDPR v Centru zabezpečení Microsoftu a v části GDPR na portálu Service Trust Portal.

Požadována oprávnění

Akce Požadována oprávnění
Vymazání dat z pracovního prostoru služby Log Analytics Microsoft.OperationalInsights/workspaces/purge/action oprávnění k pracovnímu prostoru služby Log Analytics, jak poskytuje předdefinovaná role přispěvatele Log Analytics, například

Strategie pro zpracování osobních údajů

I když je na vás a vaší společnosti, abyste definovali strategii pro zpracování osobních údajů, tady je několik přístupů, které jsou uvedeny od většiny po nejméně vhodnější z technického hlediska:

  • Přestaňte shromažďovat osobní údaje nebo obfušovat, anonymizovat nebo upravovat shromážděná data, aby se vyloučila z označení "osobní". Toto je zdaleka upřednostňovaný přístup, který šetří nutnost vytvořit nákladově a působivou strategii zpracování dat.
  • Normalizuje data, aby se snížil negativní vliv na datová platforma a výkon. Například místo protokolování explicitního ID uživatele vytvořte vyhledávání, které bude korelovat uživatelské jméno a jejich podrobnosti s interním ID, které pak lze protokolovat jinde. Pokud vás uživatel požádá o odstranění svých osobních údajů, můžete odstranit jenom řádek ve vyhledávací tabulce, který odpovídá uživateli.
  • Pokud potřebujete shromažďovat osobní údaje, vytvořte proces pomocí cesty rozhraní API pro vymazání a existujícího rozhraní API pro dotazy, abyste splnili veškeré povinnosti při exportu a odstranění osobních údajů přidružených k uživateli.

Kde hledat osobní údaje v Log Analytics

Log Analytics předepisuje schéma vašich dat, ale umožňuje přepsat každé pole vlastními hodnotami. Můžete také ingestovat vlastní schémata. Proto není možné přesně říct, kde se osobní údaje nacházejí ve vašem konkrétním pracovním prostoru. Následující umístění jsou však dobrými výchozími body v inventáři.

Poznámka:

Některé z níže uvedených dotazů slouží search * k dotazování všech tabulek v pracovním prostoru. Důrazně doporučujeme vyhnout se použití search *, což vytváří vysoce neefektivní dotaz, kdykoli je to možné. Místo toho zadejte dotaz na konkrétní tabulku.

Protokolování dat

  • IP adresy: Log Analytics shromažďuje různé informace o IP adresách v několika tabulkách. Následující dotaz například zobrazuje všechny tabulky, které za posledních 24 hodin shromáždily adresy IPv4:

    search * 
    | where * matches regex @'\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b' //RegEx originally provided on https://stackoverflow.com/questions/5284147/validating-ipv4-addresses-with-regexp
    | summarize count() by $table
    
  • ID uživatelů: Uživatelská uživatelská jména a ID uživatelů najdete v různých řešeních a tabulkách. Pomocí příkazu hledat můžete konkrétní uživatelské jméno nebo ID uživatele v celé datové sadě:

    search "<username or user ID>"
    

    Nezapomeňte hledat nejen uživatelsky čitelná uživatelská jména, ale také identifikátory GUID, které lze vysledovat zpět konkrétnímu uživateli.

  • ID zařízení: Id zařízení, jako jsou ID uživatelů, se někdy považují za osobní údaje. K identifikaci tabulek, které obsahují osobní údaje, použijte výše uvedený postup pro ID uživatelů.

  • Vlastní data: Log Analytics umožňuje shromažďovat vlastní data prostřednictvím vlastních protokolů, vlastních polí, rozhraní API kolektoru dat HTTP a jako součást protokolů událostí systému. Zkontrolujte všechna vlastní data pro osobní údaje.

  • Zachycená data řešení: Vzhledem k tomu, že je mechanismus řešení otevřený, doporučujeme zkontrolovat všechny tabulky vygenerované řešeními a zajistit dodržování předpisů.

Data aplikací

  • IP adresy: I když Application Insights ve výchozím nastavení obfuskuje všechna pole 0.0.0.0 IP adres, je poměrně běžné tuto hodnotu přepsat skutečnou IP adresou uživatele, aby se zachovaly informace o relaci. Pomocí následujícího dotazu vyhledejte všechny tabulky, které obsahují hodnoty ve sloupci IP adresy kromě 0.0.0.0 posledních 24 hodin:

    search client_IP != "0.0.0.0"
    | where timestamp > ago(1d)
    | summarize numNonObfuscatedIPs_24h = count() by $table
    
  • ID uživatelů: Application Insights ve výchozím nastavení používá náhodně generované ID pro sledování uživatelů a relací v polích, jako jsou session_Id, user_Id, user_AuthenticatedId, user_AccountId a customDimensions. Obvykle je ale možné tato pole přepsat ID, které je pro aplikaci relevantnější, například uživatelská jména nebo identifikátory GUID Microsoft Entra. Tato ID se často považují za osobní údaje. Doporučujeme obfuskovat nebo anonymizovat tato ID.

  • Vlastní data: Application Insights umožňuje připojit sadu vlastních dimenzí k libovolnému datovému typu. Pomocí následujícího dotazu identifikujte vlastní dimenze shromážděné za posledních 24 hodin:

    search * 
    | where isnotempty(customDimensions)
    | where timestamp > ago(1d)
    | project $table, timestamp, name, customDimensions 
    
  • Data v paměti a přenosu: Application Insights sleduje výjimky, požadavky, volání závislostí a trasování. Osobní údaje často najdete na úrovni kódu a volání HTTP. Zkontrolujte výjimky, požadavky, závislosti a tabulky trasování a identifikujte všechna taková data. Pokud je to možné, použijte inicializátory telemetrie k obfusaci těchto dat.

  • Snímek ladicí program: Funkce Snapshot Debugger v Application Insights umožňuje shromažďovat snímky ladění, když Application Insights zjistí výjimku v produkční instanci vaší aplikace. Snímky zveřejňují úplné trasování zásobníku, které vede k výjimkám a hodnotám místních proměnných v každém kroku v zásobníku. Tato funkce bohužel neumožňuje selektivní odstranění bodů přichycení nebo programový přístup k datům v rámci snímku. Proto pokud výchozí rychlost uchovávání snímků nevyhovuje vašim požadavkům na dodržování předpisů, doporučujeme tuto funkci vypnout.

Export a odstranění osobních údajů

Důrazně doporučujeme změnit strukturu zásad shromažďování dat, abyste přestali shromažďovat osobní údaje, obfusovat nebo anonymizovat osobní údaje nebo jinak tyto údaje upravovat, dokud se už nebudou považovat za osobní. Při zpracování osobních údajů vám budou účtovány náklady na definování a automatizaci strategie, vytvoření rozhraní, prostřednictvím kterého vaši zákazníci komunikují s jejich daty, a průběžnou údržbu. Je také výpočetně nákladné pro Log Analytics a Application Insights a velký objem souběžných volání dotazů nebo vyprázdnění rozhraní API může negativně ovlivnit všechny ostatní interakce s funkcemi Log Analytics. Pokud ale potřebujete shromažďovat osobní údaje, postupujte podle pokynů v této části.

Důležité

Zatímco většina operací mazání je mnohem rychlejší, formální smlouva SLA pro dokončení operací vyprázdnění je nastavená na 30 dnů kvůli silnému dopadu na datovou platformu. Tato smlouva SLA splňuje požadavky GDPR. Jedná se o automatizovaný proces, takže neexistuje žádný způsob, jak operaci urychlit.

Zobrazení a export

K zobrazení a exportu žádostí o data použijte rozhraní API pro dotazy Log Analytics nebo rozhraní API pro dotazy Application Insights.

Poznámka:

V rozhraní API pro dotazy Log Analytics nemůžete použít plány základní a pomocné tabulky. Místo toho použijte rozhraní API log Analytics /search.

Musíte implementovat logiku pro převod dat do vhodného formátu pro doručování uživatelům. Azure Functions je skvělým místem pro hostování takové logiky.

Odstranění

Upozorňující

Odstranění v Log Analytics jsou destruktivní a nevratná! Při provádění používejte extrémní opatrnost.

Rozhraní API pro vyprázdnění služby Azure Monitor umožňuje odstranit osobní údaje. Pomocí operace vyprázdnění se střídmě vyhněte potenciálním rizikům, dopadu na výkon a potenciál zkosení agregací, měření a dalších aspektů dat Log Analytics. Alternativní přístupy ke zpracování osobních údajů najdete v části Strategie pro zpracování osobních údajů.

Vyprázdnění je vysoce privilegovaná operace. Udělte roli Purger v Azure Resource Manageru opatrně kvůli možné ztrátě dat.

Kvůli správě systémových prostředků omezujeme požadavky na 50 požadavků za hodinu. Dávkově vyprázdnění požadavků odešlete jeden příkaz, jehož predikát zahrnuje všechny identity uživatelů, které vyžadují vymazání. Operátor in slouží k určení více identit. Před provedením žádosti o vymazání spusťte dotaz, abyste ověřili očekávané výsledky.

Důležité

Použití rozhraní LOG Analytics nebo rozhraní API pro vymazání Application Insights nemá vliv na náklady na uchovávání informací. Pokud chcete snížit náklady na uchovávání dat, musíte zkrátit dobu uchovávání dat.

Protokolování dat

  • Rozhraní POST API vyprázdnění pracovního prostoru přebírá objekt určující parametry dat k odstranění a vrací identifikátor GUID odkazu.

  • Rozhraní POST API pro získání stavu vyprázdnění vrátí hlavičku x-ms-status-location, která obsahuje adresu URL, kterou můžete volat za účelem určení stavu operace vyprázdnění. Příklad:

    x-ms-status-location: https://management.azure.com/subscriptions/[SubscriptionId]/resourceGroups/[ResourceGroupName]/providers/Microsoft.OperationalInsights/workspaces/[WorkspaceName]/operations/purge-[PurgeOperationId]?api-version=2015-03-20
    

Poznámka:

Data z tabulek, které mají základní a pomocné plány, nelze vymazat.

Data aplikací

  • Komponenty – vyprázdnění rozhraní POST API přebírá objekt určující parametry dat k odstranění a vrací identifikátor GUID odkazu.

  • Komponenty – Get Purge Status GET API vrátí hlavičku x-ms-status-location, která obsahuje adresu URL, kterou můžete volat, abyste určili stav operace vyprázdnění. Příklad:

    x-ms-status-location: https://management.azure.com/subscriptions/[SubscriptionId]/resourceGroups/[ResourceGroupName]/providers/microsoft.insights/components/[ComponentName]/operations/purge-[PurgeOperationId]?api-version=2015-05-01
    

Další kroky