Skip to content

Commit 99fedc8

Browse files
davafonsclaude
andcommitted
Add AWS SSM Parameter Store secrets adapter documentation
Document the new aws_ssm_parameter_store adapter and include a comparison table between 1Password, AWS Secrets Manager, and AWS SSM Parameter Store. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d5a5922 commit 99fedc8

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

docs/commands/secrets.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,45 @@ kamal secrets extract MyItem/REGISTRY_PASSWORD <SECRETS-FETCH-OUTPUT>
135135

136136
**Note:** The `--account` option should be set to your AWS CLI profile name, which is typically `default`. Ensure that your AWS CLI is configured with the necessary permissions to access AWS Secrets Manager.
137137

138+
## AWS SSM Parameter Store
139+
140+
[AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) provides secure, hierarchical storage for configuration data and secrets management.
141+
142+
First, install and configure [the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
143+
144+
Use the adapter `aws_ssm_parameter_store`:
145+
146+
```bash
147+
# Fetch parameters
148+
kamal secrets fetch --adapter aws_ssm_parameter_store --account default --from /myapp KEY1 KEY2
149+
150+
# Fetch parameters without a prefix
151+
kamal secrets fetch --adapter aws_ssm_parameter_store --account default KEY1
152+
153+
# Fetch parameters without specifying a profile (uses default AWS credentials)
154+
kamal secrets fetch --adapter aws_ssm_parameter_store --from /myapp KEY1 KEY2
155+
156+
# Extract the secret
157+
kamal secrets extract KEY1 <SECRETS-FETCH-OUTPUT>
158+
kamal secrets extract /myapp/KEY1 <SECRETS-FETCH-OUTPUT>
159+
```
160+
161+
**Note:** The `--account` option maps to the AWS CLI `--profile` flag. If omitted, the default AWS credential chain is used. All parameters are fetched with `--with-decryption`, so SecureString parameters are automatically decrypted.
162+
163+
### Comparing AWS secret stores with 1Password
164+
165+
| | 1Password | AWS Secrets Manager | AWS SSM Parameter Store |
166+
|---|---|---|---|
167+
| **Cost** | Paid plan required | $0.40/secret/month + $0.05 per 10K API calls | Free for Standard parameters (up to 10K); $0.05 per 10K API calls for Advanced |
168+
| **Best for** | Teams already using 1Password for password management | Storing complex secrets (JSON blobs, certificates, API keys) | Simple key-value configuration and secrets |
169+
| **Secret size** | Up to 1 MB per item | Up to 64 KB per secret | Up to 4 KB (Standard) or 8 KB (Advanced) |
170+
| **Rotation** | Manual | Built-in automatic rotation with Lambda | No built-in rotation |
171+
| **Versioning** | Version history included | Automatic versioning | Automatic versioning |
172+
| **Encryption** | End-to-end encryption | AWS KMS | AWS KMS (SecureString type) |
173+
| **Access control** | 1Password vaults and groups | IAM policies | IAM policies |
174+
| **External dependency** | Requires 1Password account and CLI | AWS-native (no extra dependency if already on AWS) | AWS-native (no extra dependency if already on AWS) |
175+
| **`--account` required** | Yes (1Password account) | Yes (AWS CLI profile) | No (uses default AWS credentials) |
176+
138177
## Doppler
139178

140179
First, install and configure [the Doppler CLI](https://docs.doppler.com/docs/install-cli).

0 commit comments

Comments
 (0)