Persoonlijke gegevens beheren in Log Analytics en Application Insights
Log Analytics is een gegevensarchief waarin persoonsgegevens waarschijnlijk worden gevonden. Application Insights slaat de gegevens op in een Log Analytics-partitie. In dit artikel wordt uitgelegd waar Persoonlijke gegevens worden opgeslagen in Log Analytics en Application Insights en hoe u deze gegevens beheert.
In dit artikel verwijzen logboekgegevens naar gegevens die naar een Log Analytics-werkruimte worden verzonden, terwijl toepassingsgegevens verwijzen naar gegevens die door Application Insights worden verzameld. Als u een Application Insights-resource op basis van een werkruimte gebruikt, is de informatie over logboekgegevens van toepassing. Als u een klassieke Application Insights-resource gebruikt, zijn de toepassingsgegevens van toepassing.
Notitie
Voor meer informatie over persoonsgegevens bekijken of verwijderen, raadpleegt u AVG-verzoeken van betrokkenen voor Azure. Zie de sectie AVG van het Microsoft Trust Center en de SECTIE AVG van de Service Trust Portal voor meer informatie over de AVG.
Strategie voor het verwerken van persoonlijke gegevens
Hoewel het aan u en uw bedrijf is om een strategie voor het afhandelen van persoonsgegevens te definiëren, zijn er een paar benaderingen, die het meest tot het minst geschikt zijn vanuit een technisch oogpunt:
- Stop met het verzamelen van persoonsgegevens of verdoezelen, anoniem maken of aanpassen van verzamelde gegevens om deze uit te sluiten van "persoonlijk". Dit is veruit de voorkeursbenadering, die u bespaart de noodzaak om een dure en impactvolle strategie voor gegevensverwerking te maken.
- Normaliseer de gegevens om negatieve gevolgen op het gegevensplatform en de prestaties te verminderen. In plaats van een expliciete gebruikers-id te registreren, maakt u bijvoorbeeld een zoekopdracht om de gebruikersnaam en de bijbehorende gegevens te correleren met een interne id die vervolgens ergens anders kan worden geregistreerd. Op die manier kunt u, als een gebruiker u vraagt om zijn persoonlijke gegevens te verwijderen, alleen de rij in de opzoektabel verwijderen die overeenkomt met de gebruiker.
- Als u persoonlijke gegevens wilt verzamelen, bouwt u een proces met behulp van het opschonings-API-pad en de bestaande query-API om te voldoen aan alle verplichtingen om persoonsgegevens te exporteren en te verwijderen die aan een gebruiker zijn gekoppeld.
Waar te zoeken naar persoonsgegevens in Log Analytics
Log Analytics schrijft een schema voor uw gegevens voor, maar u kunt elk veld met aangepaste waarden overschrijven. U kunt ook aangepaste schema's opnemen. Als zodanig is het onmogelijk om precies te zeggen waar persoonsgegevens in uw specifieke werkruimte worden gevonden. De volgende locaties zijn echter goede uitgangspunten in uw inventaris.
Notitie
Sommige van de onderstaande query's gebruiken om query's uit te voeren search * op alle tabellen in een werkruimte. We raden u ten zeerste aan om te voorkomen search *dat u, indien mogelijk, een zeer inefficiënte query maakt. Voer in plaats daarvan een query uit op een specifieke tabel.
Logboekgegevens
IP-adressen: Log Analytics verzamelt verschillende IP-gegevens in meerdere tabellen. In de volgende query ziet u bijvoorbeeld alle tabellen die IPv4-adressen in de afgelopen 24 uur hebben verzameld:
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 $tableGebruikers-id's: u vindt gebruikersgebruikersnamen en gebruikers-id's in verschillende oplossingen en tabellen. U kunt zoeken naar een bepaalde gebruikersnaam of gebruikers-id in uw hele gegevensset met behulp van de zoekopdracht:
search "<username or user ID>"Vergeet niet alleen te zoeken naar gebruikersleesbare gebruikersnamen, maar ook voor GUID's die kunnen worden teruggezet naar een bepaalde gebruiker.
Apparaat-id's: net als gebruikers-id's worden apparaat-id's soms beschouwd als persoonsgegevens. Gebruik de hierboven vermelde benadering voor gebruikers-id's om tabellen te identificeren die persoonlijke gegevens bevatten.
Aangepaste gegevens: Met Log Analytics kunt u aangepaste gegevens verzamelen via aangepaste logboeken, aangepaste velden, de HTTP-gegevensverzamelaar-API en als onderdeel van systeemlogboeken. Controleer alle aangepaste gegevens op persoonsgegevens.
Door de oplossing vastgelegde gegevens: omdat het oplossingsmechanisme open is, raden we u aan alle tabellen te bekijken die door oplossingen worden gegenereerd om naleving te garanderen.
Toepassingsgegevens
IP-adressen: Hoewel Application Insights alle IP-adresvelden
0.0.0.0standaard verdoezelt, is het vrij gebruikelijk om deze waarde te overschrijven met het werkelijke IP-adres van de gebruiker om sessiegegevens te onderhouden. Gebruik de onderstaande query om een tabel te vinden die waarden bevat in de kolom IP-adres anders dan0.0.0.0in de afgelopen 24 uur:search client_IP != "0.0.0.0" | where timestamp > ago(1d) | summarize numNonObfuscatedIPs_24h = count() by $tableGebruikers-id's: Application Insights gebruikt standaard willekeurig gegenereerde id's voor het bijhouden van gebruikers en sessies in velden zoals session_Id, user_Id, user_AuthenticatedId, user_AccountId en customDimensions. Het is echter gebruikelijk om deze velden te overschrijven met een id die relevanter is voor de toepassing, zoals gebruikersnamen of Azure Active Directory-GUID's. Deze id's worden vaak beschouwd als persoonsgegevens. We raden u aan deze id's te verbergen of anoniem te maken.
Aangepaste gegevens: Met Application Insights kunt u een set aangepaste dimensies toevoegen aan elk gegevenstype. Gebruik de volgende query om aangepaste dimensies te identificeren die in de afgelopen 24 uur zijn verzameld:
search * | where isnotempty(customDimensions) | where timestamp > ago(1d) | project $table, timestamp, name, customDimensionsIn-memory en in-transit gegevens: Application Insights houdt uitzonderingen, aanvragen, afhankelijkheidsaanroepen en traceringen bij. U vindt vaak persoonlijke gegevens op code- en HTTP-aanroepniveau. Bekijk uitzonderingen, aanvragen, afhankelijkheden en traceringen van tabellen om dergelijke gegevens te identificeren. Gebruik waar mogelijk telemetrie-initialisatiefuncties om deze gegevens te verbergen.
Snapshot Debugger legt vast: met de functie Snapshot Debugger in Application Insights kunt u foutopsporingsmomentopnamen verzamelen wanneer Application Insights een uitzondering detecteert op het productie-exemplaar van uw toepassing. Momentopnamen maken de volledige stacktracering beschikbaar die leidt tot de uitzonderingen en de waarden voor lokale variabelen bij elke stap in de stack. Helaas staat deze functie selectief verwijderen van snappunten of programmatische toegang tot gegevens in de momentopname niet toe. Daarom raden we u aan de functie uit te schakelen als de standaardretentiepercentage voor momentopnamen niet aan uw nalevingsvereisten voldoet.
Persoonlijke gegevens exporteren en verwijderen
We raden u ten zeerste aan uw beleid voor gegevensverzameling te herstructureren om te stoppen met het verzamelen van persoonlijke gegevens, persoonlijke gegevens te verbergen of anoniem te maken of anderszins te wijzigen totdat deze niet meer als persoonlijk worden beschouwd. Bij het afhandelen van persoonlijke gegevens worden kosten in rekening gebracht bij het definiëren en automatiseren van een strategie, het bouwen van een interface waarmee uw klanten communiceren met hun gegevens en doorlopend onderhoud. Het is ook kostbaar voor Log Analytics en Application Insights, en een groot aantal gelijktijdige query- of opschonings-API-aanroepen kan negatieve gevolgen hebben voor alle andere interacties met Log Analytics-functionaliteit. Als u echter persoonlijke gegevens moet verzamelen, volgt u de richtlijnen in deze sectie.
Belangrijk
Hoewel de meeste opschoningsbewerkingen veel sneller worden voltooid, wordt de formele SLA voor het voltooien van opschoningsbewerkingen ingesteld op 30 dagen vanwege hun zware impact op het gegevensplatform. Deze SLA voldoet aan de AVG-vereisten. Het is een geautomatiseerd proces, dus er is geen manier om de bewerking te versnellen.
Weergeven en exporteren
Gebruik de Log Analytics-query-API of de Application Insights-query-API voor het weergeven en exporteren van gegevensaanvragen.
U moet de logica implementeren voor het converteren van de gegevens naar een geschikte indeling voor levering aan uw gebruikers. Azure Functions is een geweldige plek om dergelijke logica te hosten.
Verwijderen
Waarschuwing
Verwijderingen in Log Analytics zijn destructief en niet omkeerbaar! Wees uiterst voorzichtig bij de uitvoering.
Met de opschonings-API van Azure Monitor kunt u persoonsgegevens verwijderen. Gebruik de opschoningsbewerking spaarzaam om potentiële risico's, prestatie-impact en het potentieel om aggregaties, metingen en andere aspecten van uw Log Analytics-gegevens scheef te maken. Zie de sectie Strategie voor het verwerken van persoonlijke gegevens voor alternatieve benaderingen voor het verwerken van persoonsgegevens.
Opschonen is een bewerking met hoge bevoegdheden. Toepassingen en Azure-gebruikers, waaronder de resource-eigenaar, kunnen geen opschoningsbewerking uitvoeren zonder expliciet de rol Data Purger in Azure Resource Manager te krijgen. Verleen deze rol voorzichtig vanwege het potentieel voor gegevensverlies.
Voor het beheren van systeembronnen beperken we opschoningsaanvragen tot 50 aanvragen per uur. Batcheer de uitvoering van opschoningsaanvragen door één opdracht te verzenden waarvan het predicaat alle gebruikersidentiteiten bevat waarvoor opschoning is vereist. Gebruik de operator in om meerdere identiteiten op te geven. Voer de query uit voordat u de aanvraag voor opschonen uitvoert om de verwachte resultaten te controleren.
Notitie
Nadat u een opschoningsaanvraag hebt gestart, hebt u geen toegang tot de gerelateerde gegevens terwijl de status van de opschoningsbewerkingin behandeling is.
Logboekgegevens
De POST-API voor het opschonen van werkruimten gebruikt een object waarin parameters van gegevens worden opgegeven die moeten worden verwijderd en een verwijzings-GUID wordt geretourneerd.
De GET Purge Status POST API retourneert een 'x-ms-status-location'-header die een URL bevat die u kunt aanroepen om de status van uw opschoningsbewerking te bepalen. Bijvoorbeeld:
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
Toepassingsgegevens
De Onderdelen - POST-API leegmaken gebruikt een object dat parameters van gegevens opgeeft die moeten worden verwijderd en retourneert een verwijzings-GUID.
De onderdelen - Get Purge Status GET API retourneert een 'x-ms-status-location'-header die een URL bevat die u kunt aanroepen om de status van uw opschoningsbewerking te bepalen. Bijvoorbeeld:
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
Volgende stappen
- Meer informatie over hoe Log Analytics gegevens verzamelt, verwerkt en beveiligt.
- Meer informatie over hoe Application Insights gegevens verzamelt, verwerkt en beveiligt.