Azure API 管理和 HMAC

标签 azure azure-api-management

我想使用 Azure API 管理来向第三方开发者公开我们现有的API。 Azure API 管理提供了一个开发人员门户,第三方可以在其中登录并获取订阅 key 。然后,订阅 key 应该作为查询字符串参数或与 POST 参数一起随每个请求一起传递。

这似乎是一个问题,因为如果有人能够拦截 HTTP 流量,他们就有可能轻松访问此 key 。常见的机制是使用客户端 key 生成请求的 HMAC 并将其与请求一起发送,以确保请求的完整性和真实性,并且不会将客户端 key 与请求一起发送。

  • 是否可以在 Azure API 管理上启用基于 HMAC 的完整性检查?

  • 此外,是否可以配置 Azure API 管理以使用 HMAC 发回响应,以便客户端也可以验证响应是否来自可靠的来源?

最佳答案

关于计算消息身份验证代码,您希望使用什么作为哈希函数的输入 - 只是 URL、整个正文还是其他内容?

或者,您可以使用客户端证书身份验证策略来增强安全性,但我知道它并不是 HMAC 的真正替代品: https://msdn.microsoft.com/en-us/library/azure/061702a7-3a78-472b-a54a-f3b1e332490d#ClientCertificate

关于Azure API 管理和 HMAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640489/

相关文章:

azure - 以 Websocket 协议(protocol)作为关键的速率限制 API 管理?

azure - 有没有办法在 Azure API Manager 开发人员门户中以编程方式登录(登录)用户?

Azure Application Insights 云角色名称到 API 管理

css - 捆绑的 jquery css、VS2012 发布到 Azure 时出现 404 错误

sql - 将本地数据库导出到azure sql数据库

Azure API 管理 CORS : Why do I get "Headers starting with ' Access-Control -' were removed..."

azure - 当Azure API管理和Web应用程序使用客户端证书身份验证时,如何支持大请求?

java - 无法构建同时包含 Azure SDK 和 Google Play 的应用程序

python - 从 Azure Function App 通过防火墙访问 Azure Blob 存储

c# - 如何从本地调用另一个函数应用程序?