burst / gdpr-tools
辅助GDPR合规性的工具。
0.0.1
2021-07-19 20:42 UTC
Requires
- php: >=7.2
- ext-json: *
- doctrine/dbal: ^2.13
- fzaninotto/faker: ^1.9
- gajus/paggern: dev-master
- platformsh/config-reader: ^2.4.0
- symfony/console: ^3.4
- symfony/yaml: ^3.4
This package is not auto-updated.
Last update: 2024-09-25 02:41:44 UTC
README
安装
composer require burst/gdpr-tools
使用
php vendor/bin/gdpr-tools <command>
命令
命令 | 描述 | 参数 |
---|---|---|
db:anonymize | 根据yaml配置匿名化数据库。 | file - 一个yaml配置文件,必须以.yml 结尾。详细信息请参阅配置。 |
db:truncate | 根据yaml配置截断数据库表。 | file - 一个yaml配置文件,必须以.yml 结尾。详细信息请参阅配置。 |
配置
匿名化
GDPR Tools使用Faker https://github.com/fzaninotto/Faker进行数据匿名化。这并不是用难以阅读的数据来替换生产和个人数据,而是用仍然具有可读和有效格式的虚拟数据。
对于数据库中的每个表,都可以使用Faker格式化器进行配置。
anonimize:
tables:
{{table_name}}:
{{column_name}}:
# Faker Formatter (required)
formatter: {{fakerFormatter}}
# Unique value (optional, default false)
unique: true
# Array of arguments to be passes to the Faker Formatter (optional)
args:
- 200
截断
只需列出需要截断的表列表
truncate:
- table_a
- table_b
示例
presets:
- drupal8
locale: nl_NL
database:
scheme: pdo_mysql
host: ${DB_HOST}
port: 3306
name: ${DB_NAME}
user: ${DB_USER}
password: ${DB_PASSWORD}
truncate:
- event_log_track
- z_tickets_log
anonymize:
tables:
user__field_description:
field_description_value:
formatter: realText
args:
- 300
unique: true
user__field_facebook:
field_facebook_value:
formatter: url
user__field_google:
field_google_value:
formatter: url
user__field_instagram:
field_instagram_value:
formatter: url
user__field_name:
field_name_value:
formatter: name
user__field_phone:
field_phone_value:
formatter: phoneNumber
user__field_twitter:
field_twitter_value:
formatter: url
exclude:
users_field_data:
uid:
- 0 # super admin
- 1 # admin
- 5 # webmaster
预设
可以使用预设加载预先配置的、需要截断和匿名化的表。
当前可用的预设有
本地.yml配置中设置的配置将合并到预设配置中。
区域设置
文本格式化器可能因区域设置而异。可以设置Faker支持的所有区域设置。
locale: nl_NL