django-anonymizer er en Django app som hjelper deg å anonymisere data i en database som brukes for utvikling av en Django prosjekt.
Det er vanlig praksis i develpment å bruke en database som er svært lik i innhold til den virkelige data. Problemet er at dette kan føre til å ha kopier av sensitive kundedata på utviklingsmaskiner. Dette Django app hjelper ved å tilby en enkel og passelig måte å anonymisere data i modellene.
Den grunnleggende metoden er å gå gjennom alle de modellene som du angir, og generere falske data for alle feltene som er angitt. Introspeksjon av modellene vil produsere en anonymizer som vil forsøke å gi fornuftig falske data for hvert felt, slik at du kan justere for dine behov.
Vær oppmerksom på at metodene som tilbys ikke kan være i stand til å gi full anonymitet. Selv om du anonymisere navn og andre detaljer om dine kunder, kan det vel være nok data for å identifisere dem. Relasjoner mellom postene i databasen blir ikke endret, for å bevare den karakteristiske strukturen av data i programmet, men dette kan forlate deg åpen for informasjonslekkasjer som kanskje ikke er akseptabelt for dine data. Dette programmet bør være god nok for enklere politikk som "fjerne alle ekte telefonnumre fra databasen '.
En alternativ tilnærming til problemet med realistisk mengde testdata for utvikling / tester er å fylle en database fra bunnen av - se django-poseur, django-mockups og django-autofixture. Den disavantage av at metoden er at strukturen i data - i form av beslektede modeller - kan være urealistisk.
Rask oversikt (se dokumenter for mer informasjon, enten i docs / eller på http://packages.python.org/django-anonymizer).
& Nbsp; * Installer ved hjelp setup.py eller pip / easy_install.
& Nbsp; * Legg til 'anonymizer' til din INSTALLED_APPS innstilling.
& Nbsp; * Lag noen stubbfiler for dine anonymizers:
& Nbsp; ./ manage.py create_anonymizers app_name1 [app_name2 ...]
& Nbsp; Dette vil opprette en fil anonymizers.py i hver av de appene du angir. (Det vil ikke overskrive eksisterende filer).
& Nbsp; * Rediger genererte anonymizers.py filer, justere eller slette etter behov, ved hjelp av funksjonene i modulen anonymizer.replacers eller egendefinerte funksjoner.
& Nbsp; * Hvis du må opprette anonymizers for programmer som du ikke har kontroll, kan det være lurt å flytte innholdet i anonymizers.py filen til en app som du gjør kontroll. Det spiller ingen rolle om de Anonymizer klasser er for modeller som ikke svarer til de programmene de er inneholdt det.
& Nbsp; (For eksempel, hvis du ønsker å anonymisere modellene i django.contrib.auth, vil du sannsynligvis ønske å flytte innholdet i django / contrib / auth / anonymizers.py inn yourprojectapp / anonymizers.py)
& Nbsp; * Kjør anonymizers:
& Nbsp; ./ manage.py anonymize_data app_name1 [app_name2 ...]
& Nbsp; Dette vil destruktivt oppdatere alle dine data. Pass på at du bare gjøre dette på en kopi av databasen, kan du bruke på egen risiko, yada yada.
& Nbsp; * Merk: databasen kan faktisk ikke slette de endrede data fra disken når du oppdaterer felt. For Postgresql må du vakuum for å slette dataene.
& Nbsp; Og selv da kan det hende at operativsystemet ikke slette dataene fra disken. Riktig å bli kvitt disse sporene er igjen som en øvelse til leseren
Hva er nytt i denne utgaven:.
- Endret 'Anonymizer.attributes' å kreve alle felt for å bli oppført. Dette er avtale med den felles sikkerhets- problem når en modell er oppdatert, men det Anonymizer er ikke oppdatert.
- Felt som ikke bør anonymiserte bør spesifisere spesiell verdi & quot; SKIP & quot; som "erstatteren".
- attributter må nå være en liste av tupler, ikke en ordbok.
Hva er nytt i versjon 0.2:
- Endret format av attributter fra en ordbok til en liste med to -tuples. (med bakoverkompatibilitet - tidligere formatet er foreldet)
- Fast liten bug med navn / brukernavn / e-post noen ganger ikke blir generert i tilsvarende sett, på grunn av felt med unike = True ikke være (pålitelig) satt før andre felt.
- Lagd docs.
Krav :
- Python
Kommentarer ikke funnet