0

我在 Azure Maps 上创建了一个密钥,并在 html 页面上使用它来查看地图。但是,如果他们查看页面的源代码,任何人都可以看到我的地图 api 密钥。因此,如果有人拥有我的密钥,他们可以在他们的网站上使用它。如您所知,这项服务是一项付费服务​​,没有人希望他们的账单变高。

如何将我的 Azure Maps Key 使用限制为特定域名?

4

2 回答 2

1

Azure Maps 现在通过 Azure Active Directory 提供更高的安全性选项,可以使用它来代替密钥:https ://docs.microsoft.com/en-us/azure/azure-maps/azure-maps-authentication这可以使用在公共和私人应用程序中。

于 2019-03-04T21:13:36.237 回答
0

我认为 Azure Maps 目前不允许您将 API 密钥限制为特定域。

即使 Google 和 Bing 都为 API 密钥提供域限制,它也不是一个完整的解决方案。有人仍然可以通过伪造 HTTP Referer 标头来欺骗您的域 - 请参阅

因此,理想情况下,为了完全安全(尤其是付费帐户),您需要执行以下操作之一:

1:为您的应用程序提供轻量级后端代理。您的前端应用程序/客户端调用您的后端(可以是一个简单的 Node.js 应用程序),它首先验证客户端(取决于您如何处理),然后简单地将调用传递给 Azure Maps 并返回响应给客户。这样,密钥实际上存储在后端,后端使用它来调用 Azure。

2:您还可以考虑将 API 密钥存储在 Azure KeyVault 中并在运行时获取它们。如果您有兴趣,这里有一个示例。

于 2018-07-20T23:05:38.287 回答