Skip to main content

Storing Credentials

The Request Manager Agent uses a secrets manager to securely store the various credentials required for authenticating with internal systems and DataGrail. This guide provides instructions for storing credentials in the supported platforms.

Amazon Web Services

Secrets Manager

  1. Navigate to the AWS Secrets Manager Console.
  2. Select Store a new secret.
  3. Choose Other type of secrets and enter the required key-value pairs for the secret type.
  4. Click Next and provide a name for the secret, e.g., datagrail_agent_credentials.
  5. Optionally, add a description and tags.
  6. Select Next, review the settings, and then click Store.

Parameter Store

  1. Navigate to the AWS Systems Manager Parameter Store Console.
  2. Select Create parameter.
  3. Enter a name for the parameter, e.g., /datagrail/agent/credentials.
  4. Choose SecureString as the type.
  5. Enter the value of the secret with the required key-value pairs for the secret type.
  6. Optionally, add a description and tags.
  7. Select Create parameter.

Google Cloud Platform

Secret Manager

  1. Navigate to the Google Cloud Secret Manager Console.
  2. Select Create Secret.
  3. Enter a name for the secret, e.g., datagrail_agent_credentials.
  4. Enter the value of the secret with the required key-value pairs for the secret type.
  5. Optionally, add a description and labels.
  6. Click Create.

Microsoft Azure

Key Vault

  1. Navigate to the Azure Key Vault Console.
  2. Select your Key Vault or create a new one.
  3. In the left menu, select Secrets and then click + Generate/Import.
  4. Enter a name for the secret, e.g., datagrail_agent_credentials.
  5. Choose Manual for the upload options and enter the value of the secret with the required key-value pairs for the secret type.
  6. Optionally, add a description and tags.
  7. Click Create.

JSONFile

Credentials can be stored in a JSON file mounted in a volume. This approach is suitable when using Kubernetes Secrets or HashiCorp Vault to store credentials.

The file adheres to a schema where each top-level key represents the location of a specific credential in the file.

JSONFile Schema
{
"<first_credential>": {
"<key_1>": "<value_1>",
"<key_2>": "<value_2>",
"<key_n>": "<value_n>"
},
"<second_credential>": {
"<key_1>": "<value_1>",
"<key_2>": "<value_2>",
"<key_n>": "<value_n>"
},
"<nth_credential>": {
"<key_1>": "<value_1>",
"<key_2>": "<value_2>",
"<key_n>": "<value_n>"
}
}

Once set, your JSON file might look something like this:

JSONFile Example
{
"datagrail_agent_credentials": {
"client_id": "datagrail",
"client_secret": "my-super-secret-password"
},
"datagrail_credentials": {
"token": "dg_ap_api_key.2weATHF4h2KTWERkJrGdsY2PRscfwTbt"
},
"postgres_credentials": {
"user": "datagrail-rm-agent",
"password": "xindbDX8NUF8oEkYCEKiYFvUKthP4Vmt",
"host": "staging.4Pe4q8dMtLVB.us-west-2.rds.amazonaws.com",
"port": 5432,
"dbname": "Customers"
}
}

 

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.