SSH
Automate the fulfillment of data subject access, deletion, opt-out, and identifier retrieval requests using a command line argument on a remote server.
Configuration
Create a Connection object with a SSH ConnectorType to instantiate a connection to a remote server. Once the object has been created and the credentials have been stored, place the object in the RMAgentConfig connections
array.
Example Configuration
{
"name": "DSR Script",
"uuid": "95e99cea-e402-499c-a6f8-0db6852ecfec",
"capabilities": ["privacy/access", "privacy/delete", "privacy/optout"],
"mode": "live",
"connector_type": "SSH",
"queries": {
"access": ["./dsr.py access {email}"],
"delete": ["./dsr.py delete {email}"],
"optout": ["./dsr.py optout {email}"]
},
"credentials_location": "arn:aws:secretsmanager:Region:AccountId:secret:datagrail.ssh"
}
Credential Creation
The SSH connection supports both password and private key authentication (recommended). Create a new secret in you credentials manager with the following key/value pairs:
{
"username": "<username>",
"password": "(optional) <password>",
"private_key": "(preferred over password) <PEM encoded private key>",
"server": "<hostname or IP Address of server>",
"port": "(optional) <port to connect to, defaults to 22>"
}
Query Syntax and Parameter Binding
Queries are command line arguments that support named argument placeholders to format the string with identifier values.
In the above example, for an access request for example@datagrail.io, the connection would call ./dsr.py access example@datagrail.io
.
Response Format
Results should be reported via stdout
as an array of objects. Each object in the array will result in a separate file for you data subject.
The environment variable LOGLEVEL
can be adjusted to DEBUG
to get more detailed feedback if responses are malformed. Be aware that this level of logging has the potential to expose sensitive data.
Some examples of properly formatted responses:
[
{
"first_name": "Howard",
"last_name": "Spears",
"address1": {
"street": "123 Any Street",
"city": "San Francisco",
"state": "California",
"zip_code": "92123"
}
},{
"first_name": "Susan",
"last_name": "Spears",
"address1": {
"street": "123 Any Street",
"city": "San Francisco",
"state": "California",
"zip_code": "92123"
}
}
]
[
{
"status": "success"
}
]
Disclaimer: The information contained in this message does not constitute as legal advice. We would advise seeking professional counsel before acting on or interpreting any material.