如何保护从web角色到SQL Azure的连接?

如何保护从web角色到SQL Azure的连接?,azure,azure-sql-database,azure-worker-roles,Azure,Azure Sql Database,Azure Worker Roles,我们正试图实现Microsoft针对Azure的安全最佳实践中推荐的网关守卫设计模式,但我;我很难决定怎么做 为了提供该项目的一些背景信息,我们正在使用传统的分层方法(表示、业务、数据等)开发一个已经开发的网站,并将其转换为使用Azure。客户端希望围绕这个过程构建一些附加的安全性,因为它现在将在云中 处理此问题的最初建议是使用队列,并让工作人员角色处理输入到队列中的请求。我们遇到的一些问题是如何正确地序列化对象,包括我们需要在该对象上运行什么方法,以及这种方法固有的延迟 我们也考虑过在Work

我们正试图实现Microsoft针对Azure的安全最佳实践中推荐的网关守卫设计模式,但我;我很难决定怎么做

为了提供该项目的一些背景信息,我们正在使用传统的分层方法(表示、业务、数据等)开发一个已经开发的网站,并将其转换为使用Azure。客户端希望围绕这个过程构建一些附加的安全性,因为它现在将在云中

处理此问题的最初建议是使用队列,并让工作人员角色处理输入到队列中的请求。我们遇到的一些问题是如何正确地序列化对象,包括我们需要在该对象上运行什么方法,以及这种方法固有的延迟

我们也考虑过在Worker角色中设置一些WCF服务,但是我在思考如何准确地处理这个问题时遇到了一些困难。(除了这是我的第一个Azure项目外,这也是我第一次尝试WCF。)我们在这里遇到了同样的对象序列化问题

另一个想法是在另一个web角色中设置一些web服务,但这似乎会带来同样的安全问题,因为我们将无法对请求执行基于IP的安全性


我已经搜索了又搜索,但还没有真正找到任何能做我们想做的事情的样本(或者我不知道他们在做什么)。有人能提供一些代码示例指导吗?谢谢。

要特别回答您的一个问题,您可以使用X.509证书保护对WCF服务的访问,并实现消息安全;如果您还需要SSL连接来保护传输中的数据,则需要同时使用消息和传输安全性。这不是地球上最简单的事情,但这是可能的。您可以这样做,只有具有正确证书的服务器才能发出WCF请求。请查看此线程以了解更多详细信息和更多提示:


此外,只要将对象标记为可序列化,WCF就可以轻松地交换对象。因此,进行WCF调用将大大简化您与客户机来回交换对象的方式

请不要采取错误的方式,但听起来您有可能过度设计基于“客户希望增加安全性”这一“要求”的解决方案。本文档第13页中描述的“守门人”模式是一把非常大的枪,您应该只向大型目标开火,即您实际需要存储高度敏感数据的强化应用程序的场景。构建这样的东西可能会花费大量的时间和性能,因此请确保您彻底权衡赞成和反对意见


您是否考虑过将杠杆作为一种额外的(可能可以接受的)安全措施?您可以在IP地址级别上指定访问权限,甚至可以通过存储过程以编程方式对其进行配置。您可以阻止对数据库的所有外部访问,使Azure应用程序(web/工作者角色)成为唯一允许访问的“客户端”

很抱歉延迟回复,但我被拉到了另一个项目上。所讨论的客户机的安全模型基于web服务器,该服务器通过防火墙访问WCF(或web)服务,然后通过第二个防火墙访问数据库,因此在开放internet和数据存储之间有两个防火墙。有问题的客户机将存储SSN(我们将在数据库中加密),因此他们非常关心安全性。你的建议是我如何设计我当前的Azure项目,但下一个项目有更高的安全要求。好的。如果可能,请提供一个明确的问题。你具体在找什么?网守模式的示例实现?关于如何序列化队列中存储的对象,以及如何通过(WCF)服务进行传输的信息?如果可能,编辑您的原始问题并澄清。谢谢