在 Alpine Linux 中访问 AWS Secrets Manager

Accessing AWS Secrets Manager in Alpine Linux

我正在 Alpine Linux 中访问 AWS Secrets Manager,但我看不到在 Linux 中不安装 jq 资源而只从秘密字符串获取值的方法。

我知道以下命令可以解决问题,但 jq 不是标准实用程序:

aws secretsmanager get-secret-value --secret-id secrets| jq --raw-output '.SecretString' | jq -r .<KeyName>

我一直在检查以下命令,但它会 return JSON 格式为 3 个键值对:

aws secretsmanager get-secret-value --secret-id secrets --query SecretString --output text

还有一种选择是使用 Systems Manager Parameter Store,这是可能的,但我不喜欢像在 Secrets Manager 中那样一对一地创建它们,您可以将用户名、密码、URL 存储在一个秘密字符串。

使用 jq 似乎是正确的,因为 AWS CLI 无法解释该字段。

这是因为密钥上的 SecretString 字段是 string,AWS CLI 不会将其解释为 JSON 对象:

{
    "ARN": "arn:aws:secretsmanager:ap-southeast-2:...:secret:foo-GZPisx",
    "Name": "foo",
    "VersionId": "...",
    "SecretString": "{\"my-key\":\"my-value\"}",      <-- This is a string
    "VersionStages": [
        "AWSCURRENT"
    ],
    "CreatedDate": 1601860373.721
}