将端点限制为特定的呼叫者

时间:2021-05-12 21:26:34

标签: ssl asp.net-mvc-4 apigee

我正在使用一个用 ASP.NET 4 编写的旧遗留应用程序。我们最近开始迁移到云,我们必须公开其中一个端点,以便我们的 api 网关 (Apigee) 可以调用它。限制此端点以使其仅允许来自 Apigee 的呼叫的正确方法是什么?我知道 2-way-ssl 应该可以解决这个问题,但这需要 Apigee 方面的更改,我们无法控制。我可以在 API 方面做些什么来确认请求中的证书专门来自 Apigee?

1 个答案:

答案 0 :(得分:0)

您描述了有时称为“南向”身份验证的需求。特别是双向 TLS 有时称为客户端身份验证,而不是标准(或单向)TLS,其中调用客户端仅对服务器进行身份验证。您说得对:mTLS(又名“双向 SSL”)是一种允许后端服务器对调用 Apigee 层“客户端”进行身份验证的方法。

当您希望通过 TLS (mTLS) 进行客户端身份验证时,您需要将后端服务器端点配置为在握手时要求 mTLS,并将签名 CA 存储在其信任库中您希望在连接时由调用客户端提供的客户端证书的证书。做得对,你的服务器

  1. 需要 mTLS 并在客户端不支持时关闭握手 提供客户证书,
  2. 验证客户端证书是由公认的签名 CA(信任库)颁发的真实证书,并且
  3. 是预期看到的实际客户端证书(例如,通过匹配预期的专有名称)。

这是一篇关于在 Apigee 中执行所有这些操作的权威支持社区文章:https://community.apigee.com/questions/63337/mutual-tls-between-client-to-edge-and-edge-to-back.html