将文件直接传递给AWS SSM参数存储?

时间:2018-02-07 08:29:53

标签: amazon-web-services aws-cli

好奇我如何将文件直接传递给aws ssm参数存储? e.g。

# Put into ssm parameter store
cat my_github_private.key | aws ssm put-parameter --region ap-southeast-1 --name MY_GITHUB_PRIVATE_KEY --type SecureString --key-id alias/aws/ssm --value ??? 
# And read it back 
aws ssm get-parameter --region ap-southeast-1 --name MY_GITHUB_PRIVATE_KEY --with-decryption --query Parameter.Value --output text > my_github_private.key.1
# Two should be identical
diff my_github_private.key my_github_private.key.1

3 个答案:

答案 0 :(得分:4)

您可以直接添加到命令行参数吗?

而不是从stdin获取值
aws ssm put-parameter \
    --region ap-southeast-1 \
    --name MY_GITHUB_PRIVATE_KEY \
    --type SecureString \
    --key-id alias/aws/ssm \
    --value "$(cat my_github_private.key)"

答案 1 :(得分:0)

如果您使用的是Terraform:

data "local_file" "yourkeyfile" {
    filename = "keys/yourkey.pem"
}
resource "aws_ssm_parameter" "aresource-name-for-your-key" {
  name  = "/the/ssm/key"
  type  = "SecureString"
  value = "${data.local_file.yourkeyfile.content}"
}

例如,请记住使用blackbox

对yourkey.pem进行加密。

答案 2 :(得分:0)

@tkwargs, 如何仅从key.json文件和示例中获取值

aws ssm put-parameter \
    --region ap-southeast-1 \
    --name MY_GITHUB_PRIVATE_KEY \
    --type SecureString \
    --key-id alias/aws/ssm \
    --value "$(cat my_github_private.json file and get value only)"