【发布时间】:2010-06-24 13:23:42
【问题描述】:
我正在编写一个备份服务来备份 SQL 数据库并将其保存在云存储中。我实际上已经使用 Amazon S3 实现了这一点,但由于应用程序将分发给客户,我无法将 API 密钥与应用程序一起存储。我考虑过使用网络服务来提供密钥,但这不是我目前最好的选择(因为它仍然存在密钥被盗的可能性。)
所以我研究了 Windows Azure,Blob 服务,发现他们有这些共享访问签名,可用于提供对云中资源的访问。您还可以使用签名将 blob 放入云中。但是通过MSDN docs 阅读,我不禁认为这是一个不安全的系统。任何知道 1. 我帐户的容器的确切名称和 2. 如何形成签名的人都可以访问这些对象。使用此签名时,您不需要密钥。至少这是我阅读文档的印象。
所以最后我的问题。我对与 Azure 的共享访问签名的评估是否正确,如果不正确,为什么?任何人都可以提出另一种方法来做我想要完成的事情。
【问题讨论】:
-
所以我现在看到您必须通过使用您的密钥加密来计算签名哈希。所以这回答了我的第一个问题(我最初的评估是错误的)。 Azure 允许您创建无限数量的容器,因此我将为每个客户提供一个容器。客户将调用我的 Web 服务,然后该服务将生成客户独有的签名。这样,任何加密密钥、容器名称等都可以在我的服务器上受到保护,而不是在客户端系统上。
标签: .net azure cloud database-backups