使用Windows身份验证和用户名/密码安全登录Azure上的网站

时间:2014-11-21 14:53:57

标签: security authentication azure windows-authentication vpn

我想根据以下要求在Azure上建立一个网站,并想知道它是否可能?

  • 作为内部团队成员,我必须能够使用Windows身份验证
  • 登录该站点
  • 作为外部客户,我必须能够使用用户名和密码登录该站点
  • 作为外部客户,我必须无法访问网站的子集
  • 作为未经授权的用户,我必须无法访问网站上的任何内容

我想我必须在Azure和我公司的Active Directory之间建立VPN连接。我该怎么做?

是否可以满足我的要求?

背景资料

我们是一个拥有约10名团队成员的小项目。 我们有四个需要访问该网站的大客户,每个客户中都有一些人需要访问该网站。

客户只能读取静态的非敏感信息。 团队成员将具有写访问权限,并且还将处理一些敏感信息。

** 修改 **

我已经设法创建了本地AD到Azure项目的高效同步,感谢user18044。不幸的是,团队成员的帐户位于公司的AD(corp.mycompany.com),而AD对其有单向信任。

我们在项目AD中有一些组指向公司AD中的帐户,但组中的成员没有同步到Azure。

这可以解决吗?

1 个答案:

答案 0 :(得分:2)

是的,我认为你所描述的是可行的。

您的前两个要点是关于身份验证。由于Azure Active Directory不直接支持Windows身份验证,因此可以使用联合。

当您作为内部团队成员登录时,您将进入所谓的家庭领域发现页面,在该页面中,您可以选择要进行身份验证的领域。选择公司领域,您将被重定向到STS (例如ADFS)贵公司已设置为对您进行身份验证。如果您与STS进行身份验证时位于同一Windows Active Directory网络中,则应该能够使用Kerberos发出令牌。

外部客户将被重定向到另一个STS,该STS将对凭据存储使用表单身份验证来颁发安全令牌。

然后将两个安全令牌发布回Azure Active Directory,该Active Directory配置为信任STS并发出自己的令牌。有关示例,请参阅here

对于后两个项目符号,您可以根据分配给用户的角色执行授权部分。根据哪个STS对用户进行身份验证,您可以为其分配特定角色。根据该角色,您可以访问您网站的某些部分。如何实现这取决于您为Web应用程序使用的堆栈,但Google搜索应该为您提供一些潜在客户。