binxio/ssm-get-parameterbinxio/ssm-get-parameter 是一个轻量级命令行工具镜像,用于从AWS Systems Manager Parameter Store(SSM参数存储)安全、便捷地获取参数。该工具简化了与AWS SSM参数存储的交互,无需手动编写AWS SDK代码,即可直接获取标准参数、安全字符串参数及历史版本参数,适用于各类自动化场景和容器化环境。
ssm:GetParameter权限)bashdocker run --rm \ -e AWS_ACCESS_KEY_ID=<your-access-key> \ -e AWS_SECRET_ACCESS_KEY=<your-secret-key> \ -e AWS_REGION=us-east-1 \ binxio/ssm-get-parameter \ --name /my-app/database-url
bashdocker run --rm \ -e AWS_REGION=us-west-2 \ binxio/ssm-get-parameter \ --name /my-app/db-password \ --with-decryption
bashdocker run --rm \ -e AWS_PROFILE=my-profile \ # 使用本地AWS配置文件 -v ~/.aws:/root/.aws:ro \ # 挂载本地AWS配置目录 binxio/ssm-get-parameter \ --name /my-app/api-key \ --version 2
| 参数 | 描述 | 是否必填 |
|---|---|---|
--name | SSM参数存储中的参数完整路径(如/my-app/config) | 是 |
--version | 参数版本号(默认为最新版本) | 否 |
--with-decryption | 解密安全字符串参数(若参数类型为"安全字符串",需指定此选项) | 否 |
--region | AWS区域(可通过环境变量AWS_REGION指定,优先级高于命令行参数) | 否 |
--help | 显示帮助信息 | 否 |
该工具通过以下环境变量读取AWS配置,与AWS CLI兼容:
| 环境变量 | 描述 | 示例值 |
|---|---|---|
AWS_ACCESS_KEY_ID | AWS访问密钥ID(用于认证,若未使用IAM角色或配置文件) | AKIAEXAMPLE123 |
AWS_SECRET_ACCESS_KEY | AWS密钥(与AWS_ACCESS_KEY_ID配对) | secret123example |
AWS_REGION | AWS区域(如未指定,默认使用us-east-1) | eu-west-1 |
AWS_PROFILE | AWS配置文件名称(需配合挂载~/.aws/credentials文件使用) | my-dev-profile |
AWS_DEFAULT_REGION | 若未设置AWS_REGION,将使用此环境变量作为默认区域 | ap-southeast-1 |
在EC2实例、ECS任务或EKS Pod中运行时,可通过IAM角色自动获取凭证,无需指定AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量。只需为实例/任务附加包含ssm:GetParameter权限的IAM策略即可。
示例IAM策略(最小权限):
json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:GetParameter", "Resource": "arn:aws:ssm:<region>:<account-id>:parameter/my-app/*" } ] }
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务