datadog-secret-backend is an implementation of the Datadog Agent Secrets Management executable supporting multiple backend secret providers.
This project is not FIPS compliant.
IMPORTANT NOTE: If you're using an Agent version 7.70 or newer, setup is significantly simplified as the datadog-secret-backend binary is now bundled inside the Agent itself. In that case, you don’t need to install or manage the binary separately--please use the secret_backend_type and secret_backend_config config options in your datadog.yaml file instead. This method of setup is not compatible with FIPS either.
- For agents before <
7.70.0
, you need to install the secret backend manually: Follow the manual installation instructions below. - Configure the backend type and its settings: Refer to the supported backends section for more information.
- You should reference secrets in your datadog.yaml file using the ENC[backend_id:secret_id] format. Here is more information on how this works.
- Any necessary configuration will be specified in a file named
datadog-secret-backend.yaml
which should be located in the same directory as the installeddatadog-secret-backend
executable.
Backend | Provider | Description |
---|---|---|
aws.secrets | aws | Datadog secrets in AWS Secrets Manager |
aws.ssm | aws | Datadog secrets in AWS Systems Manager Parameter Store |
azure.keyvault | azure | Datadog secrets in Azure Key Vault |
hashicorp.vault | hashicorp | Datadog secrets in Hashicorp Vault |
file.json | file | Datadog secrets in local JSON files |
file.yaml | file | Datadog secrets in local YAML files |
-
Make a new folder to hold all the files required for this module in one place (in this example will use
datadog-secret-backend
:## Linux mkdir -p /etc/datadog-secret-backend ## Windows mkdir 'C:\Program Files\datadog-secret-backend\'
-
Download the most recent version of the secret backend module by hitting the latest release endpoint from this repo by running one of the commands below:
## Linux (amd64) curl -L https://github.com/DataDog/datadog-secret-backend/releases/download/v0.3.0/datadog-secret-backend-linux-amd64.tar.gz \ -o /tmp/datadog-secret-backend-linux-amd64.tar.gz ## Linux (386) curl -L https://github.com/DataDog/datadog-secret-backend/releases/download/v0.3.0/datadog-secret-backend-linux-386.tar.gz \ -o /tmp/datadog-secret-backend-linux-386.tar.gz ## Windows (amd64) Invoke-WebRequest https://github.com/DataDog/datadog-secret-backend/releases/download/v0.3.0/datadog-secret-backend-windows-amd64.zip -OutFile 'C:\Program Files\datadog-secret-backend\datadog-secret-backend-windows-amd64.zip' ## Windows (386) Invoke-WebRequest https://github.com/DataDog/datadog-secret-backend/releases/download/v0.3.0/datadog-secret-backend-windows-386.zip -OutFile 'C:\Program Files\datadog-secret-backend\datadog-secret-backend-windows-386.zip'
-
Once you have the file from the github repo, you'll need to unzip it to get the executable:
## Linux (amd64, change end of filename to "386" if needed) tar -xvzf /tmp/datadog-secret-backend-linux-amd64.tar.gz \ -C /etc/datadog-secret-backend ## Windows (amd64, change end of filename to "386" if needed) Expand-Archive -LiteralPath 'C:\Program Files\datadog-secret-backend\datadog-secret-backend-windows-amd64.zip' -DestinationPath 'C:\Program Files\datadog-secret-backend\'
-
(Optional) Remove the old tar'd file:
## Linux rm /tmp/datadog-secret-backend-linux-amd64.tar.gz ## Windows Remove-Item 'C:\Program Files\datadog-secret-backend\datadog-secret-backend-windows-amd64.zip'
-
Update the executable to have the required Agent security permissions.
-
Provide an executable path to the datadog agent via the main
datadog.yaml
file using thesecret_backend_command
variable:## datadog.yaml ## secret_backend_command: /etc/datadog-secret-backend/datadog-secret-backend
-
Provide a configuration for the secrets executable. Documentation for each supported provider can be found here.
Reference each supported backend type's documentation on specific usage examples and configuration options.