5.5. 聚合策略


如前文所述,红帽构建的 Keycloak 允许您构建策略,它是一个称为策略聚合的概念。您可以使用策略聚合来重复使用现有策略来构建更复杂的策略,并使您的权限更加分离在处理授权请求期间评估的策略。

要创建新的聚合策略,请在策略列表右上角的 item 列表中选择 Aggregated

添加一个聚合策略

Add aggregated policy

假设有一个名为 Confidential 资源的资源,该资源只能由 keycloak.org 域中的用户和特定范围的 IP 地址访问。您可以使用这两个条件创建单一策略。但是,无论原始网络是什么,您想要重复使用此策略的域部分来应用到运行的权限。

您可以为域和网络条件创建单独的策略,并根据这两个策略的组合创建第三个策略。通过聚合策略,您可以自由组合其他策略,然后将新的聚合策略应用到您想要的任何权限。

注意

在创建聚合策略时,请注意,您不会引入策略之间的循环参考或依赖项。如果检测到循环依赖项,则无法创建或更新策略。

5.5.1. Configuration

  • Name

    描述该策略的人类可读和唯一字符串。我们强烈建议您使用与您的业务和安全要求密切相关的名称,因此您可以更轻松地识别它们,同时了解它们的含义。

  • 描述

    一个字符串,其中包含有关此策略的更多详情。

  • 应用策略

    定义一组一个或多个与聚合策略关联的策略。要关联策略,您可以通过选择您要创建的策略类型来选择现有策略或创建新策略。

  • 决策策略

    此权限的决策策略。

  • logic

    评估其他条件后应用此策略的逻辑。

5.5.2. 聚合策略的决策策略

在创建聚合策略时,您还可以定义用于根据每个策略的结果确定最终决策的决策。

  • unanimous

    如果没有提供任何策略,则默认策略。在这种情况下,所有策略都 必须评估为最终决策的正决定。

  • Affirmative

    在这种情况下,至少一个 策略必须评估为正决定,以便最终决定也是正的。

  • consensus

    在这种情况下,正决策的数量必须大于负决策的数量。如果正和负决策的数量相同,则最终决策将是负数。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat