Správa osobních údajů v Log Analytics 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žby Log Analytics a Application Insights ukládají osobní údaje a jak tato data spravovat.

Data protokolů v tomto článku odkazují na data odesílaná 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 zobrazení nebo odstranění osobních údajů najdete v tématu věnovaném žádostem subjektů údajů Azure podle GDPR. Další informace o GDPR najdete v části GDPR v centru zabezpečení Microsoft a v části GDPR na portálu Service Trust Portal.

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 z technického hlediska od těch nejméně po nejméně upřednostňované:

  • Zastavit shromažďování osobních údajů nebo zamlžovat, anonymizovat nebo upravovat shromážděná data tak, aby se nepovažovala za "osobní". To je zdaleka upřednostňovaný přístup, který šetří nutnost vytvářet nákladnou a působivou strategii zpracování dat.
  • Normalizujte data, abyste snížili negativní vliv na datovou platformu a výkon. Například místo protokolování explicitního ID uživatele vytvořte vyhledávání pro korelaci uživatelského jména a jeho podrobností s interním ID, které pak lze protokolovat jinde. Pokud vás uživatel požádá o odstranění jeho osobních údajů, můžete odstranit jenom řádek ve vyhledávací tabulce, který odpovídá danému uživateli.
  • Pokud potřebujete shromáždit osobní údaje, vytvořte proces pomocí cesty rozhraní API pro mazání a stávajícího rozhraní API pro dotazy, abyste splnili všechny povinnosti spojené s exportem a odstraněním osobních údajů spojených s uživatelem.

Kde hledat osobní údaje v Log Analytics

Log Analytics předepisuje vašim datům schéma, ale umožňuje přepsat každé pole vlastními hodnotami. Můžete také ingestovat vlastní schémata. Proto není možné přesně určit, kde se v konkrétním pracovním prostoru budou osobní údaje nacházet. 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í na všechny tabulky v pracovním prostoru. Důrazně doporučujeme vyhnout se použití search *příkazu , který 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é IP informace v několika tabulkách. Například následující dotaz zobrazí všechny tabulky, které shromáždily IPv4 adresy za posledních 24 hodin:

    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á jména a ID uživatelů najdete v různých řešeních a tabulkách. Konkrétní uživatelské jméno nebo ID uživatele můžete vyhledat v celé datové sadě pomocí příkazu search:

    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 ke konkrétnímu uživateli.

  • ID zařízení: Podobně jako ID uživatelů se ID zařízení někdy považují za osobní údaje. K identifikaci tabulek, které obsahují osobní údaje, použijte výše uvedený přístup 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 osobní údaje ve všech vlastních datech.

  • Data zachycená řešením: Vzhledem k tomu, že je mechanismus řešení otevřený, doporučujeme zkontrolovat všechny tabulky vygenerované řešeními, abyste zajistili dodržování předpisů.

Data aplikací

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

    search client_IP != "0.0.0.0"
    | where timestamp > ago(1d)
    | summarize numNonObfuscatedIPs_24h = count() by $table
    
  • ID uživatelů: Ve výchozím nastavení Application Insights 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. Tato pole je ale běžné přepsat ID, které je pro aplikaci relevantnější, jako jsou uživatelská jména nebo identifikátory GUID Služby Azure Active Directory. Tato ID se často považují za osobní údaje. Doporučujeme tato ID zamlžovat nebo anonymizovat.

  • 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řenášená data: 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 obfuskaci těchto dat.

  • Snapshot Debugger zachycuje: Funkce Snapshot Debugger ve službě 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í ani programový přístup k datům v rámci snímku. Proto pokud výchozí míra 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, obfuskoval nebo anonymizoval osobní údaje nebo jinak upravoval takové údaje, dokud už nebudou považované za osobní. Při zpracování osobních údajů vám budou účtovány náklady na definování a automatizaci strategie, vytváření rozhraní, přes které vaši zákazníci pracují se svými daty, a průběžnou údržbu. Je to také výpočetně nákladné pro Log Analytics a Application Insights a velký objem souběžných volání rozhraní API pro dotazy nebo vymazání může negativně ovlivnit všechny ostatní interakce s funkcemi Log Analytics. Pokud však potřebujete shromažďovat osobní údaje, postupujte podle pokynů v této části.

Důležité

I když se většina operací mazání dokončí mnohem rychleji, formální smlouva SLA pro dokončení operací vymazání je nastavená na 30 dnů , protože mají velký dopad 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 dat použijte rozhraní API dotazů Log Analytics nebo rozhraní API pro dotazy Application Insights .

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

Odstranit

Upozornění

Odstranění v Log Analytics jsou destruktivní a nevratná! Při jejich provádění buďte velmi opatrní.

Rozhraní API pro mazání služby Azure Monitor umožňuje odstranit osobní data. Operaci vyprázdnění používejte střídmě, abyste se vyhnuli potenciálním rizikům, dopadu na výkon a možnostem nerovnoměrné distribuce agregací, měření a dalších aspektů dat Log Analytics. Alternativní přístupy ke zpracování osobních údajů najdete v části Strategie zpracování osobních údajů.

Vyprázdnění je vysoce privilegovaná operace. Udělte roli Data Purger ve službě Azure Resource Manager opatrně kvůli potenciální ztrátě dat.

Pro správu systémových prostředků omezujeme žádosti o vymazání na 50 požadavků za hodinu. Dávkujte provádění žádostí o vymazání odesláním jednoho příkazu, jehož predikát zahrnuje všechny identity uživatelů, které vyžadují vymazání. K určení více identit použijte operátor in . Před provedením požadavku na vymazání spusťte dotaz a ověřte očekávané výsledky.

Protokolování dat

  • Rozhraní POST API pro vymazání pracovního prostoru přebírá objekt určující parametry dat, která se mají odstranit, a vrací referenční identifikátor GUID.

  • Rozhraní GET Purge Status POST API vrátí hlavičku x-ms-status-location, která obsahuje adresu URL, kterou můžete volat, abyste zjistili stav 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
    

Data aplikací

  • Rozhraní Components – Purge POST API přebírá objekt určující parametry dat k odstranění a vrací referenční identifikátor GUID.

  • Rozhraní API Get Components – Get Purge Status vrátí hlavičku x-ms-status-location, která obsahuje adresu URL, kterou můžete volat, abyste zjistili stav operace vymazá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