Secret stores

The following table lists secret stores supported by the Dapr secrets building block. Learn how to set up different secret stores for Dapr secrets management.

Table headers to note:

HeaderDescriptionExample
StatusComponent certification statusAlpha
Beta
Stable
Component versionThe version of the componentv1
Since runtime versionThe version of the Dapr runtime when the component status was set or updated1.11

Alibaba Cloud

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
AlibabaCloud OOS Parameter StoreMultiple Key-Values Per Secret: Not supportedAlphav11.6

Amazon Web Services (AWS)

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
AWS Secrets Manager✅Betav11.15
AWS SSM Parameter StoreMultiple Key-Values Per Secret: Not supportedAlphav11.1

Generic

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
HashiCorp Vault✅Stablev11.10
Kubernetes secrets✅Stablev11.0
Local environment variablesMultiple Key-Values Per Secret: Not supportedStablev11.9
Local file✅Stablev11.9
OpenBao✅Stablev11.16

Google Cloud Platform (GCP)

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
GCP Secret ManagerMultiple Key-Values Per Secret: Not supportedAlphav11.0

HuaweiCloud Cloud

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
HuaweiCloud Cloud Secret Management Service (CSMS)Multiple Key-Values Per Secret: Not supportedAlphav11.8

Microsoft Azure

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
Azure Key VaultMultiple Key-Values Per Secret: Not supportedStablev11.0

Tencent Cloud

ComponentMultiple Key-Values Per SecretStatusComponent versionSince runtime version
Tencent Cloud Secrets Manager (SSM)Multiple Key-Values Per Secret: Not supportedAlphav11.9

Multiple key-values per secret

The Multiple Key-Values Per Secret column in the tables above indicates whether the secret store can return multiple key-value pairs from a single secret.

When a secret store supports multiple key-values per secret (✅), retrieving a secret returns a JSON object with the keys stored in that secret as fields. The secret name is not part of the response. For example, retrieving the db-secret secret from a Kubernetes secret store returns:

{
  "key1": "value1",
  "key2": "value2"
}

When a secret store does not support multiple key-values per secret (empty box), the secret store has name/value semantics: retrieving a secret returns a JSON object with a single field, where the field name is the secret name and the value is the secret value. For example, retrieving the same db-secret secret returns:

{
  "db-secret": "value1"
}

Some secret stores let you choose between the two behaviors through a component metadata field, such as multipleKeyValuesPerSecret for AWS Secrets Manager, multiValued for the local file secret store, and vaultValueType for HashiCorp Vault. See the secrets API reference for more details on the response format.