如何在 AWS Secret Manager 中存储 jks 证书

dc9*_*211 5 java amazon-web-services aws-sdk aws-secrets-manager

我需要从我的 java 应用程序安全地存储和获取 keystore.jks 和 truststore.jks 文件,以便与外部应用程序进行安全通信。

我们可以将这些文件存储在 AWS Secret Manager 中吗?

我找不到合适的文档来将 jks 证书存储为 AWS 机密管理器中的机密。

Mar*_*k B 5

您可以将这些作为二进制机密存储在 SecretsManager 中,只要它们低于大小限制即可。或者,您可以将它们存储在使用 KMS CMK 加密的私有 S3 存储桶中。

由于 Java 期望在 Java 应用程序启动之前文件系统上存在 truststore.jks 和 keystore.jks 文件,因此您需要编写 docker 容器脚本以在启动 Java 应用程序之前将文件下载到正在运行的容器中,例如通过在 Docker 映像中包含和使用 AWS CLI 工具。

要授予 ECS 应用程序下载文件的权限,您需要为 ECS 任务分配适当的 IAM 权限。


Ami*_*mar 2

您可以从 AWS Secret Manager 添加和检索证书。但这也取决于您的证书的大小。请阅读此处:AWS Secrets Manager 的配额

AWS Secrets Manager 的密钥有各种限制,例如字符长度 (65,536)。

阅读文档:在 AWS Secrets Manager 中存储证书

注意:您将需要使用 HTTP 解析器/Lambda 解析器才能对 AWS Secrets Manager 进行 http 调用以获取密钥。