ΠΠΎΡΡΡΠΏΠ΅Π½ Π½ΠΎΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° PostgreSQL Anonymizer, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π£ΠΠ PostgreSQL, ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π°Π΄Π°ΡΡ ΡΠΊΡΡΡΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠ΅Π΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΡΡ ΡΠ°ΠΉΠ½Ρ. ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΊΡΡΠ²Π°ΡΡΡΡ Π½Π° Π»Π΅ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΎΡΠ²Π΅ΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΠ΄ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ PostgreSQL.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΠ ΡΡΠ΅ΡΡΠΈΠΌ Π»ΠΈΡΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠ΅Π·Π°Ρ Π΄Π»Ρ Π½ΠΈΡ
ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ
ΠΊΠ°ΡΡ, ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΠΎΡΡΡΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΌΠ΅Π½Π° ΠΈΠΌΡΠ½ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π½Π° ΡΠΈΠΊΡΠΈΠ²Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠΎΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈ ΠΏΡΡΠΌΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΊ Π‘Π£ΠΠ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΡΡ
SQL-Π΄Π°ΠΌΠΏΠΎΠ² (ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° pg_dump_anon).
PostgreSQL Anonymizer ΡΠ°ΡΡΠΈΡΡΠ΅Ρ PostgreSQL DDL (Data Definition Language) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡ
Π΅ΠΌΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΡ
Π·Π°ΠΌΠ΅Π½Π΅: ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ, Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΡΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΊΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΎΠ²ΠΊΠ°, Π·Π°ΡΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ Ρ.ΠΏ. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft ΠΎΡΠΊΡΡΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ΅ΠΊ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Presidio. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ
, ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π€ΠΠ, Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², email, Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ
ΠΊΠ°ΡΡ, ΠΊΡΠΈΠΏΡΠΎΠΊΠΎΡΠ΅Π»ΡΠΊΠΈ, Π°Π΄ΡΠ΅ΡΠ°, Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠ°ΡΠΏΠΎΡΡΠΎΠ², ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Ρ.ΠΏ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ (ΠΎΡ Amazon S3 Π΄ΠΎ PostgreSQL) ΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ². ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go (Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Python) ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru