IP-névtelenítés a Analytics rendszerben

A Analytics IP-címek névtelenítésére szolgáló módszerének műszaki ismertetője

Összefoglalva

Ha egy Analytics-ügyfél az IP-cím névtelenítését kéri, akkor – amint ez technikailag megvalósítható lesz – a Analytics az Adatgyűjtő Hálózat lehető legkorábbi szakaszában anonimmá teszi a címet. A Analytics IP-névtelenítési funkciója az IPv4-felhasználók IP-címének utolsó bájtjá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.

Részletesen

2010. május 25-től a 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 névtelenítését. A funkció célja, hogy segítse a webhelytulajdonosokat saját adatvédelmi irányelveikben lévő, 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 a 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 névtelenítését/maszkolását.

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

A 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 a Analytics-függvénysort, és kérelmezi a Analytics JavaScript használatát. A függvénysor egy olyan JavaScript-tömb, amelybe a rendszer elküldi a Analytics különböző konfigurációs és adatgyűjtő függvényeit. A webhelytulajdonos által a Analytics implementálásakor beállított függvények között a Analytics-fiók számának meghatározását, illetve az oldalmegtekintési adatoknak a 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 a Analytics JavaScript olyan függvényt futtat a függvénysorból, amely adatküldést indít a 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 a névtelenítési függvény meghívása az oldalkövetési függvény meghívása előtt történik, akkor egy további paraméter kerül a képpontkérelmekhez. Az IP-címet névtelenítő paraméter a következőképpen néz ki: &aip=1

Analytics Adatgyűjtő Hálózat

A 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 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ókat 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 a névtelenítéshez a memóriában tartja. Ha az &aip=1 paraméter megtalálható a kérelem URL-jében (amit a Analytics JavaScript elhelyezne a ga.js vagy az analytics.js névtelenítő 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.

Hasznos volt ez a cikk?
Hogyan fejleszthetnénk?