Skip to main content

Platform

The Request Manager Agent requires the support of a credentials manager and cloud storage bucket to facilitate data subject request processing. A credentials manager stores client credentials, connection strings, PEM keys, API tokens, etc. that authenticate the agent's various requests, and cloud storage bucket persists the results of access requests so that Personally Identifiable Information (PII) never leaves your private network.

Schemas

The platform object in the DATAGRAIL_AGENT_CONFIG denotes the credentials manager and cloud storage that the Agent should use.

Platform Schema

Fields
credentials_managerobject(CredentialsManager) (required)
Credentials manager settings.
storage_managerobject(StorageManager) (required)
Cloud storage settings.
JSON Representation
{
"credentials_manager": object(CredentialsManager),
"storage_manager": object(StorageManager)
}

CredentialsManager

Fields
providerenum(CredentialsManagerProvider) (required)
The credentials manager provider.
optionsobject(CredentialsManagerOptions) (optional)
Metadata about the credentials manager.
JSON Representation
{
"provider": enum(CredentialsManagerProvider),
"options": object(CredentialsManagerOptions)
}

CredentialsManagerProvider

Enums
AWSSSMParameterStoreAmazon Web Services Parameter Store.
AWSSecretsManagerAmazon Web Services Secrets Manager.
AzureKeyVaultMicrosoft Azure Key Vault.
GCPGoogle Secret Manager.
JSONFileJSON file for secrets injection.
JSONFile Schema

The JSON file for secrets should contain the credentials in the following format:

JSONFile Schema
{
"<credentials_name_1>": {
"<key_1>": "<value_1>",
"<key_2>": "<value_2>"
},
...
}

Connector credentials should be stored in the same file and format. For example, a Postgres connection credentials would look like:

Example JSONFile for Postgres
{
"datagrail_credentials": {
"token": "<DataGrail API token>"
},
"datagrail_agent_credentials": {
"client_id": "<identifier for the credential e.g. 'datagrail'>",
"client_secret": "<generated password>"
},
"postgres": {
"user": "<DB username>",
"password": "<DB password>",
"server": "<server domain name or IP address>",
"port": "<port, e.g. 5432>",
"database": "<DB, e.g. BikeStores>"
}
}

The top-level keys of the JSON file are arbitrary and used to identify the credentials locations in the DATAGRAIL_AGENT_CONFIG. In the above examples, the credentials locations would be datagrail_credentials, datagrail_agent_credentials, and postgres, respectively.

CredentialsManagerOptions

Fields
secret_vaultstring (optional)
Specifies the Azure Key Vault name. Required when using AzureKeyVault.
project_idstring (optional)
Specifies the Google Cloud project ID. Required when using GCP.
filenamestring (optional)
Specifies the credentials file location/name. Required when using JSONFile.
JSON Representation
{
"secret_vault": string,
"project_id": string,
"filename": string
}

StorageManager

Fields
providerenum(StorageManagerProvider) (required)
The cloud storage manager provider.
optionsobject(StorageManagerOptions) (optional)
Metadata about the storage manager. Required for some providers.
JSON Representation
{
"provider": enum(StorageManagerProvider),
"options": object(StoragesManagerOptions)
}

StorageManagerProvider

Enums
AWSS3string Amazon Web Services S3
AzureBlobstring Microsoft Azure Blob
BackblazeB2string Backblaze B2
GCPCloudStorestring Google Cloud Storage

StorageManagerOptions

Fields
bucketstring (required)
The name of the cloud storage bucket
project_idstring (optional)
Required when using AzureBlob or GCPCloudStore to denote the project ID.
regionstring (optional)
Required when using BackblazeB2 to denote the region.
endpointstring (optional)
Required when using BackblazeB2 to denote the endpoint.
JSON Representation
{
"bucket": string,
"project_id": string,
"region": string,
"endpoint": string
}

 

Need help?
If you have any questions, please reach out to your dedicated Account Manager or contact us at support@datagrail.io.

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.