#secrets-manager #aws-sdk #aws #sdk #aws-access #cli-tool #ssm

bin+lib secpar

利用 AWS Rust SDK for Secrets Manager & Parameter Store 的工具

2 个版本

0.1.2 2023 年 12 月 2 日
0.1.1 2022 年 8 月 18 日

#624开发工具

Apache-2.0

19KB
369

SecPar

一个利用新 AWS SDK for Rust 管理密钥的 [Sec]rets Manager 和 [Par]ameter Store CLI 工具。

Secrets Manager 与 Parameter Store 的比较

设置

AWS Rust SDK 将按照此顺序尝试获取凭证

AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY 环境变量 -> ~/.aws/credentials -> ~/.aws/config.

因此,为 AWS Rust SDK 设置凭证的一种方式是 ~/.aws/credentials,以下是一个示例

[default]
aws_access_key_id=<key_id>
aws_secret_access_key=<secret>
region=us-east-1

有关其他方法,请参阅 SDK 设置页面

使用示例

Secrets Manager

  • 列出所有密钥
cargo run -- sec list
  • 获取特定密钥值
cargo run -- sec get --name <secret_name>
  • 删除特定密钥
cargo run -- sec delete --name <secret_name>
  • 描述特定密钥
cargo run -- sec describe --name <secret_name>
  • 创建特定密钥
cargo run -- sec create --name <secret_name> --secret <secret_value>

Parameter Store

  • 列出所有参数
cargo run -- par list
  • 获取特定参数值
cargo run -- par get --name <parameter_name>
  • 删除特定参数
cargo run -- par delete --name <parameter_name>
  • 创建特定参数
cargo run -- par create --name <parameter_name> --value <parameter_value>
  • 创建大量参数
cargo run -- par apply --path <path_to_parameter_spec_file>

Parameter Store Spec 格式

对于 par apply 子子命令,规范文件的格式如下。规范是 yaml 格式,每个参数条目的名称和值由 : ,即冒号符号分隔。

parameters:
  - /secpar/TEST:TEST_VALUE
  - /secpar/qa/SASL_USERNAME:USERNAME

依赖

~48MB
~717K SLoC