我需要安全地从Java应用程序中存储和获取keystore.jks和truststore.jks文件,以便与外部应用程序进行安全通信。
我们可以将这些文件存储在AWS Secret Manager中吗?
我找不到适当的文档将jks证书作为密钥存储在AWS Secret Manager中。
答案 0 :(得分:2)
您可以将它们存储为SecretsManager中的二进制密钥,只要它们不超过大小限制即可。另外,您也可以将它们存储在使用KMS CMK加密的专用S3存储桶中。
由于Java希望在Java应用程序启动之前将truststore.jks和keystore.jks文件存在于文件系统中,因此您需要编写Docker容器脚本,以在启动Java应用程序之前将文件下载到正在运行的容器中(例如,通过在Docker映像中包含并使用AWS CLI工具)。
要授予ECS应用程序下载文件的权限,您需要为ECS任务分配适当的IAM权限。
答案 1 :(得分:0)
您可以从AWS Secret Manager添加和检索证书。但这也取决于您证书的大小。在这里阅读:Quotas for AWS Secrets Manager
AWS Secrets Manager的秘密有各种限制,例如长度 个字符(65,536)。
阅读文档:Storing the certificates in AWS Secrets Manager
注意:您将需要使用HTTP解析器/ Lambda解析器才能对AWS Secrets Manager进行http调用以获取密码。