首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure多租户安全性- Azure Federated、certs等

问Azure多租户安全性- Azure Federated、certs等
EN

Stack Overflow用户
提问于 2012-10-22 10:36:34
回答 1查看 833关注 0票数 3

我试图获得一些关于如何在Azure上使用安全体系结构的建议。

背景:

我们正在考虑在Azure上构建一个需要非常安全的多租户应用程序(个人敏感数据)。该应用程序将被标准浏览器和移动设备访问。

安全访问类型:

我们有三种类型的用户/访问类型。

1-通过https访问普通的、非私有的SQL +托管文件的普通老用户/密码是可以的。

2-用户/通过https,但需要通过用户计算机/设备上安装的证书对用户进行身份验证。这一级别的用户将需要访问敏感数据,这些敏感数据应该在rest数据库和任何上传的文件中进行加密。

3--与(2)相同,但加入了一些双因素身份验证(我们在其他方面使用了YubiKey -也可以考虑使用电话OTP )

大多数用户只能访问他们自己的租户数据库,但是我们有“帐户管理器”类型的用户需要访问选定的租户数据,因此我们期望他们要么需要他们服务的每个租户一个证书的副本,要么我们必须使用某种主证书。

数据库类型:

从多租户的角度来看,Azure Federated似乎是一个好方法,因为(a)我们只需在每个表中使用"TenentID“键编写一个应用程序,登录后,设置一个全局筛选器,为我们处理隔离(b),我们理解Azure联邦SQL实际上在后台维护每个租户单独的SQL数据库实例。(Ref:http://msmvps.com/blogs/nunogodinho/archive/2012/08/11/tips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases.aspx)

任何人是否可以指向任何链接或提供有关设置和管理文件共享、SQL和静止文件数据加密、用户身份验证等所需方法的建议(对新用户注册pref的自动管理)。

EN

回答 1

Stack Overflow用户

发布于 2012-11-25 12:54:00

我对证书没有什么帮助,但您确实需要一些“主证书”。如果您计划使用Azure网站,您不能使用您自己的证书目前。

关于数据库的设置。SAAS应用程序建立在信任的基础上,因此您永远不希望向其他用户显示或编辑使用的数据。因此,我强烈建议您不要对每个表使用TenantID。这将留下恶意用户攻击或某个开发人员错误的可能性。

规避这些风险的唯一方法是

  1. 广泛测试
  2. 物理不同的表来存储每个租户数据。

就我个人而言,我认为即使进行了非常extensive+automated的测试,您也不可能对恶意用户拥有100%的代码覆盖率。我想我不是一个人。

唯一的出路是物理上不同的表格。让我们看一下选项:

  1. 不同的服务器:有效,但在蔚蓝中相当昂贵
  2. 不同的数据库:有效,较少的管理开销,但与前面的选项相同的反对意见-如果您有很多租户的话,费用很高。
  3. 不同模式的:解决方案。好好想想..。
    • 您只需管理用户,默认模式的
    • 您可以使用powershell备份架构
    • 您可以通过一些工作将模式移到其他数据库
    • 如果需要,仍然可以将其插入SQL联邦。
    • 主要的缺点是您需要支持每个租户的数据库升级。

​

你在azure.com上读过关于多租户的文章吗?http://msdn.microsoft.com/en-us/library/windowsazure/hh689716.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13009617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档