Line 10: | Line 10: | ||
<tt>gdpr_forget_me.py [-h] [--gws GWS] --cass_keyspace CASS_KEYSPACE --cass_hostname CASS_HOSTNAME --cass_port CASS_PORT --search SEARCH [--group_name GROUP_NAME] [--cleanup CLEANUP] [--gws_username GWS_USERNAME] [--gws_user_password GWS_USER_PASSWORD] [--gws_additional_headers GWS_ADDITIONAL_HEADERS]</tt> | <tt>gdpr_forget_me.py [-h] [--gws GWS] --cass_keyspace CASS_KEYSPACE --cass_hostname CASS_HOSTNAME --cass_port CASS_PORT --search SEARCH [--group_name GROUP_NAME] [--cleanup CLEANUP] [--gws_username GWS_USERNAME] [--gws_user_password GWS_USER_PASSWORD] [--gws_additional_headers GWS_ADDITIONAL_HEADERS]</tt> | ||
+ | |||
+ | ====Prerequisites==== | ||
The following software packages are required to run this script: | The following software packages are required to run this script: | ||
Line 23: | Line 25: | ||
| --cass_keyspace CASS_KEYSPACE | | --cass_keyspace CASS_KEYSPACE | ||
| Yes | | Yes | ||
− | | Cassandra keyspace name | + | | The Cassandra keyspace name. |
|- | |- | ||
| --cass_hostname CASS_HOSTNAME | | --cass_hostname CASS_HOSTNAME | ||
| Yes | | Yes | ||
− | | Cassandra | + | | The Cassandra host name. |
|- | |- | ||
| --cass_port CASS_PORT | | --cass_port CASS_PORT | ||
| Yes | | Yes | ||
− | | Cassandra thrift port | + | | The Cassandra thrift port. |
|- | |- | ||
| --search SEARCH | | --search SEARCH | ||
| Yes | | Yes | ||
− | | | + | | The text (email or phone number) to be searched for. |
|- | |- | ||
| -h, --help | | -h, --help | ||
| No | | No | ||
− | | Show this help message | + | | Show this help message. |
|- | |- | ||
| --group_name GROUP_NAME | | --group_name GROUP_NAME | ||
| No | | No | ||
− | | | + | | The user group name.For example, interaction-workspace-personal-favorites. |
|- | |- | ||
| --cleanup CLEANUP | | --cleanup CLEANUP | ||
| No | | No | ||
− | | | + | | When set to ''true'', the script will send a request to GWS to delete the settings that match. the default value is ''false''. |
|- | |- | ||
| --gws_username GWS_USERNAME | | --gws_username GWS_USERNAME | ||
| No | | No | ||
− | | | + | | The GWS user name with admin privileges. This user is used to delete matching data via GWS API. |
|- | |- | ||
| --gws_user_password GWS_USER_PASSWORD | | --gws_user_password GWS_USER_PASSWORD | ||
| No | | No | ||
− | | | + | | The password of the GWS user specified in ''gws_username''. |
|- | |- | ||
| --gws_additional_headers GWS_ADDITIONAL_HEADERS | | --gws_additional_headers GWS_ADDITIONAL_HEADERS | ||
| No | | No | ||
− | | | + | | The additional headers that will be added to the GWS request. CSRF headers must be added here. Headers are presented as JSON. For example, <tt>{"header_name": "header_value"}</tt>. |
|- | |- | ||
|} | |} | ||
===Example=== | ===Example=== | ||
+ | |||
+ | The script will search personal data for deleting by email agent1@pizza.com in all settings groups, but will not delete, because --cleanup argument isn't specified. | ||
+ | * <tt>python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com</tt> | ||
+ | |||
+ | The script will search email agent1@pizza.com in all settings groups and delete via GWS API. | ||
+ | |||
+ | * <tt>python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws http://127.0.0.1:8090 --gws_username admin@pizza.com --gws_user_password password --cleanup true</tt> | ||
+ | |||
+ | The script will search email agent1@pizza.com in all settings groups and delete via GWS API. The password of gws_username will be encrypted. | ||
+ | * python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws http://127.0.0.1:8090 --cleanup true | ||
+ | |||
+ | The script will search agent1@pizza.com in settings group with name 'interaction-workspace-personal-favorites' and delete via GWS API. 2 additional headers will be added to requests (X-CSRF-HEADER with value X-CSRF-TOKEN and X-CSRF-TOKEN with value 1434429f-81a8-459a-9d6d-792d17644471). | ||
+ | |||
+ | * <tt>python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws https://gws-api-host:8099 --gws_username admin@pizza.com --gws_user_password password --cleanup true --group_name interaction-workspace-personal-favorites --gws_additional_headers "{\"X-CSRF-HEADER\": \"X-CSRF-TOKEN\", \"X-CSRF-TOKEN\": \"1434429f-81a8-459a-9d6d-792d17644471\"}"</tt> | ||
+ | |||
[[Category:V:System:8.5.xDraft]] | [[Category:V:System:8.5.xDraft]] |
Revision as of 08:44, May 11, 2018
Web Services & Applications Support for GDPR
Under Development
Deleting PII
The gdpr_forget_me.py script provides an option to delete personal data from the Personal Favorites where the agent fills the information about the user.
The script can be run with the following parameters:
gdpr_forget_me.py [-h] [--gws GWS] --cass_keyspace CASS_KEYSPACE --cass_hostname CASS_HOSTNAME --cass_port CASS_PORT --search SEARCH [--group_name GROUP_NAME] [--cleanup CLEANUP] [--gws_username GWS_USERNAME] [--gws_user_password GWS_USER_PASSWORD] [--gws_additional_headers GWS_ADDITIONAL_HEADERS]
Prerequisites
The following software packages are required to run this script:
- Python 2.7
- PyCassa 1.9.1
Parameters
Parameter Name | Mandatory | Description |
---|---|---|
--cass_keyspace CASS_KEYSPACE | Yes | The Cassandra keyspace name. |
--cass_hostname CASS_HOSTNAME | Yes | The Cassandra host name. |
--cass_port CASS_PORT | Yes | The Cassandra thrift port. |
--search SEARCH | Yes | The text (email or phone number) to be searched for. |
-h, --help | No | Show this help message. |
--group_name GROUP_NAME | No | The user group name.For example, interaction-workspace-personal-favorites. |
--cleanup CLEANUP | No | When set to true, the script will send a request to GWS to delete the settings that match. the default value is false. |
--gws_username GWS_USERNAME | No | The GWS user name with admin privileges. This user is used to delete matching data via GWS API. |
--gws_user_password GWS_USER_PASSWORD | No | The password of the GWS user specified in gws_username. |
--gws_additional_headers GWS_ADDITIONAL_HEADERS | No | The additional headers that will be added to the GWS request. CSRF headers must be added here. Headers are presented as JSON. For example, {"header_name": "header_value"}. |
Example
The script will search personal data for deleting by email agent1@pizza.com in all settings groups, but will not delete, because --cleanup argument isn't specified.
- python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com
The script will search email agent1@pizza.com in all settings groups and delete via GWS API.
- python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws http://127.0.0.1:8090 --gws_username admin@pizza.com --gws_user_password password --cleanup true
The script will search email agent1@pizza.com in all settings groups and delete via GWS API. The password of gws_username will be encrypted.
- python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws http://127.0.0.1:8090 --cleanup true
The script will search agent1@pizza.com in settings group with name 'interaction-workspace-personal-favorites' and delete via GWS API. 2 additional headers will be added to requests (X-CSRF-HEADER with value X-CSRF-TOKEN and X-CSRF-TOKEN with value 1434429f-81a8-459a-9d6d-792d17644471).
- python gdpr_forget_me.py --cass_keyspace sipfs --cass_hostname localhost --cass_port 9160 --search agent1@pizza.com --gws https://gws-api-host:8099 --gws_username admin@pizza.com --gws_user_password password --cleanup true --group_name interaction-workspace-personal-favorites --gws_additional_headers "{\"X-CSRF-HEADER\": \"X-CSRF-TOKEN\", \"X-CSRF-TOKEN\": \"1434429f-81a8-459a-9d6d-792d17644471\"}"