django-anonymizer è un app che ti aiuta Django anonimi la i dati in un database utilizzato per lo sviluppo di un progetto Django.
È pratica comune in develpment utilizzare un database che è molto simile nel contenuto ai dati reali. Il problema è che questo può portare ad avere copie dei dati sensibili dei clienti su macchine di sviluppo. Questa applicazione Django aiuta fornendo un modo semplice e personalizzabile per anonimizzare i dati nei modelli.
Il metodo di base è quello di passare attraverso tutti i modelli che si specificano, e generare dati falsi per tutti i campi specificati. L'introspezione dei modelli produrrà un anonymizer che tenterà di fornire dati sensibili falso per ogni campo, lasciando a modificare per le vostre esigenze.
Si prega di notare che i metodi forniti possono non essere in grado di dare pieno anonimato. Anche se anonimi la i nomi e altri dettagli dei vostri clienti, ci possono essere dati sufficienti per identificarli. Le relazioni tra i record nel database non sono alterate, in modo da preservare la caratteristica struttura di dati nella propria applicazione, ma questo può lasciare aperta a fughe di informazioni che potrebbero non essere accettabili per i vostri dati. Questa applicazione dovrebbe essere abbastanza buono per politiche più semplici come 'rimuovere tutti i numeri reali di telefono dal database'.
Un approccio alternativo al problema della ammount realistica dei dati di test per lo sviluppo / test è per popolare un database da zero - vedi django-poseur, django-prototipi e Django-autofixture. La disavantage di questo metodo è che la struttura dei dati - in termini di modelli correlati - può essere realistico.
Rapida panoramica (vedi documentazione per ulteriori informazioni, sia in docs / o sul http://packages.python.org/django-anonymizer).
& Nbsp; * Installare utilizzando setup.py o pip / easy_install.
& Nbsp; * Aggiungi 'anonymizer' per l'impostazione INSTALLED_APPS.
& Nbsp; * Creare alcuni file stub per i vostri anonymizer:
& Nbsp; ./ manage.py create_anonymizers app_name1 [app_name2 ...]
& Nbsp; Questo creerà un anonymizers.py file in ciascuna delle applicazioni specificate. (Non sovrascrivere i file esistenti).
& Nbsp; * Modificare il file generato anonymizers.py, regolazione o cancellare, se necessario, utilizzando le funzioni anonymizer.replacers modulo o funzioni personalizzate.
& Nbsp; * Se avete bisogno di creare anonymizer per le applicazioni che non si controlli, si può decidere di spostare il contenuto del file anonymizers.py di un app che si fa il controllo. Non importa se le classi anonymizer sono per i modelli che non corrispondono alle applicazioni che sono contenuti esso.
& Nbsp; (ad esempio, se si desidera anonimizzare i modelli django.contrib.auth, probabilmente si vuole spostare il contenuto di Django / contrib / auth / anonymizers.py in yourprojectapp / anonymizers.py)
& Nbsp; * Eseguire gli anonymizer:
& Nbsp; ./ manage.py anonymize_data app_name1 [app_name2 ...]
& Nbsp; Questo distruttivo aggiornare tutti i dati. Assicurati di fare solo questo su una copia del database, utilizzare a proprio rischio, bla bla.
& Nbsp; * Nota: il database non può realmente eliminare i dati modificati dal disco quando si aggiornano i campi. Per PostgreSQL è necessario vuoto per eliminare i dati.
& Nbsp; E anche allora, il sistema operativo non può cancellare i dati dal disco. Correttamente sbarazzarsi di queste tracce è lasciato come esercitazione per il lettore
Cosa c'è di nuovo in questa versione:.
- Modificato 'Anonymizer.attributes' di richiedere ogni campo per essere elencati. Questo è affare con il problema di sicurezza comune quando un modello viene aggiornato, ma il Anonymizer non viene aggiornata.
- I campi che non deve essere anonima deve specificare il valore speciale & quot; SKIP & quot; come il 'sostituto'.
- attributi deve ora essere una lista di tuple, non un dizionario.
Cosa c'è di nuovo in versione 0.2:
- formato Modificato di attributi da un dizionario ad un elenco di 2 -tuples. (con compatibilità all'indietro - formato precedente è deprecato)
- Risolto piccolo bug con i nomi / username / e-mail a volte non vengono generati in set corrispondenti, a causa di campi con unico = True non essere (affidabile) impostato prima di altri campi.
- docs aggiunti.
Requisiti :
- Python
I commenti non trovato