burst/gdpr-tools

辅助GDPR合规性的工具。

0.0.1 2021-07-19 20:42 UTC

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