【问题标题】:SSL certs with AWS SSM Parameter Store使用 AWS SSM 参数存储的 SSL 证书
【发布时间】:2020-03-30 16:28:08
【问题描述】:

我正在尝试将 SSL 证书传递给 AWS SSM 参数存储 SSL 证书也受密码保护

我的问题是如何在 ECS 的容器内将其作为证书文件检索?我确实知道如何使用 SSM 参数存储来存储秘密环境变量,但我如何使用它来创建一个秘密文件到容器上的某个位置?我们这里有一个字符串和一个文件,SSM是如何管理文件的?

谢谢

【问题讨论】:

  • Parameter Store 不是文件存储机制。您可以将证书存储在 S3 中,并将 S3 URI 存储在 Parameter Store 中。或者您可以以某种文本格式(可能是 base64 编码?)导出证书并将其存储在 Parameter Store 中。您还应该了解 ACM 有哪些选项可以帮助您生成和轮换证书,如果可以接受,可能部署在 ALB/NLB 上。

标签: amazon-web-services amazon-ecs ssm aws-parameter-store


【解决方案1】:

我不知道从 SSM 创建文件的方法,但我希望 Docker 容器中的 ENTRYPOINT 可以处理此逻辑

任务定义片段

{
  "containerDefinitions": [{
    "secrets": [{
      "name": "MY_SSM_CERT_FILE",
      "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:MY_SSM_CERT_FILE"
    },
    {
      "name": "MY_SSM_CERT_FILE_LOCATION",
      "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:MY_SSM_CERT_FILE_LOCATION"
    }]
  }]
}

entrypoint.sh

echo "$MY_SSM_CERT_FILE" >> $MY_SSM_CERT_FILE_LOCATION
// Run rest of the logic for application

Dockerfile

FROM ubuntu:16.04

COPY ./entrypoint.sh .entrypoint.sh

ENTRYPOINT ["./entrypoint.sh"]

【讨论】:

  • entrypoint.sh script 的唯一方法吗?还有其他方法吗?容器能否以其他方式将秘密作为文件提取?
  • 你可以使用 EFS 之类的东西来存储你想要的文件,然后在容器启动时挂载它们。但我认为那将是更多的编排。 docs.aws.amazon.com/AmazonECS/latest/developerguide/…
  • 否则,扩展您的部署管道。创建一个已经有证书的黄金映像,并使用 SSM 添加证书。那么下游镜像就完全不需要管理了
  • 我明白了……是的,这似乎是我想要的……我一尝试就会标记为答案,它有效……感谢您抽出宝贵时间
【解决方案2】:

您为什么不使用可以补充 AWS SSM 的 AWS Secret Manager?我认为秘密管理器支持秘密文件:

$ aws secretsmanager create-secret --name TestSecret --secret-string file://secret.txt       # The Secrets Manager command takes the --secret-string parameter from the contents of the file

查看此链接了解更多信息: https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html

下面的链接显示了如何将 Secrets Manager 与 SSM 集成 https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2019-12-14
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多