文约8800字 阅读约25分钟
IAM(身份和访问管理)通常负责用户需要访问的各种系统中的身份生命周期管理,包括入职、离职、角色变更。尽管IAM解决方案已经在市场上销售了30多年,但仍被认为是极其复杂的,非常耗费时间和耗费资源。 IAM的构建模块可以分为三类:身份、认证、授权。现有技术主要集中在前两个方面,即身份生命周期管理和身份认证。而授权通常由开发人员和应用程序所有者负责。所导致的结果是没有真正的控制,也缺乏对用户可以做什么或看什么的可见性。 授权是组织安全的核心,这也意味着它是生产力的核心,授权决定了数字身份在每个应用程序中可以做什么。确保数据安全并避免违规是授权的全部内容,确保正确的人在正确的时间动态地获得正确的访问权是根本。授权方法的发展旨在简化授权过程,使其能够更快扩展,并为组织提供更好的控制和可见性。 本文主要以国外知名IAM(身份访问与管理)厂商PlainID公司的视角,思考了IAM架构现代化的问题。 按照PlainID的观点,授权管理的演进路线图是:访问控制列表(ACL)-->基于角色的访问控制(RBAC)-->基于属性的访问控制(ABAC)-->基于策略的访问控制(PBAC)。PBAC是当前和未来的最佳授权方法,因为PBAC结合了RBAC和ABAC的最佳特性。 IAM架构现代化的核心是PBCA 。关于PBCA的安全模式示例,可参见《网络安全架构 | 安全模式方法论》。 本文目录一、从IAM到授权演进
1)IAM面临的困境2)IAM的构建模块3)授权的演进:从RBAC到ABAC再到PBAC4)基于组的访问 vs. 基于资源的访问二、使用PBAC重构IAM架构
1)重构IAM架构的思路2)Gartner报告:构建敏捷和现代化身份基础设施3)NIST标准草案:零信任架构4)实现IAM架构现代化的方法三、现实中的IAM架构
1)类型1:支持IdP的应用程序2)类型2:支持策略引擎(PDP)的应用程序3)类型3:支持IGA/IdM的应用程序4)类型4:断开连接的应用程序5)授权策略四、现代化的IAM架构
一、从IAM到授权演进 01 IAM面临的困境IAM(身份和访问管理)通常负责用户需要访问的各种系统中的 身份生命周期管理,包括入职、离职、角色变更等。但是,尽管IAM解决方案已经在市场上销售了30多年,但它们被认为是 极其复杂的,并且非常耗时和耗费资源。除此之外,组织的数据和身份也在不断扩大。许多组织正在考虑或已经将其数据扩展到云。曾经由组织的内部措施所控制和保护的内容,现在已经呈现分布式扩散,所以对它们的 访问控制也随之分布式扩散。许多组织还需要支持 分布式身份。员工可以从任何地方、办公室、家庭或移动设备访问组织系统。公司兼并、外部承包商,扩大了这些系统需要支持的身份来源。 02 IAM的构建模块IAM的构建模块可以分为以下三类:身份:如何定义和管理在线体验?
认证:如何证明身份?
授权:身份可以做什么?
分配访问控制是信息安全和法规遵从性的基本步骤之一。企业通常处理个人、商业、企业内部的数据,这些数据绝对不能泄露给公众,也不能泄露给组织内部。所有主要的法规遵从性制度,如FISMA、PCI-DSS、HIPAA和GDPR,都有详细的要求,规定了谁可以访问某些数据、何时可以访问这些数据、以及如何保存访问记录。但最后一个问题仍然存在,但如何确保未经授权的人员不能访问该数据?
1)使用属性来调节访问在 ABAC(基于属性的访问控制)下,对特定记录或资源的访问,是基于访问者(主体)、资源本身(对象)、以及访问对象的时间和地点(环境)的某些特征即属性进行的。主体的属性可以包括其职称、证书、受训情况。对象的属性可以包括其相关项目、其包含的个人识别信息(PII)、以及该PII的敏感性。从整体上看,这些属性现在可以用来设置允许访问数据和资源的规则。而另一方面, RBAC(基于角色的访问控制)涉及为每个组织或业务功能创建一个角色,授予该角色访问某些记录或资源的权限,并将用户分配给该角色。这种系统完全是太颗粒化了,很不灵活,并且在大范围场景下非常受限。 2)使用PBAC简化访问控制和智能化权限设置在 PBAC(基于策略的访问控制)下,授权不依赖于任何特定的实现(如XACML),并且 可以用自然语言设置策略,如“团队领导只能在工作日的上午9点到下午6点之间,授予团队成员对项目的访问权限”。这使得管理大量用户和数据更加简单。此外, PBAC支持环境控制。因此,如果存在只应在某些公司计算机上查看的敏感文件,则可以轻松设置策略以限制对场内系统的访问。 策略也可以基于事件快速调整。例如,如果工程师在紧急情况下需要访问,他们可以在紧急情况下在有限的时间内被授予立即访问权限。PBAC还通过隔离数据访问、控制访问蔓延,甚至阻止授权用户以危险方式访问数据,使遵守GRC和GDPR等法规变得更加容易。3)以自动化应对永恒的挑战
随着角色、组织结构、新项目分配的变化,PBAC可以立即调整用户可以访问的文档、医疗记录、服务器等。无需执行任何其他操作,即可启动访问新项目数据、部门中的新用户。PBAC确实是一种更加有效的方法,以支持您的访问决策。PBAC是一种新兴的模式,旨在帮助企业满足需求,即基于公司政策和治理要求,实施可操作的访问控制方案。 04 基于组的访问 vs. 基于资源的访问1)基于组的访问
传统上, 安全组是授权访问数据和操作的最常用方式。安全组或安全角色充当链接,作为用户和数据、信息或操作之间的中间层。 但它们并不能直接反映用户实际可以做什么或看到什么。例如:我们希望开发人员访问开发数据,而管理人员访问管理数据。因此,我们为开发人员创建一个组,为管理人员创建另一个组,并相应地分配用户。但谁负责确保开发组只能访问开发文档?管理组只能访问管理数据?如果分配给两个组的开发经理,意外地在开发文件夹中放置了“员工管理评估”文档,会发生什么情况? 当使用基于组的访问时,责任会被转移。IAM团队通常将用户连接到组,但该组可以访问的数据和活动是由应用程序或业务所有者负责的。在实践中,用户常常获得对他们不需要的太多资源的访问,并且无法获得对他们确实需要的特定资源和工具的访问。这种方法会导致太多的错误,而且无法扩展。还原到开发人员示例:每当开发人员加入新项目时,都需要将其分配给一组新的文档、工具和权限。此外,可能需要撤销对他们以前的工具集等的访问。如果组织中只有少数开发人员,这可能是可以管理的。但是,在有成百上千名员工的地方会发生什么呢?即使只有一名员工更改角色,IAM团队也将花费大量不必要的时间来解除和重新分配权限。 2)基于资源的访问 更好的方法是将用户直接连接到数据。 基于资源的访问 允许您将用户连接到他们有权访问的数据。无需中间人,无需派发责任,无需任何可能导致潜在错误的未知阶段。例如,在基于资源的访问中,可以同时基于用户和文档的匹配项目标识符,授予访问权。它还可以基于用户在项目中的角色,根据项目阶段确定访问权限,比如项目A处于审阅阶段,因此其数据可供分配给此项目的所有审阅者访问。因此,基于资源的访问允许直接的连接,允许对于用户可以看到什么和可以执行什么的精确的可视性。 二、使用PBAC重构IAM架构 01 重构IAM架构的思路随着面对全球化的数字转型和网络安全威胁向量的持续增长,IAM专家现在发现 传统IAM架构模式并不总是合适。一种新的、现代的IAM模式需要演进,以更好地 支持更多的应用程序和更先进的用例。最终,这成为支持组织目标更加灵活同时主动降低风险的唯一途径。PlainID承认这个架构的挑战性。这就是为什么我们已经开发了一个“现代化的IAM架构”模式(或观点),来解决授权策略和PBAC如何重新设计IAM的这个问题。
我们通过将PBAC(基于策略的访问控制)实现为一个集中式服务,来重新思考和重新设计身份和访问管理(IAM)架构。这种架构改变,允许组织改善他们的安全态势,降低风险并变得更加敏捷。
这个PBAC服务不仅应该支持一个特定的应用程序集,而且应该充当不同的IAM技术的焦点(或“大脑”),以向一个不同的 更大的应用程序和平台集,提供动态访问控制。1. 所有数据源和计算服务都被认为是资源。
2. 无论网络位置如何,所有通信都要收到保护。
3. 在每个会话的基础上,授予单个企业资源的访问权。
4. 对资源的访问由动态策略决定,包括客户端身份、应用程序、请求资产的可观察状态,并且可以包括其他行为属性。
5. 企业确保所有拥有的和有关的设备处于尽可能最安全的状态,并且监控资产以确保它们处于尽可能最安全的状态。
6. 在允许访问之前,所有资源的认证和授权都是动态的和严格强制执行的。
7. 企业收集关于网络基础设施和通信的当前状态的尽可能多的信息,并使用它来改善其安全态势。
零信任访问
“系统必须确保用户是真实的,并且请求是有效的。PDP/PEP通过恰当的判断以允许主体访问资源。这意味着 零信任适用于两个基本领域:认证和授权。”NIST阐述了 向零信任模型的转变是一个旅程,不单纯事关新的技术,更关注 现代化计划需要如何逐步被应用,以支持更多的用例。“组织应寻求逐步实现零信任原则、过程变更和技术解决方案,以通过用例来保护它们的数据资产和业务功能。 ” 04 实现IAM架构现代化的方法在 PlainID IAM现代化方法的中心是授权“策略”。在 PlainID的PBAC平台中定义的策略提供了一个通用工具,以对广泛的应用程序、服务和API,定义 上下文访问权限。 PBAC方法明显地模仿了NIST定义ZTA访问模型的方式 ,即“访问是通过策略决策点(PDP)和相应的策略执行点(PEP)来授予的。”但是这个ZTA访问模型的问题是所有资源(应用程序、数据等)需要能够停止授权流,并在授予访问之前向策略引擎发送访问请求。该模型完全适用于某种“类型的应用”,其中可以使用应用程序的简单扩展(即PEP)来实现 外部化的访问控制模型。尽管这些类型的应用对于组织来说是非常重要的,但它们并不代表需要以现代化方式消费授权和实现访问控制的大多数应用。 为了真正实现IAM架构的现代化,我们需要支持一组更大的应用程序和用例集。在我们看来,这就是为什么我们需要打破Gartner所描述的“ 身份竖井”。正如NIST所解释的,我们还需要 “逐步实施零信任原则”,以便能够解决更广泛和更高级的用例。 二、现实中的IAM架构在下面的图中,我们看到了 四种类型的应用程序。这些是抽象类型的应用程序,它们不是由任何特定的技术定义的,而是由其 如何使用和消费授权来定义的。每种应用程序类型都由一种特殊的IAM技术所“支持”。管理复杂:为了更改给定应用程序的权限,需要更新存储库。无论是手动的还是通过供应系统,在这两种情况下,这都是一项需要时间和资源的复杂任务。
缺乏灵活性:授权不会基于任何变量更改。例如,网络安全事件或用户通过移动设备的登录,都不会删除任何分配的权限。然而,存储库是静态的,它们的用户和权限必须事先设定。
分布效率低下:平均企业中有500多个存储库,很难在如此大规模的数据库上一致地应用授权策略。如果授权策略的应用不一致(无论是由于意外还是冷漠),则某些应用程序可能会成为安全风险。
首先,它是响应式的——虚拟令牌携带的数据允许应用程序根据授权令牌描述的条件动态响应。
其次,虚拟令牌允许很小,只包含应用程序验证和授权用户所必需的信息。最后,虚拟令牌减少了维护所有这些存储库的需要,因此不再需要非托管授权,不再需要“ghost”id。
PBAC支持动态运行时授权和管理态授权。
◉运行时授权:是基于用户访问请求期间计算的当前属性和条件的访问决策。运行时授权提供了灵活性,可以将当前状态和事件视为做出访问决策的一部分,因此通常更加准确。
◉管理态授权:是预先授权的决策、预先对用户访问所做的访问决策,通常被配置到应用程序存储库中。这种情况下的授权,通常是在用户入职、角色变更事件或作为请求过程的一部分设置的。
在下面的 类型1场景中,IdP可以查询PDP以获取动态范围、请求、角色和/或用户应该向应用程序提交的权限。 这些动态权限可以使现有的粗粒度访问模型更加细粒度和动态性。 该模型也适用于微服务架构,其中OAuth/OIDC服务器可以使用标准化的OAuth/OIDC令牌和流,为每个微服务提供访问决策、访问数据和访问过滤器。与类型3和类型4密切相关的,也是关于如何以及在何处应用“治理”。显然,当评估这个提议的架构时,您可以在IGA工具管理和治理能力和PBAC平台之间找到并覆盖。PlainID给这个讨论带来的主要论点是,我们所有的焦点都放在IAM架构的授权方面。我们不打算提供与任何身份治理过程相关的功能或能力,但我们确实打算提供授权或访问治理。对于这一主题,我们提供了许多可以提供的内容,包括策略和角色的可视化表示、策略/角色挖掘、工作流、SoD控制、以及各种调查工具和仪表盘,允许对授权领域进行更深入的了解。这的确是一个值得进一步讨论的领域。
另一个可能感兴趣的主题是,该 架构如何包括 特权访问管理(PAM)。它没有在上面的图表中被覆盖,但是PAM工具和策略引擎之间的互操作并不牵强。 如果PAM工具可以向策略引擎发送访问请求,那么决策当然也可以支持这种用例。在这种情况下,我们可以考虑用于了解环境方面(如IP地址、时间等)的策略,但也可以考虑是否有已计划的服务窗口或开放的IT紧急情况(如票据)。在授予IT管理员访问敏感防火墙、服务器或数据库的权限之前,可以评估这些因素并将其提供给PAM工具。 总节概要通过策略/角色的可视化表示,以及先进的分析、工作流,和可支持大型企业的委托模型,PlainID的PBAC平台对于寻求现代化其IAM架构的组织来说,是理想的。PlainID 同时为业务和管理团队提供了一种简单直观的方法,来控制其组织的整个授权过程。 允许您实现您可以想象的任何类型的规则,所有这些规则都不需要编码,而且都是细粒度的。在场内、在云中、或基于移动的实现,都是受支持的。PBAC方法简化了授权,因此可以使用 图数据库决策引擎 ,将数千个角色、属性甚至环境因素,转换为少量的逻辑智能授权策略。 PBAC方法提供了一个清晰的“关注分离(separation of concerns)”,其中授权策略在一个中心位置被管理和治理,但被多个渠道和平台所消费。这不是一个“一刀切”的架构,而是一项战略、一个旅程或一个架构计划,需要一个实际的和渐进的实施路线图,来解决每个组织的挑战、用例和需求。 参考资料:[1]Deeper thoughts on Modernizing IAM. Måns Håkansson,May 7, 2020;[2]Policy Based vs Role Based Access Control: The Truth. www.PlainID.com;[3]The Complete Guide to Authorization. www.PlainID.com;[4]Gartner公司,“架构敏捷和现代身份基础设施,”Mary Ruddy,Erik Wahlstrom,2020年1月13日。[5]NIST:零信任架构-草案(第二版)NIST SP 800-207,2020年2月。 (本篇完)