跳至主要内容

什么是策略引擎?

什么是策略引擎?

策略引擎是一种软件组件,让组织能够在其云环境中定义、管理和强制执行安全策略或规则。管理员可以创建适用于整个应用的安全策略,开发人员则可以从一个集中位置授予用户访问数据和资源的权限。任何策略变更都可以集中更新,以确保一致性和准确性。策略引擎降低了大型分布式系统中安全管理的复杂性。

策略引擎有哪些优势?

组织通过实施策略引擎,可以获得多项关键优势。

细粒度授权

细粒度授权是一种安全方法,它以高度细致、精确的方式分配和管理权限与访问权。组织在授权访问时,可以将不同的条件和属性纳入考量,从而实现非常具体的权限控制。例如,相比授予对整个数据库的访问权限,它可能只允许用户访问数据库中的某些记录或字段。

通过创建细粒度权限,管理员可以建立一套全面的访问控制框架。这种方式既能增强安全性,也能让管理员更好地掌控策略执行。

灵活性更高

拥有独立策略引擎所带来的灵活性,使企业能够快速响应任何业务运营变化或新出现的安全需求。系统管理员无需修改应用程序代码或设置,即可管理变更。他们可以从集中位置更新或修改策略。

策略引擎无需持续监控,就能强制执行安全策略。只要用户发起请求,它们就会自动应用条件规则。将这一过程自动化,既能提升安全性,也能最大限度降低人为失误的风险。

降低安全风险

在组织的安全框架中使用策略引擎,有助于降低整体安全风险。通过遵循最低权限访问原则,用户只能获得与其角色相符的企业资源访问权限。这将降低未经授权用户访问敏感数据的可能性。

策略引擎还包含用于简化策略执行相关日志记录的组件。每当授权或拒绝访问时,这些组件都会向受保护的日志中写入详细信息。该日志既增强了安全性,同时又为审计留下了可追踪的记录。此外,它还能缩短安全事件响应所需的时间,从而进一步降低安全风险。

可扩展性

借助策略引擎,企业可以将策略与服务器或应用程序逻辑分离。这样,企业就能独立管理策略,并将其应用到其他应用程序中,而无需将两者耦合。这种方法可以更有效地管理访问请求、保护数据和网络资源。策略引擎带来的可复用性,也让企业能够减少策略开发的工作量,同时将策略管理扩展至动态环境。

策略引擎由哪些组件构成?

策略引擎包含若干核心组件,正是这些组件让它能够正常运作。

策略存储库

策略存储库(或称策略存储)可以是数据库、文件系统,或任何其他能够保存策略数据的存储系统。它负责存储策略,并让引擎能够高效地检索这些策略。策略通常以形式语言定义,并明确规定决定访问权限的规则。

策略管理点

策略引擎通常还会包含一个策略管理点(PAP),让管理员能够编辑、更新或删除存储库中的策略。PAP 提供一个可供管理员交互的界面,用于添加或修改策略。管理员可通过该界面规定谁在什么条件下可以做什么。

策略决策点

策略决策点(PDP),也称策略评估器,负责依据策略存储库中存储的策略来评估访问请求。收到请求后,PDP 会根据适用的策略判断应允许还是拒绝该请求。在某些情况下,策略评估器会从策略信息点(PIP)收集更多信息。

策略信息点

PIP 是 PDP 在做决策时可能需要的补充信息来源。它负责存储有关用户和环境的其他详细信息(例如设备状态、用户角色或位置),以便为请求提供更多上下文。在决策过程中,PIP 会检索这些信息并将其提供给 PDP。

策略执行点

策略执行点(PEP)是实际执行 PDP 所做决策的组件。它负责监控访问点,例如网络网关、应用程序或数据库,并根据 PDP 的决策允许或拒绝访问。

审计与合规日志记录

该组件负责记录决策、策略变更以及访问尝试(无论允许还是拒绝)。它对合规、监控和取证至关重要。

策略引擎如何运作?

策略引擎的主要作用是实现动态策略执行。启用了策略的 API 网关让企业无需进行大量代码改动,就能采用、修改和管理策略。创建约束和条件是让策略引擎运转起来的第一步。系统工程师通常使用 XACML(可扩展访问控制标记语言)来创建这些规则。

当用户发起对数据库或敏感信息的访问请求时:

  1. 请求传递至策略管理组件。
  2. 策略评估器运用基于规则的逻辑和模式匹配技术,判断该请求是否符合所定义的条件。
  3. 如果策略评估器授予访问权限,PEP 模块将允许该操作,并授予用户对该信息的网络访问权限。
  4. 如果用户未获授权,PEP 则会阻止该操作。

在更复杂的系统中,可以使用上下文处理器来协调 PEP、PDP、PIP 和 PAP 之间的交互。它会处理来自 PEP 的请求,从 PIP 收集必要信息,将决策请求发送给 PDP,然后再把决策结果返回给 PEP。

无论策略引擎最终判定为批准还是拒绝,它都会记录所请求的访问权限及其状态,并同时记录请求时间、结果和其他相关信息。

如何在策略引擎中定义策略?

策略引擎支持使用声明式语言来定义策略或规则。下面给出几个示例。

Cedar

Cedar 是一种灵活、可扩展且可扩容的基于策略的访问控制语言,可帮助开发人员以策略的形式表达应用程序权限。它允许为任意类型的主体和资源定义授权规则,可实现基于角色和基于属性的访问控制,并支持通过自动推理工具进行分析。Cedar 策略与应用程序代码彼此分离,因此可以独立编写、分析、审计,甚至可在多个应用程序之间共享。同一个资源也可以附加多条策略。一旦您将细粒度权限指定为 Cedar 策略,应用程序便可调用 Cedar SDK 的授权引擎来对访问请求进行授权。

Rego

Rego 是 Open Policy Agent(OPA)使用的策略语言,而 OPA 是推荐用于 AWS 环境的通用策略引擎。您可以使用 Rego 起草独立于应用程序存在的策略和规则,并且无需任何应用程序特定逻辑即可做出授权决策。OPA 还提供 RESTful API,使获取授权决策变得简单直接。为做出授权决策,应用程序会使用 JSON 输入查询 OPA,随后 OPA 根据指定策略评估该输入,并以 JSON 形式返回访问决策。OPA 还能导入可能与做出授权决策相关的外部数据。

AWS 如何支持您的策略引擎需求?

Amazon Verified Permissions 是一项可扩展的权限管理和细粒度授权服务,适用于您构建的应用程序。借助 Verified Permissions,开发人员可以通过将授权外部化并集中管理策略,更快地构建更安全的应用程序。这有助于您在您构建和部署的应用程序(例如 HR 系统和银行应用程序)内,对资源实施并强制执行细粒度授权。

通过 Verified Permissions,您可以执行以下任务:

  • 定义基于策略的访问模型,用于描述由您的应用程序管理的资源,以及用户可对这些资源执行的操作(例如查看、更新和共享)。
  • 让应用程序用户能够管理对这些资源的访问权限。应用程序允许专员查看和更新记录,并将其存储在 Verified Permissions 中。
  • 强制执行这些权限。

立即创建免费账户,开始在 AWS 上使用策略引擎。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages