MIX 09:Justin Smith 谈 Azure Access Control Services

  • Jean-Jacques Dubray
  • 张龙

2009 年 4 月 7 日

话题:Java.NETRuby安全架构云计算AzureDevOps语言 & 开发

微软的高级程序经理Justin Smith在 MIX 09 上演示了 Azure Access Control Services。ACS 主要解决“身份爆炸(identity proliferation)”问题。他说他在网上有 300 多个用户名。他认为:

人们对重用数字身份的呼声越来越高涨了

他说对于该问题的主要解决方案是:联盟(Federation)、供应(Provisioning)、同步(Synchronization)及授权(Authorization)。ACS 是由微软维护的服务,它具体化了联盟用户的授权策略,同时它也是微软的身份和授权控制服务的一部分。然而,ACS 还是个运行在“claims in, claims out”模式下的独立服务。此外,它借助于“Geneva”商标集成了本地(on premise)软件和服务器。Geneva 主要面向本地联盟和授权,而 ACS 最大的区别在于它完全是“可监控”、可伸缩的,并且由微软保证了其正常运作。ACS 只支持 Geneva 的部分特性。

ACS 还是微软云服务的一部分,包括了 Windows LiveID 和微软的联盟网关。当然我们可以在 Azure 平台下放置 Geneva 服务。

ACS 项目是由范围(scope)构成的,而范围指定了规则(rule)。规则可以被链接起来。基本上 ACS 是个宿主的安全令牌服务(STS),这样它就可以管理签名和密钥了。我们可以通过简单的 Web 接口建立 ACS 规则。现在它们就在 AtomPub API 上发挥着作用,以编程的形式管理着规则。

该服务可以直接集成活动目录与其它身份基础设施,编码量相当小:

ACS 支持如下这些凭据:

  • Windows Live IDs
  • X.509 证书
  • 传统的用户名与密码
  • Managed card 与 personal cards

ACS 可以处理任意身份。早前微软的技术专家 John Shewchuck 曾对此做过介绍,他在一个使用非微软技术(JQuery 作为 AJAX 前端并使用了 Python 且部署在 Google App Engine 上)的 Web 应用中使用了.NET 服务。在该演示中,John 向大家展现了如何借助于 ACS 使用 Google、Yahoo、Facebook 或 LiveID 身份完成登录并使用该应用。

最后 Justin 以 5 个“极酷的访问控制技巧”作为总结,你可以使用 ACS 实现这些技巧:

  1. 使用 2 行代码与朋友共享 Facebook/Yahoo 上的私有的魔兽争霸页面
  2. 贩卖游戏中的广告空间并转租
  3. 让企业用户可以自动访问我们的基于 python 的培训应用
  4. 跨越多个应用和角色生成访问控制报告
  5. 对我的朋友们授予权限,让他们的朋友可以访问我们的图片

查看英文原文:MIX 09: Justin Smith on Azure Access Control Services

Java.NETRuby安全架构云计算AzureDevOps语言 & 开发