我正在尝试就如何在 Azure 上处理安全架构获得一些建议。
背景:
我们正在考虑在 Azure 上构建一个需要非常安全(个人敏感数据)的多租户应用程序。该应用程序将由标准浏览器和移动设备访问。
安全访问类型:
我们有三种类型的用户/访问类型...
1 - 通过 https 的普通旧用户/密码很好,访问通用、非私有 SQL 和托管文件
2 - 用户/通过 https,但需要通过将安装在用户机器/设备上的证书对用户进行身份验证。此级别的用户将需要访问敏感数据,这些数据应在数据库和任何上传的文件中进行静态加密。
3 - 与 (2) 相同,但增加了一些两因素身份验证(我们已将 YubiKey 用于其他事情 - 也可能会考虑提供电话 OTP 产品)
大多数用户只能访问他们自己的租户数据库,但是我们有“客户经理”类型的用户需要访问选定的租户数据,因此我们希望他们需要为他们服务的每个租户提供一份证书的副本,或者我们将必须使用某种主证书。
数据库类型:
从多租户的角度来看,Azure Federated SQL 似乎是一个不错的选择,因为 (a) 我们只需在每个表中编写一个带有“TenentID”键的应用程序,然后在登录后设置一个全局过滤器来处理隔离我们 (b) 我们了解 Azure 联合 SQL 实际上在后台为每个租户维护单独的 SQL 数据库实例。(参考: http: //msmvps.com/blogs/nunogodinho/archive/2012/08/11/tips-amp-tricks -to-build-multi-tenant-databases-with-sql-databases.aspx )
任何人都可以指向任何链接或就设置和管理文件共享所需的方法、SQL 和静态文件数据的加密、用户身份验证等(新用户注册首选项的自动管理)提供建议。