Store secrets in Vault
Vault secures, stores, and controls access to tokens, passwords, certificates, and other sensitive secrets. Store sensitive secrets in Vault using InfluxDB’s built-in Vault integration.
To store secrets in Vault, complete the following steps:
- Start a Vault server.
- Provide Vault server address and token.
- Start InfluxDB.
- Manage secrets through the InfluxDB API.
Start a Vault server
Start a Vault server and ensure InfluxDB has network access to the server.
The following links provide information about running Vault in both development and production:
InfluxDB supports the Vault KV Secrets Engine Version 2 API only. When you create a secrets engine, enable the kv-v2 version by running:
1. vault secrets enable kv-v2
For this example, install Vault on your local machine and start a Vault dev server.
1. vault server -dev
Provide Vault server address and token
Use influxd Vault-related tags or Vault environment variables to provide connection credentials and other important Vault-related information to InfluxDB.
Required credentials
Vault address
Provide the API address of your Vault server (available in the Vault server output) using the --vault-addr flag when starting influxd or with the VAULT_ADDR environment variable.
Vault token
Provide your Vault token (required to access your Vault server) using the --vault-token flag when starting influxd or with the VAULT_TOKEN environment variable.
Your Vault server configuration may require other Vault settings.
Start InfluxDB
Start the influxd service with the --secret-store option set to vault any other necessary flags.
1. influxd --secret-store vault \
2. --vault-addr=http://127.0.0.1:8200 \
3. --vault-token=s.0X0XxXXx0xXxXXxxxXxXxX0x
influxd includes the following Vault configuration options. If set, these flags override any Vault environment variables:
--vault-addr--vault-cacert--vault-capath--vault-client-cert--vault-client-key--vault-max-retries--vault-client-timeout--vault-skip-verify--vault-tls-server-name--vault-token
For more information, see InfluxDB configuration options.
Manage secrets through the InfluxDB API
Use the InfluxDB /org/{orgID}/secrets API endpoint to add tokens to Vault. For details, see Manage secrets.
