Mic*_*oye 5 amazon-web-services node.js aws-lambda aws-api-gateway psd2
我们的团队正在使用 AWS Lambda 函数和 API 网关来促进与欧洲开放银行 API 的连接。(PSD2)。
我们的 Lambda 是用 NodeJS 编写的。
PSD2 需要相互 TLS,这很好,我们已经在沙盒环境中正确实现和工作。
示例请求如下所示:
{
hostname: '[bank hostname]',
path: '[bank api endpoint]',
method: 'GET',
headers: {
accept: 'application/json',
signature: 'XXX',
date: 'XXX',
digest: 'XXX',
'x-request-id': 'XXX',
'tpp-signature-certificate': '[PATH_TO_CERTIFICATE]',
authorization: 'Bearer [accessToken]',
},
cert: fs.readFileSync('/var/task/certs/cert.crt'), // Buffer
key: fs.readFileSync('/var/task/certs/private.key'), // Buffer
}
Run Code Online (Sandbox Code Playgroud)
我们目前遇到的问题是我们不确定在哪里安全地存储我们的证书。目前,我们只是将它们存储在我们代码库中的资产文件夹中,这并不理想,出于显而易见的原因,我们希望将它们移出我们的代码库。
我们一直在研究 AWS ACM。但是,尚不清楚我们将如何检索证书的路径(在上传证书后)以便在上述请求中使用它。
所以我的问题是我们将如何使用 AWS 安全地存储我们的证书,以便我们可以在 HTTPS 请求中使用它们?
您无法从 ACM 检索证书,事实上这些证书仅附加到 AWS 资源,例如 CloudFront、ELB 和 API Gateway。
要检索内容,有几种解决方案。
第一种是将其存储在凭证/秘密存储中,AWS 在秘密管理器服务中提供此功能。此外,您还可以将SecureString存储在系统管理器参数存储中。
或者,您可以使用第三方解决方案,例如HashiCorp Vault。
使用这种方法,如果您需要文件存在于磁盘上,则需要将输出存储在 tmp 文件存储中。
如果这些方法不适合您,您可以使用AWS EFS。最近添加的功能增加了对允许 Lambda 挂载 NFS 来共享存储的支持。
归档时间: |
|
查看次数: |
684 次 |
最近记录: |