You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Collecting Metrics/Secret Stores/AWS Secrets Manager.mdx
+29-20Lines changed: 29 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,9 @@ Kind: aws-sm
25
25
26
26
## Overview
27
27
28
-
Use AWS Secrets Manager as a secretstore backend when you want Netdata collectors to read secrets from AWS at runtime instead of storing them in plain text in collector configuration files.
28
+
Netdata can pull collector credentials directly from AWS Secrets Manager at runtime, so you never store passwords or tokens in plain-text configuration files.
29
29
30
-
This page covers AWS Secrets Manager specific setup. For the shared resolver workflow and syntax, see [Secrets Management](/docs/collecting-metrics/secrets-management).
30
+
This page covers AWS Secrets Manager specific setup. For the full resolver overview and syntax reference, including simpler alternatives like `${env:...}`, `${file:...}`, and `${cmd:...}`, see [Secrets Management](/docs/collecting-metrics/secrets-management).
31
31
32
32
33
33
### Limitations
@@ -59,7 +59,7 @@ For production on AWS, prefer `ecs` or `imds` over `env` so credentials are supp
59
59
60
60
#### Allow access to Secrets Manager
61
61
62
-
The AWS identity used by this secretstore must be allowed to read the secrets you reference in collector configs in the configured `region`.
62
+
The AWS identity used by this secretstore must have the `secretsmanager:GetSecretValue` permission on the secrets you reference in collector configs. Scope the IAM policy to only the secret ARNs Netdata needs.
63
63
64
64
65
65
#### Plan for file-based changes
@@ -81,7 +81,7 @@ The following options can be defined for this secretstore backend.
Copy file name to clipboardExpand all lines: docs/Collecting Metrics/Secret Stores/Azure Key Vault.mdx
+41-13Lines changed: 41 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,9 @@ Kind: azure-kv
25
25
26
26
## Overview
27
27
28
-
Use Azure Key Vault as a secretstore backend when you want Netdata collectors to read secrets from Azure at runtime instead of storing them in plain text in collector configuration files.
28
+
Netdata can pull collector credentials directly from Azure Key Vault at runtime, so you never store passwords or tokens in plain-text configuration files.
29
29
30
-
This page covers Azure Key Vault specific setup. For the shared resolver workflow and syntax, see [Secrets Management](/docs/collecting-metrics/secrets-management).
30
+
This page covers Azure Key Vault specific setup. For the full resolver overview and syntax reference, including simpler alternatives like `${env:...}`, `${file:...}`, and `${cmd:...}`, see [Secrets Management](/docs/collecting-metrics/secrets-management).
31
31
32
32
33
33
### Limitations
@@ -59,7 +59,7 @@ Prefer `managed_identity` for production on Azure when Netdata runs on an Azure
59
59
60
60
#### Allow secret read access
61
61
62
-
The Azure identity used by this secretstore must be allowed to read secret values from the target vaults.
62
+
The Azure identity used by this secretstore must be allowed to read secret values from the target vaults. Assign the `Key Vault Secrets User` built-in role scoped to the vault. Do not use broader roles like `Key Vault Administrator`.
63
63
64
64
65
65
#### Plan for file-based changes
@@ -133,6 +133,20 @@ jobs:
133
133
client_id: 00000000-0000-0000-0000-000000000000
134
134
client_secret: your-client-secret
135
135
136
+
```
137
+
###### Service principal with credentials from environment
138
+
139
+
Use `${env:...}` resolvers for sensitive fields to avoid storing the client secret in plain text in the secretstore config file.
140
+
141
+
```yaml
142
+
jobs:
143
+
- name: azure_prod
144
+
mode: service_principal
145
+
mode_service_principal:
146
+
tenant_id: "${env:AZURE_TENANT_ID}"
147
+
client_id: "${env:AZURE_CLIENT_ID}"
148
+
client_secret: "${env:AZURE_CLIENT_SECRET}"
149
+
136
150
```
137
151
###### Managed identity
138
152
@@ -160,10 +174,10 @@ jobs:
160
174
161
175
## Use in collector configs
162
176
163
-
Reference Azure Key Vault secrets from collector configs with the `azure-kv` secretstore kind.
177
+
Use the `${store:azure-kv:...}` syntax to reference Azure Key Vault secrets in any string field of a collector configuration file.
164
178
165
179
166
-
The operand is `vault-name/secret-name`.
180
+
The operand is `vault-name/secret-name`, for example: `${store:azure-kv:azure_prod:my-keyvault/mysql-password}`.
167
181
168
182
Netdata requests the latest secret value from `https://<vault-name>.vault.azure.net/secrets/<secret-name>?api-version=7.4`.
169
183
Both `vault-name` and `secret-name` must use only letters, numbers, and hyphens.
Copy file name to clipboardExpand all lines: docs/Collecting Metrics/Secret Stores/Google Secret Manager.mdx
+32-22Lines changed: 32 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,14 +25,14 @@ Kind: gcp-sm
25
25
26
26
## Overview
27
27
28
-
Use Google Secret Manager as a secretstore backend when you want Netdata collectors to read secrets from GCP at runtime instead of storing them in plain text in collector configuration files.
28
+
Netdata can pull collector credentials directly from Google Secret Manager at runtime, so you never store passwords or tokens in plain-text configuration files.
29
29
30
-
This page covers Google Secret Manager specific setup. For the shared resolver workflow and syntax, see [Secrets Management](/docs/collecting-metrics/secrets-management).
30
+
This page covers Google Secret Manager specific setup. For the full resolver overview and syntax reference, including simpler alternatives like `${env:...}`, `${file:...}`, and `${cmd:...}`, see [Secrets Management](/docs/collecting-metrics/secrets-management).
31
31
32
32
33
33
### Limitations
34
34
35
-
If you omit the version in the operand, Netdata reads the `latest` secret version automatically.
35
+
Netdata reads existing secrets from Google Secret Manager. It does not create, rotate, or manage those secrets. If you omit the version in the operand, Netdata reads the `latest` secret version automatically.
36
36
37
37
38
38
## Setup
@@ -63,7 +63,7 @@ If you use `service_account_file`, the JSON file contains a private key. Keep it
63
63
64
64
#### Allow Secret Manager access
65
65
66
-
The Google identity used by this secretstore must be allowed to access the referenced secrets in Google Secret Manager.
66
+
The Google identity used by this secretstore must have the `roles/secretmanager.secretAccessor` IAM role on the secrets you reference from collector configs. Do not use broader roles like `roles/secretmanager.admin`.
67
67
68
68
69
69
#### Plan for file-based changes
@@ -85,14 +85,14 @@ The following options can be defined for this secretstore backend.
|**Service Account File**| mode_service_account_file.path |Path to a service account JSON file. Required when `mode` is `service_account_file`. The file contains a private key and should be readable only by the `netdata` user or another tightly scoped owner. || yes |
88
+
|**Service Account File**| mode_service_account_file.path |Absolute path to a service account JSON file. Required when `mode` is `service_account_file`. The file contains a private key and should be readable only by the `netdata` user or another tightly scoped owner. || yes |
89
89
90
90
<aid="option-mode"></a>
91
91
##### mode
92
92
93
93
Supported values:
94
94
95
-
-`metadata`: get an access token from the Google metadata server.
95
+
-`metadata`: get an access token from the Google metadata server. This works in GCE, GKE (with Workload Identity configured), Cloud Run, and other Google Cloud environments where the metadata server is reachable.
96
96
-`service_account_file`: use a local service account JSON file.
97
97
98
98
Prefer `metadata` for production when Netdata runs in a supported Google Cloud environment. Use `service_account_file` when you need explicit credentials or when the metadata server is not available.
@@ -146,14 +146,15 @@ jobs:
146
146
147
147
## Use in collector configs
148
148
149
-
Reference Google Secret Manager secrets from collector configs with the `gcp-sm` secretstore kind.
149
+
Use the `${store:gcp-sm:...}` syntax to reference Google Secret Manager secrets in any string field of a collector configuration file.
150
150
151
151
152
152
The operand is `project/secret` or `project/secret/version`.
153
153
154
-
If you omit the version, Netdata uses `latest`.
154
+
- Use `project/secret` to read the latest version, for example: `${store:gcp-sm:gcp_prod:my-project/mysql-password}`.
155
+
- Use `project/secret/version` to read a specific version, for example: `${store:gcp-sm:gcp_prod:my-project/mysql-password/3}`.
156
+
155
157
Project IDs may use letters, numbers, `.`, `_`, `:`, or `-`. Secret names and versions may use letters, numbers, `_`, or `-`.
156
-
When you specify a version, use the version name accepted by Secret Manager, such as `3`.
0 commit comments