如何把百度云盘扩展到几十t

    技术2024-06-03  81

    单一登录(SSO)是大多数大型企业向其用户(员工,合作伙伴,客户和承包商)提供的一项重要服务。 在IT安全法规日益严格的时代,使用SSO技术可使公司以一致的方式在多个应用程序之间实施访问控制策略,从而总体上降低了实施成本。 这些策略可以包括密码长度,密码复杂性,密码期限,重用以前的密码等等。 无论应用程序必须遵循的一组规则或策略,您都可以实施一次以重复使用。 对于利用此SSO基础结构的系统,还简化了认证和审核。

    除了IT合规性之外,还可以避免大量风险。 您已经走过多少次小隔间,看到带有密码的便条纸? 您为每个企业系统记住表面上数百个密码的个人选择方法是什么? 在整个企业系统中使用SSO可使用户仅记住一个密码,不仅减少了将密码粘贴在隔间墙上的风险,还降低了密码共享的风险。 如果您的电子邮件,人力资源福利系统和其他系统都使用相同的密码,则用户不太可能与他或她的同事共享该密码。

    关于节省成本,事实证明,通过减少服务台呼叫的数量,SSO可以直接获得投资回报。 更少的密码意味着更少的时间有人会呼叫服务台以获取忘记的密码。 多篇互联网文章以及Gartner和Forrester Research等公司引用的节省电话费的数量在40%到70%之间,以减少通话量。

    SSO的组件

    让我们从支持SSO所需的一些基本技术组件开始:

    用户。 尝试登录的用户 Web应用程序。 用户尝试登录的应用程序

    对于本文,请将该应用程序视为任何Java™,Microsoft®.NET或PHP Web应用程序,或者将软件作为服务(SaaS)应用程序,例如SalesForce.com,Google Apps,Microsoft Office 365,Concur,ServiceNow或工作日。

    Web应用程序代理。 对于在企业数据中心中运行的非SaaS应用程序,通常安装在托管该应用程序的Web或应用程序服务器上 策略服务器/ SSO服务器。 该软件可提供实现SSO所需的所有功能和特性 目录。 基础存储库,用于存储用户名,密码和有关用户的其他属性

    在大多数组织中,您会看到ActiveDirectory®域服务或其他实现轻型目录访问协议(LDAP)的目录软件。 尽管不是最佳实践,但您也可以使用关系数据库表。

    图1显示了实际中的这些组件。

    图1. SSO的高级组件

    本文重点介绍基于Web的应用程序的SSO,而不是台式机SSO或企业SSO。 从根本上讲,基于Web的SSO原理遵循图1所示的体系结构。 让我们通过一个示例使该图更加具体。

    SSO需要两个关键组件:策略/ SSO服务器和Web应用程序代理。 策略服务器/ SSO服务器通常称为身份决策点 (IDP)。 IDP是决定用户凭据(用户名/密码)是否正确以及用户是否可以登录的“决定”。每个大型企业软件供应商都可能在此领域提供某种技术或产品。 该领域的顶级技术包括用于企业单一登录的IBM®Security Access Manager,CA SiteMinder和Oracle Access Management。 此外,市场上出现了许多开源和SaaS产品,它们已成为上述产品的重要竞争对手-OpenAM,Okta,DirectAxs和Ping Identity。

    上面提到的每个产品都附带有自己的代理,这些代理必须安装在您要保护和启用SSO的应用程序的Web服务器和应用程序服务器上。 通常,您将拥有大多数主要操作系统,Web服务器软件和应用程序服务器软件的代理。 代理的作用是拦截对应用程序的登录请求,然后将该请求传递给SSO服务器以做出决定。 因此,该组件通常称为身份执行点。

    将SSO扩展到云

    随着公司采用越来越多的基于SaaS的应用程序,他们希望将SSO功能扩展到这些应用程序。 这意味着用户可以每天早上使用与公司应用程序,电子邮件甚至台式机相同的凭据登录SaaS应用程序。

    SaaS供应商意识到了这一需求,并提供了简单的帮助机制。 已经出现了许多标准,可以在几小时或几天内完成这些集成。 这很关键:假设每个SaaS供应商都为集成提供了自己的专有方法。 更糟的是,如果每个SSO服务器供应商都提供自己的技术呢? 这肯定会导致大量的咨询费用。

    SaaS项目通常是业务驱动的。 IT确实参与其中,但有时在采购周期的后期。 您有与业务线(LOB)相匹配的IT管理人员致电身份管理(IDM)计划经理,称该业务已选择了新的SaaS供应商,并且希望使用SSO。 SaaS供应商声称,这一转变是一天的工作,因此IDM团队可以在下周完成吗?

    您(IDM计划经理)同意调查并返回给LOB高管。 您查找SaaS供应商,并阅读有关SSO的材料。 您与建筑师进行了快速聊天,一切看起来都应该在公园里散步。

    因此,现在技术人员开始着手进行集成。 但是,他们很快意识到有许多问题需要解决,并且集成可能需要花费几周的时间-肯定不是一两天。 可能出现的这类问题的示例包括:

    不支持标准。 在极少数情况下,您会发现至少不支持安全声明标记语言(SAML)的SaaS供应商。 您通常会发现您的SSO服务器的当前版本可能不支持SAML,或者您的供应商将SAML包作为单独的SKU。 因此,您现在有一个采购周期要处理。 支持标准,但不起作用。 假设您已经解决了第一个问题,那么即使两端(SSO服务器和SaaS供应商)声称完全支持特定版本的规范,也可能会发现您在尝试集成它们时遇到了一些挑战。 这些挑战通常很小,可以解决,但是它们要求您在电话会议上同时拥有两个支持团队以及IDM技术人员。 专有技术。 一些SaaS供应商提供Web服务或目录同步作为SSO的备用机制。 尽管可行,但这些替代方案会导致额外的开发工作,并且必须处理网络安全,防火墙以及其他使项目花费更长时间的问题。

    重点很明确:谨慎设定期望。 SaaS SSO项目不是24到48小时的任务。 实际的工作量可能不超过此,但是由于需要进行所有协调,因此总时间可能很容易达到几周。

    设计模式

    本节讨论了在传统数据中心托管的应用程序和SaaS应用程序之间实现SSO的三种设计方法。 毫无疑问,您已经实现了考虑到已经提到的挑战的模式。

    设计模式1:自定义Web应用程序

    如果您的SaaS提供程序或SSO软件不支持SAML,则可以使用此设计模式。 另外,使用它来使用Web服务或其他专有集成。 此设计模式的最终用例是SaaS提供程序支持SAML而SSO服务器不支持。 如果最终决定进行自定义SAML实现(不推荐),则设计模式将与此处描述的相似。

    本质上,您将部署受SSO软件提供的典型Web代理保护的Web应用程序。 该应用程序包含一个登录页面,并针对您的SSO服务器进行身份验证。 该应用程序还包含将凭据传递给SaaS应用程序的代码。 在对用户进行身份验证之后,应用程序会将身份验证信息传递给SaaS应用程序。 当然,始终加密此数据并通过安全套接字层传输。 如果SaaS提供程序支持SAML,则可以使用自定义SAML实现生成SAML,或者,应用程序可以具有使用SaaS供应商提供的Web服务的代码。 最不推荐但可行的技术选择是使用带有一些基本信息的HTTP post ,该基本信息允许SaaS应用程序识别用户。

    这种模式的变体是SaaS提供程序实际上提供了此Web应用程序。 本质上,此Web应用程序与从SSO服务器产品安装的代理没有什么不同,因此它可能是构建自定义Web应用程序的首选选项。

    设计模式2:基于SAML

    这是理想的解决方案,其中SAML用于在SaaS应用程序和SSO服务器之间传输SSO信息。 如果双方都完全支持SAML,则执行SAML安装和测试通常需要几个小时。

    这是各种SSO服务器产品仍在成熟的地方。 在每个产品周期中,您都会开始看到更多现成的功能,这些功能可将集成工作有时缩短至5分钟。 例如,我在一小时内将SalesForce.com,Google Apps和Facebook与一种SSO服务器产品集成在一起。 如图2所示 ,此模式的工作方式如下:

    用户登录到SaaS应用程序。 该请求以SAML请求的形式重定向到您的IDP(SSO服务器)。 您的SSO服务器解密SAML并验证用户身份。 服务器将成功或失败SAML响应返回到SaaS应用程序。 用户登录或显示适当的错误消息。

    要设置此过程,通用步骤如下:

    登录到SaaS提供商的管理控制台,然后使用凭据定义SSO服务器的URL。 为SaaS服务器和SSO服务器上的加密消息设置SSL密钥。 在SSO服务器上创建一个策略,并将其启用以进行SAML通信。 调整所需的任何其他参数,例如自定义登录和错误页面以及超时。

    如果一切顺利,那就真的很简单。

    图2.基于SAML的SSO

    设计模式3:自动配置

    自动化配置是目录同步设计模式的一种不错的选择。 图3演示了它是如何工作的。 在启动,传输和终止过程中,当IDM工具将对用户身份的更改写入其自己的数据存储区(通常是目录软件)时​​,它也通常通过Web服务调用将此信息写入SaaS应用程序。 用户添加,终止和密码更改都发送到SaaS应用程序,因此与内部目录保持同步。

    现在,用户登录后即可使用公司凭据。 此设置实现的SSO风格略有不同,称为简单登录而不是SSO-简单,因为它仍使用与公司系统相同的用户名和密码,但不是单点登录。 用户不必单独登录SaaS应用程序。

    您可以通过自定义Web服务实现或使用的技术支持此类用户供应活动的服务供应标记语言(SPML)标准来实现此模式。

    图3.自动配置

    结论

    如果计划周详,则与SaaS提供商建立SSO相对容易。 需要注意一些事项,整个过程需要良好的项目管理和期望设定技巧,以确保您的项目成功。 请记住,SaaS供应商支持SSO,但并非所有供应商都一致支持SAML。 因此,在计划或采购周期开始时就SSO进行技术对话非常重要。 需要双向共享两端的技术限制。

    同样,如果正在构建自定义解决方案,请确保它们是高度安全和加密的。 此外,请确保您记录了所有内容。 如果出问题了,或者担心登录事务花费的时间太长,您希望信任自己的日志。 详细的日志记录方法通常可以偿还在第一个支持问题上花费的时间。

    最后,如果您看到SaaS在您的IT领域中扮演着更加重要的角色,请提前计划。 尽早进行正确的技术投资,而不是稍后进行。 当SaaS供应商和现成的商业产品发展其产品时,计划进行重构和重新评估也很重要。


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

    Processed: 0.010, SQL: 9