Django-Anonymizer is 'n Django app wat jou help om data anonimeer in 'n databasis wat gebruik word vir die ontwikkeling van 'n Django projek.
Dit is algemene praktyk in develpment 'n databasis wat baie soortgelyk in inhoud van die werklike data te gebruik. Die probleem is dat dit kan lei tot met afskrifte van sensitiewe kliënte data op die ontwikkeling masjiene. Dit Django app help deur die verskaffing van 'n maklike en aanpas manier data te anonimiseren in jou modelle.
Die basiese metode is om te gaan deur al die modelle wat jy spesifiseer, en genereer vals data vir al die velde verskaf. Introspeksie van die modelle sal 'n Anonymizer wat sal poog om sinvolle vals inligting te verskaf vir elke veld, sodat jy om te tweak vir jou behoeftes produseer.
Neem asseblief kennis dat die metodes voorsien nie mag wees in staat om volle anonimiteit te gee. Selfs as jy die name en ander besonderhede van jou kliënte anonimeer, kan daar goed genoeg data om hulle te identifiseer. Verhoudings tussen rekords in die databasis is nie verander, ten einde die kenmerkende struktuur van data te bewaar in jou aansoek, maar dit kan laat jou oop vir inligting lekkasies wat nie aanvaarbaar is vir jou data kan wees. Hierdie aansoek moet goed genoeg wees vir eenvoudiger beleid soos "verwyder alle reële telefoonnommers van die databasis.
'N alternatiewe benadering tot die probleem van realistiese bedrag van toetsdata vir die ontwikkeling / toetse is 'n databasis aan te vul van nuuts af - sien Django-poseur, Django-mockups en Django-autofixture. Die disavantage van daardie metode is dat die struktuur van die data - in terme van verwante modelle - onrealisties kan wees.
Vinnige oorsig (sien docs vir meer inligting, hetsy in docs / of op http://packages.python.org/django-anonymizer).
& Nbsp; * installeer met setup.py of pit / easy_install.
& Nbsp; * Voeg 'Anonymizer' aan jou INSTALLED_APPS omgewing.
& Nbsp; * Skep 'n paar stomp lêers vir jou anonymizers:
& Nbsp; ./ manage.py create_anonymizers app_name1 [app_name2 ...]
& Nbsp; Dit sal 'n lêer anonymizers.py in elk van die programme wat jy spesifiseer. (Dit sal nie bestaande lêers moet oorskryf).
& Nbsp; * Edit die gegenereerde anonymizers.py lêers, aanpassing of verwyder as dit nodig is, met behulp van die funksies in module anonymizer.replacers of persoonlike funksies.
& Nbsp; * As jy anonymizers vir die apps wat jy nie beheer nie te skep, wil jy dalk die inhoud van die anonymizers.py lêer te skuif na 'n app wat jy beheer te doen. Dit maak nie saak of die Anonymizer klasse is vir modelle wat nie ooreenstem met die programme wat hulle is vervat nie.
& Nbsp; (Byvoorbeeld, as jy wil die modelle in django.contrib.auth te anonimiseren, jy sal waarskynlik wil hê dat die inhoud van te beweeg Django / contrib / auth / anonymizers.py in yourprojectapp / anonymizers.py)
& Nbsp; * Begin die anonymizers:
& Nbsp; ./ manage.py anonymize_data app_name1 [app_name2 ...]
& Nbsp; Dit sal vernietigend Update your data. Maak seker dat jy doen dit net op 'n afskrif van jou databasis, gebruik op eie risiko, yada yada.
& Nbsp; * Nota: jou databasis kan nie eintlik die verander data verwyder van die skyf as jy velde dateer. Vir Postgresql jy sal nodig hê om te vakuum wat data te verwyder.
& Nbsp; En selfs dan, jou bedryfstelsel kan nie die data verwyder van die skyf. Behoorlik om ontslae te raak van hierdie spore oorgebly soos 'n oefening vir die leser
Wat is nuut in hierdie release:.
- verander 'Anonymizer.attributes' elke gebied te vereis gelys te word. Dit is om met die gemeenskaplike sekuriteit probleem wanneer 'n model is opgedateer, maar die Anonymizer is nie bygewerk nie.
- Fields wat nie anoniem kan word indien die spesiale waarde & quot spesifiseer; SKIP & quot; as die 'vervanger.
- eienskappe moet nou 'n lys van tuples, nie 'n woordeboek.
Wat is nuut in die weergawe 0.2:
- verander formaat van die eienskappe van 'n woordeboek na 'n lys van 2 -tuples. (met backwards compatibility - is die vorige formaat afgekeur)
- Vaste klein fout met name / gebruikers / e-pos soms nie gegenereer in ooreenstemmende stelle, weens velde met 'n unieke = True nie (betroubaar) stel voor ander velde.
- Bygevoeg docs.
Vereistes :
- Python
Kommentaar nie gevind