本系列文章
  • 基于云的以资产为中心的协作的最佳实践:使用Rational Asset Manager实现协作多租户
  • 加速在云中交付Web内容的最佳实践:使用Akamai平台提高速度和可靠性

多租户是一种在单个共享应用程序环境中支持多个客户的方法。 为了进一步利用规模经济,还希望在一个共享的SaaS交付平台中支持多个SaaS应用程序。 SaaS交付平台本身将启用多租户功能,其中其租户是多租户应用程序。 在这样的平台内,在应用程序之间以及应用程序租户之间强制执行安全性约束是一项关键要求,并且Tivoli Access Manager可以发挥关键作用。 图1显示了在IBM Cloud中运行的总体Tivoli Access Manager组件及其与其他软件组件的关系。

图1:在IBM Cloud的生产环境中运行的Tivoli Access Manager

特别:

  • Tivoli Access Manager WebSEAL服务器:一种安全代理组件,用于强制访问Web服务器并集中管理Web空间,将所有Web服务器链接到一个逻辑Web空间。
  • Apache服务器:充当反向代理,并将负载从传入请求分发到SaaS应用程序。 在每个传入请求中重写URL,以匹配所请求资源的相关内部位置。
  • Tivoli Access Manager Policy Server:支持策略定义和基于策略的安全性管理。 例如,密码规则。
  • Tivoli Access Manager LDAP(轻型目录访问协议):目录服务器,用于存储有关其授权用户以及每个用户具有哪些特权的信息。
  • 租户管理服务器:用于管理有关SaaS产品,订购产品的公司和用户,产品中版本或席位数量,价格等信息。
  • SaaS应用程序服务器:特定于每个SaaS应用程序的应用程序服务器的群集。
  • 垂直线表示防火墙配置。 此图中的防火墙模拟了Intranet和Internet之间用于公司防火墙的传统非军事区(DMZ)设置。 它们旨在添加其他IP级别访问控制。

Tivoli Access Manager for e-business是一种成熟的产品,可以为公司的Web环境提供基于策略的强大安全性。 这包括用户身份验证,访问权限控制,审核,单点登录,高可用性和日志记录,这些都是任何安全管理解决方案的要素。 有许多出色的文档描述了它的功能。 在以下情况下,我们重点介绍特定于云和租户管理的区域。

粗粒度访问控制

通常,您可以将应用程序资源(例如,诸如http://www.mycompany.com/logo.gif之类的URL)分类为不受保护或受保护 。 任何用户都可以访问不受保护的资源,并且不需要身份验证。 未受保护的资源的示例可以是静态图像,登录页面,注册页面,演示,营销材料等。

只有在用户通过身份验证并建立有关用户的详细信息(例如,他们的角色,他们所属的组织或团队)后,用户才能访问受保护的资源。 受保护资源的示例可以是用户个人资料,文档,电子邮件,应用程序小部件等。

为了简化Tivoli Access Manager Policy Server中受保护资源与未受保护资源的规范,通常希望将资源归为公共URL前缀,然后将包含的资源作为一个组进行保护或取消保护。 例如:

protect   /secure
unprotect /public

然后可以将这些规则轻松添加到Tivoli Access Manager策略服务器,并由Tivoli Access Manager WebSEAL强制实施。

当HTTP请求到达时,WebSEAL与策略服务器一起确定所请求的资源是否受到保护。 如果受到保护,WebSEAL将确保在允许请求到达应用程序之前对用户进行身份验证-例如,用户是否注册了该服务? 他们是否指定了正确的密码?

WebSEAL还用于为请求建立租户上下文 。 承租人上下文包括标识用户属于哪个承租人的元数据,以便可以实施适当的限制。 例如,承租人1可能注册了SaaS应用程序1和2,而承租人2则注册了SaaS应用程序2和3。承租人上下文作为HTTP请求标头向下游传播,并向下游服务器通知用户身份,角色,关联的承租人身份和权利。 Apache HTTP服务器通过根据客户授权将HTTP请求分配给适当的服务来强制执行粗粒度的授权,并为负载平衡和粘性提供支持。

细粒度的访问控制

应用程序可能需要施加其他更细粒度的控件,这些控件进一步限制了对受保护资源的访问。 这些附加控件可以基于从租户上下文中获得的用户角色和/或租户权利。 例如,特定用户可能有权创建和编辑业务流程,但无权部署该流程。 可以为特定用户分配管理角色,以便该用户可以从同一帐户中删除其他成员创建的资产。

每个SaaS应用程序的唯一登录和登录页面

WebSEAL允许使用模板页面定制其各种与认证相关的页面。 但是,对于多租户SaaS交付平台,WebSeal提供的定制级别是不够的。 如果我们要为每个SaaS应用程序使用不同的登录页面,或者甚至是租户特定的登录页面,该怎么办? 幸运的是,我们能够使用简单的HTTP重定向找到解决方案。 图2显示了整体方法。

图2:由WebSEAL支持的每个SaaS应用程序的定制登录页面

用户导航到SaaS应用程序登录页面(箭头1)。 然后,SaaS应用程序登录页面使用XMLHttpRequest(XHR)将凭证发布到WebSEAL登录服务(箭头2)。 响应(箭头3)由SaaS应用程序登录页面中JavaScript解析,以检测成功或登录失败。

如果用户尝试不先登录就直接访问受保护的页面(例如,通过使用书签或跟随链接),则WebSEAL服务器将返回其缺省登录页面。 可以自定义此默认登录页面,以将用户重定向到正确的SaaS应用程序登录页面。

这种通用方法可以扩展为支持其他WebSEAL页面以执行适当的间接操作-例如,密码重置; 成功登录等后重定向到针对用户个性化的其他页面

WebSEAL集群用于不同的访问

要注意的一件事是,可以将WebSEAL服务器配置为支持基本访问认证或基于表单的认证,但不能同时支持这两种。 因此,我们必须部署多个WebSEAL服务器,其中一些配置用于基本访问认证,而另一些配置用于基于表单的认证,以便支持各种类型的客户端访问,例如Web表单,移动访问,Eclipse等。

这些WebSEAL服务器共享公共的Tivoli Access Manager Policy Server,并由Apache前端反向代理作为前端,该代理通过使用Apache mod_rewrite模块将流量路由到正确的WebSEAL服务器:

  • 如果请求具有基本访问头(即:HTTP:Authorization),它将请求转发到启用了基本访问的WebSEAL。
  • 否则,它将请求转发到启用了基于表单的WebSEAL。

前端反向代理还处理WebSEAL服务器之间的负载平衡。

使用防火墙增强安全性

IBM Cloud是公共云,这意味着默认情况下,每个虚拟机都可以从世界任何地方访问。 但是,我们不希望我们的所有虚拟机都可以直接评估。 例如,运行我们的数据库服务器的虚拟机只能由我们的应用程序服务器访问; 我们在上一篇文章中描述的资产存储库只能由我们的SaaS应用程序访问,依此类推。 防火墙在添加这些额外的安全保护层方面起着关键作用。

在IBM SmartCloud Enterprise入门文章(请参阅参考资料 )中,作者解释了在虚拟机管理程序级别(相对于虚拟机本身)配置防火墙规则的优缺点。 鉴于环境的动态性质,我们需要根据使用情况轻松添加或删除虚拟机,因此我们使用了iptables方法来定义适用于每个虚拟机的防火墙规则。

防火墙规则的简单方案

基本操作系统映像仅打开了一个用于输入的端口:端口22,以便您可以通过SSH(安全Shell)进入该端口。 但是,在虚拟机上安装应用程序时,您想要打开额外的端口,以便可以访问您的应用程序。 例如,在图3中,有两个应用程序。 通过HTTP端口8081访问应用程序1,通过HTTP端口8082访问应用程序2。

图3:防火墙规则示例

但是,您可能不希望只打开这些端口以供世界上任何人未经适当的访问控制访问。 您可以在此处添加其他防火墙规则以提供额外的保护。

在运行应用程序1的虚拟机(9.8.7.6)上,添加防火墙规则,例如:

-A INPUT -s 1.2.3.4 -p tcp -m tcp -dport 8081 -j ACCEPT

这将打开端口8081,但只能由虚拟机1.2.3.4(即Apache服务器)访问。

同样,在运行应用程序2的虚拟机(5.1.2.3)上,添加防火墙规则以打开端口8082,如下所示:

-A INPUT -s 1.2.3.4 -p tcp -m tcp -dport 8082 -j ACCEPT

现在假设可以通过端口80访问Apache服务器(1.2.3.4),则可以将以下防火墙规则添加到Apache服务器以仅打开端口80,如下所示:

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

另一个常见的有用模式是通过启用环回支持使虚拟机能够接受来自其自身的输入。 例如,您可能想要在虚拟机上部署操作系统代理程序,以便它可以将其状态报告给IBM Tivoli Enterprise Portal,在这种情况下,该代理程序可能需要连接到本地运行的服务。 要启用这种回送支持,请添加以下防火墙规则:

- A INPUT -i lo -j ACCEPT

最后,测试防火墙规则并正确保存它们很重要。 确保在重新引导虚拟机时使用新配置初始化iptables,而不是使用默认设置初始化。 您可以发出以下命令来保存防火墙规则:

/sbin/service iptables save

通过仔细管理哪些人可以使用身份验证和防火墙规则访问哪些内容,可以保护构成在公共Internet中运行的云解决方案的虚拟机。

摘要

安全经常被认为是采用云的主要障碍之一。 在本文中,我们向您展示了如何使用成熟的产品(例如IBM Tivoli Access Manager电子商务)来实现访问控制解决方案,该解决方案可以保护您的云资源并支持多租户架构。 IBM还发布了一份红皮书:“云安全性指南IBM实施云安全性的建议”(请参阅参考资料 )。 它提供了有关您应该考虑拥有安全云解决方案的更多见解。


翻译自: https://www.ibm.com/developerworks/cloud/library/cl-cloudTAM/index.html

ibm tivoli_使用Tivoli Access Manager的多租户云解决方案中的访问控制最佳实践相关推荐

  1. ibm tivoli_在Tivoli Access Manager v6.1 / WebSEAL和Tivoli Integrated Portal v1.1.x之间配置单点登录...

    本文包含集成Tivoli Access Manager(TAM)版本6.1和Tivoli Integrated Portal(TIP)版本1.1.x的优点. 详细的指示信息向您显示如何使用Tivoli ...

  2. ibm tivoli_在Tivoli Access Manager v6.1 / WebSEAL和Tivoli Integrated Portal v1.1.x之间配置单点登录

    ibm tivoli 本文包含集成Tivoli Access Manager(TAM)版本6.1和Tivoli Integrated Portal(TIP)版本1.1.x的优点. 详细的指示信息向您显 ...

  3. ibm tivoli_在Tivoli Access Manager上为电子商务编写外部认证接口服务器

    ibm tivoli 自1995年以来,IBM专家Ori Pomerantz就一直致力于保护计算机网络的安全(并向其他人展示了如何做到这一点).Pomerantz于2003年加入IBM,从那时起,他就 ...

  4. ibm tivoli_使用Tivoli Access Manager进行电子商务的加密硬件,使用AIX上的IBM 4960进行WebSEAL的SSL加速

    ibm tivoli 存档日期:2019年5月15日 | 首次发布:2007年10月4日 建立SSL会话最耗费计算资源的部分是解密发送到SSL服务器的SSL会话的公钥. 通过将SSL操作卸载到专用硬件 ...

  5. ibm tivoli_Windows和Tivoli Access Manager的Intranet单一登录

    ibm tivoli 基于Microsoft Windows的Intranet提供了使用桌面凭据登录基于Microsoft Internet信息服务的Intranet基础结构的能力. 这是使用Micr ...

  6. ibm tivoli_Tivoli Security,将Tivoli Access Manager用于带有HTTPS的电子商务(仅用于认证)

    ibm tivoli 存档日期:2019年5月17日 | 上次更新时间:2007年7月19日 | 首次发布:2005年11月16日 在IBM®Tivoli®Access Manager的电子商务的In ...

  7. ibm tivoli_使用表单认证通过Tivoli Access Manager电子商务WebSEAL启用Microsoft Office Sharepoint Server客户机集成

    ibm tivoli 在现有的SharePoint Server和TAMeb集成中,存在一个已知问题,即基于WebSEAL的表单身份验证破坏了Microsoft Office产品的客户端集成功能. 这 ...

  8. ibm tivoli_使用适用于操作系统的Tivoli Access Manager保护DB2资源

    ibm tivoli 存档日期:2019年5月16日 | 首次发布:2010年4月22日 了解如何使用Tivoli®Access Manager for Operating Systems(TAMOS ...

  9. ibm tivoli_使用IBM Tivoli Access Manager实施密码到期提醒

    ibm tivoli 存档日期:2019年5月15日 | 上次更新时间:2007年3月26日 | 首次发布:2006年6月26日 公司的安全策略可能包括密码到期要求,例如密码到期提醒. 尽管IBM®T ...

  10. ibm tivoli_在没有用户注册表的情况下使用Tivoli Access Manager for eBusiness WebSEAL

    ibm tivoli 必备知识 本文假定您基本熟悉: Tivoli Access Manager for eBusiness WebSEAL WebSEAL外部认证接口(EAI) Tivoli Fed ...

最新文章

  1. Apache Camel:基于企业集成模式(EIP)的开源集成框架
  2. Jenkins在Centos7的安装
  3. 思科UCS服务器怎么安装系统,安装Redhat/CentOS操作系统在UCS M系列服务器
  4. TLS1.3握手流程以及参数详解
  5. 回归测试——游戏版本发布前的最后关口
  6. idea @Data 不起作用找不到 相关的注解
  7. # command-line-arguments .\main.go:72:23: undefined: initApp
  8. spring 的singleton 和prototype的区别和应用场合
  9. 用了10年海尔家电,青岛一音乐老师为海尔写了1首歌
  10. java 汇率换算_[java] 汇率换算器实现(2)
  11. windows.old的删除方法
  12. 华为ensp模拟企业网(校园网),总分公司(总分校区),多区域互联,代码有详细注释
  13. 王牌英雄怎么服务器维护了,王牌英雄新手入门指南 王牌英雄玩法技巧
  14. CSS - 制作三角形
  15. 国外量化平台,以QuantOpian为例
  16. 最近火爆的外卖分销小程序搭建及推广秘籍
  17. 基于jsp java的教师教学评价管理系统
  18. 失去灵魂的百度还能撑几年?
  19. 如何修正XY轴不垂直误差
  20. iOS 12 越狱支持 Cydia

热门文章

  1. python计算日期到天数_利用python计算时间差(返回天数)
  2. 交换机二/三层转发原理
  3. 乒乓球【击球】基础知识
  4. python span()函数_Python正则表达式六种函数实例讲解
  5. 合肥盛荣乒乓球俱乐部学习感悟
  6. Q-learning原理及其实现方法
  7. 微信绑定的卡服务器,微信将迎来重大更新,微信绑定银行卡的用户请注意!建议进行使用...
  8. 分析mrp主要应用范围_MRP适用于相关需求的计划与控制
  9. 服务器装系统03系统,服务器系统安装windows2003教程
  10. 恒指交易如何先小亏,后而才是大赚!