【发布时间】:2018-01-25 21:52:36
【问题描述】:
我需要从 Salesforce(使用 Apex)到 AWS Lambda 进行安全 HTTP 调用,并且我使用 AWS API Gateway 构建了我的第一个版本。我意识到我可以从 API Gateway (.crt) 获得客户端证书,但这看起来仅适用于 AWS 后端,并不适用于发送到 API Gateway 的 HTTP 请求。我有哪些替代方法可以建立从外部 AWS (Salesforce) 到 Lambda 函数的安全连接?
到目前为止,我已经找到了this,目前这是一个令人失望的死胡同。
【问题讨论】:
-
您使用的是自定义域还是 AWS API Gateway 提供的默认域?默认 AWS 域已受保护 (HTTPS)。如果您需要一个安全的自定义域,我在下面发布了说明。
-
我正在使用自定义域并使用 Route 53 映射到它,并使用了我在 ACM 上为其创建的证书。我的问题是加密从其他地方发送的 HTTP 请求,我需要能够使用证书在那里对其进行加密,因此它不会被发送
-
您通过 HTTPS 连接发送的任何数据从离开 Salesforce 服务器到被 AWS API 网关接收到,都已加密。您需要额外的加密层吗?
-
您不必这样做,它已经为您处理好了。每个 SSL 证书都有一个private 和一个public key。 Salesforce 和 AWS 服务器将握手,这意味着 AWS 将为 Salesforce 提供一个公钥。 Salesforce 将使用此公钥加密数据。加密后,只能通过私钥进行解密。由于只有您的 AWS 服务器将拥有 私钥,因此没有其他人可以解密数据。不是事件 Salesforce 服务器可以在没有私钥的情况下反转加密。真的很安全,银行和信用卡都依赖这个技术,你应该没问题。
标签: amazon-web-services http https aws-lambda aws-api-gateway