IP-anonimizálás az Analytics szolgáltatásban

Az Analytics IP-címek anonimizálására szolgáló módszerének műszaki ismertetője

Áttekintés

Ha egy Analytics-ügyfél az IP-cím anonimizálását kéri, akkor – amint ez technikailag megvalósítható lesz – az Analytics az adatgyűjtő hálózat lehető legkorábbi szakaszában anonimmá teszi a címet. Az Analytics IP-anonimizálási funkciója az IPv4-felhasználók IP-címének utolsó oktettjét, illetve az IPv6-címek utolsó 80 bitjét nem sokkal a cím Analytics adatgyűjtő hálózatba kerülése után nullára állítja a memóriában. Ilyen esetben a rendszer soha nem írja lemezre a teljes IP-címet.

Tulajdonság létrehozásakor három lehetőség közül választhat, és az IP-cím anonimizálása a különböző esetekben az alábbiak szerint valósul meg:

Részletek

2010. május 25-től az Analytics rendszerben elérhetővé vált az _anonymizelp funkció a ga.js JavaScript-könyvtárban (illetve a közelmúltban a ga('set', 'anonymizeIp', true) lehetőség az analytics.js könyvtárban). Ezekkel a webhelytulajdonosok kérhetik az összes felhasználó IP-címének terméken belüli anonimizálását. A funkció célja, hogy segítse a webhelytulajdonosokat a saját adatvédelmi irányelveikben szereplő, illetve – egyes országokban – a helyi adatvédelmi hatóságok ajánlásai által megfogalmazott követelmények betartásában, amelyek tilthatják a teljes IP-cím tárolását. Amint az adatok bekerülnek az Analytics Adatgyűjtő Hálózatba, a rendszer – még mielőtt bármilyen jellegű tárolási vagy feldolgozási műveletre kerülne sor – végrehajtja az IP-címek anonimizálását/maszkolását.

Az IP-anonimizálási folyamatra az adatgyűjtési eljárás két lépésén belül kerül sor az Analytics rendszerben: a JavaScript-címkében és az adatgyűjtő hálózatban. E lépésekről az alábbiakban olvashat.

Az Analytics JavaScript-címkéje

Amikor egy olyan böngésző tölt be egy Analytics-címkével (ga.js vagy analytics.js) ellátott oldalt, amelyen aktiválta a JavaScript használatát, akkor a böngésző két dolgot végez el aszinkron módon: betölti és feldolgozza az Analytics-függvénysort, és kérelmezi az Analytics JavaScript használatát. A függvénysor egy olyan JavaScript-tömb, amelybe a rendszer elküldi az Analytics különböző konfigurációs és adatgyűjtő függvényeit. A webhelytulajdonos által az Analytics implementálásakor beállított függvények között az Analytics-fiók számának meghatározását, illetve az oldalmegtekintési adatoknak az Analytics Adatgyűjtő Hálózatba, feldolgozásra történő tényleges elküldését végző függvények is szerepelhetnek.

Amikor az Analytics JavaScript olyan függvényt futtat a függvénysorból, amely adatküldést indít az Analytics Adatgyűjtő Hálózatba (ez általában az analytics.js JavaScript-könyvtár ga('send', 'pageview') függvénye vagy a ga.js könyvtár _trackPageview függvénye), akkor a rendszer az adatokat a következő HTTP-kérelmekhez csatolt URL-paraméterekként küldi el: http://www.google-analytics.com/_utm.gif (ga.js esetén), illetve http://www.google-analytics.com/collect (analytics.js esetén). Ha az anonimizálási függvény meghívása az oldalkövetési függvény meghívása előtt történik, akkor a rendszer egy további paramétert ad a képpontkérelmekhez. Az IP-címet anonimizáló paraméter a következőképpen néz ki: &aip=1

Az Analytics Adatgyűjtő Hálózat

Az Analytics Adatgyűjtő Hálózat olyan szerverek csoportja, amelyek két fő szolgáltatást biztosítanak: a ga.js és az analytics.js (a Google Analytics JavaScript) kiszolgálása; illetve az _utm.gif és a /collect címre irányuló kérelmeken keresztül küldött adatok gyűjtése.

A beérkező ga.js-, analytics.js-, _utm.gif- vagy /collect-kérelem további információt tartalmaz a HTTP-kérelem fejlécében (például a használt böngésző típusát), illetve a TCP/IP-fejlécben (például a kérelem küldőjének IP-címét).

Amikor az _utm.gif fájlra irányuló kérelem érkezik, akkor azt a rendszer az anonimizáláshoz a memóriában tartja. Ha az &aip=1 paraméter megtalálható a kérelem URL-jében (amelyet az Analytics JavaScript elhelyezne a ga.js vagy az analytics.js anonimizálási függvényének feldolgozása után), akkor a felhasználó IP-címének utolsó bájtja még a memóriában nullára változik. A 12.214.31.144 IP-cím például a következőre módosul: 12.214.31.0. (IPv6-címek esetén a 128 bit utolsó 80 bitje lesz nulla.) A rendszer csak az anonimizálási művelet végrehajtása után írja lemezre a kérelmet feldolgozás céljából. Az IP-névtelenítés használata esetén a rendszer soha nem írja a teljes IP-címet lemezre, az anonimizálás ugyanis teljes mértékben a memóriában történik, szinte rögtön a kérelem beérkezése után.

Hasznosnak találta?
Hogyan fejleszthetnénk?