django-Anonymizer är en Django app som hjälper dig att anonymisera data i en databas som används för utveckling av ett Django-projektet.
Det är vanligt i develpment att använda en databas som är mycket liknande innehåll till den verkliga data. Problemet är att detta kan leda till att ha kopior av känsliga kunddata om utvecklings maskiner. Denna Django app hjälper genom att erbjuda ett enkelt och anpassningsbar sätt att anonymisera data i dina modeller.
Den grundläggande metoden är att gå igenom alla de modeller som du anger, och generera falska uppgifter för alla de områden som anges. Introspektion av modellerna kommer att producera en Anonymizer som kommer att försöka ge vettiga falska uppgifter för varje fält, så att du kan justera för dina behov.
Observera att de metoder som kanske inte kan ge full anonymitet. Även om du anonymisera namn och andra detaljer i dina kunder, kan det mycket väl vara tillräckligt med data för att identifiera dem. Relationer mellan poster i databasen ändras inte, i syfte att bevara den karakteristiska strukturen av data i din ansökan, men detta kan lämna dig öppen för informationsläckor som inte kan vara acceptabelt för dina data. Denna ansökan ska vara bra nog för enklare politik som "ta bort alla riktiga telefonnummer från databasen".
Ett alternativt tillvägagångssätt till problemet med realistiska ammount testdata för utveckling / test är att fylla en databas från grunden - se django-posör, django-prototyper och django-autofixture. Den disavantage av denna metod är att strukturen av uppgifterna - i termer av relaterade modeller - kan vara orealistiskt.
Snabböversikt (se docs för mer information, antingen i docs / eller på http://packages.python.org/django-anonymizer).
& Nbsp; * Installera med hjälp setup.py eller pip / easy_install.
& Nbsp; * Lägg till "Anonymizer" till din inställning INSTALLED_APPS.
& Nbsp; * Skapa några stub filer för dina anonymitetstjänster:
& Nbsp; ./ manage.py create_anonymizers app_name1 [app_name2 ...]
& Nbsp; Detta kommer att skapa en fil anonymizers.py i varje program som du anger. (Det kommer inte att skriva över befintliga filer).
& Nbsp; * Redigera den genererade anonymizers.py filer, justera eller ta bort vid behov, med hjälp av de funktioner i modul anonymizer.replacers eller anpassade funktioner.
& Nbsp; * Om du behöver skapa anonymitetstjänster för program som du inte kontrollerar, du kanske vill flytta innehållet i anonymizers.py filen till en app som du gör kontrollen. Det spelar ingen roll om de Anonymizer klasserna är för modeller som inte motsvarar de program som de ingår det.
& Nbsp; (Till exempel, om du vill anonymisera modellerna i django.contrib.auth, du kommer antagligen att flytta innehållet i django / contrib / auth / anonymizers.py in yourprojectapp / anonymizers.py)
& Nbsp; * Kör anonymitetstjänster:
& Nbsp; ./ manage.py anonymize_data app_name1 [app_name2 ...]
& Nbsp; Detta kommer destruktivt uppdatera alla dina data. Se till att du bara göra detta på en kopia av din databas, använd på egen risk, yada yada.
& Nbsp; * OBS: din databas inte kan faktiskt ta bort de ändrade uppgifterna från disken när du uppdaterar fälten. För PostgreSQL måste du vakuum radera dessa uppgifter.
& Nbsp; Och även då kan operativsystemet inte radera data från disken. Korrekt att bli av med dessa spår är kvar som en övning till läsaren
Vad är nytt i den här versionen:.
- Ändrad "Anonymizer.attributes" att kräva att alla fält för att listas. Detta är affären med den gemensamma säkerhets- problem när en modell är uppdaterad, men Anonymizer uppdateras inte.
- Fält som inte bör anonymiserade bör ange särskilt värde & quot; SKIP & quot; som "ersättare".
- attribut måste nu vara en lista med tupler, inte en ordbok.
Vad är nytt i version 0.2:
- Ändrad format av attribut från en ordlista till en lista med 2 -tuples. (med bakåtkompatibilitet - tidigare formatet är föråldrat)
- Fixat liten bugg med namn / användarnamn / e-post ibland inte genereras i motsvarande set, på grund av fält med unika = Sant att inte vara (tillförlitligt) in innan andra områden.
- Lades docs.
Krav :
- Python
Kommentarer hittades inte