对于希望在数字经济的市场竞争中获胜的企业来说,软件开发已经成为一项关键任务。它越来越多地推动技术创新甚至颠覆行业。然而,构建、测试和验证主要代码块通常需要几个月的时间,找到处理这项任务的人才可能是艰巨的。
由于技能差距和规模交付,许多企业转向低代码应用程序开发平台来更快地构建和交付应用程序。
在通常情况下,这些低代码工具提供了一个图形用户界面(GUI),可以为非技术人员(公民开发人员)提供帮助,如果他们愿意的话可以参与软件开发过程。采用这些工具并不是开发人员逐行键入代码,而是组装实现应用程序业务逻辑的代码构建块。
然而,在采用低代码工具的热情中,经常被忽视的是,这些类型的开发平台会影响企业的许多领域,其中包括身份验证和网络安全。例如,低代码应用程序必须与各种本地系统以及Active Directory、Azure AD、Okta等云计算身份验证平台互操作。
与身份验证系统集成不良的后果可能是重大的,也是极其痛苦的。尤其是随着业务需求的变化以及企业需要开始添加新功能,例如无密码身份验证、多因素身份验证(MFA)、身份证明、用户行为分析或基于角色或属性的复杂授权。如果没有强大的身份管理框架,人工管理大量授权和身份验证可能会很困难,并且会破坏安全性,包括零信任计划。
权限很重要
当今IT环境的复杂性对任何人来说都是显而易见的。低代码在简化和加快软件开发的同时,也带来了挑战。企业可能会发现,他们所处的框架缺乏提供无缝但高度安全的用户体验所需的灵活性,尤其是对于连接到单点登录(SSO)的复杂基于角色的访问。更新、更改和其他事件可能会造成严重破坏,迫使企业的团队不断推动应用程序更新,以应对不断变化的威胁。
例如,使用软件开发工具包(SDK)执行身份集成(如添加对MFA的支持)的传统方法会增加额外的复杂性。无论是否使用低代码工具都是如此。这是因为软件开发工具包(SDK)方法在应用程序和它们使用的身份验证系统之间建立了一种深度耦合的关系。在通常情况下,需要添加的每个新身份功能都需要另一个软件开发工具包(SDK)进行集成,这增加了相互依赖性和失败的可能性。
实际上,企业可能需要具有不同身份验证和授权功能的不同软件开发工具包(SDK),具体取决于它正在构建或使用的应用程序和框架。然而,如今的应用程序需要一个更灵活和场景相关的框架,该框架跨越系统,并且在某些情况下,可以更深入地了解用户在任何给定时刻所做的事情。
事实上,从以软件开发工具包(SDK)为中心的方法迁移不仅是一个好主意,而且至关重要。更重要的是,尝试使用API来规避问题并不是特别有用,因为企业通常会遇到相同的基本问题:与严格的身份框架相关的高度复杂性。更糟糕的是,这种方法还可能引入安全漏洞和其他弱点。
使用低代码开发框架构建应用程序时,一种更易于管理的方法是将它们连接到身份服务的单个抽象层。这解决了与低代码环境中的身份管理相关的三个主要挑战:摆脱特定于平台的方法,摆脱将应用程序与特定身份提供者绑定的低代码工具,以及建立符合企业特定需求的身份框架。
抽象是关键
抽象层减少了公民开发人员的负担,他们缺乏技术技能和对安全要求的认识,这会阻止他们进行更新和升级或添加新功能来跟上不断变化的需求——通常在优化的DevOps或DevSecOps环境中持续集成和交付。
抽象还消除了将特定应用程序硬编码到特定身份系统或API的需要。
在这个领域中,嵌入式逻辑通过一种分布式智能的形式被内置到身份框架中。更重要的是,该过程无需推出代码并需要在应用程序上进行处理。应用程序所有者或身份管理提供商也没有必要在这一过程中发挥作用。
抽象提供了另一个优势:它处理与身份管理相关的各种标准,包括SAML。大多数企业依赖于与授权和身份验证相关的流程和任务的多个标准。使用低代码工具时,监督标准和编排它们也可能变得繁琐且难以管理。
随着企业越来越多地转向低代码框架以提高性能和降低成本,保持软件开发和身份验证同步至关重要。抽象可以弥合差距。