基于角色的访问控制 (RBAC) 网络过滤器

RBAC 网络过滤器用于授权已识别下游客户端的操作。这对于显式管理应用程序的调用者并保护它免受意外或禁止的代理很有用。该过滤器支持使用安全列表 (ALLOW) 或阻止列表 (DENY) 策略集进行配置,或者基于连接属性 (IP、端口、SSL 主题) 的匹配器,以及不同的操作。此过滤器还支持强制模式和影子模式下的策略。影子模式不会影响真实用户,它用于测试新策略集在推广到生产环境之前是否有效。

当请求被拒绝时,CONNECTION_TERMINATION_DETAILS 将在 rbac_access_denied_matched_policy[policy_name] 格式中包含导致拒绝的匹配策略的名称(如果未匹配任何策略,policy_name 将为 none),这有助于将拒绝与 Envoy RBAC 过滤器和上游后端区分开来。

  • 此过滤器应使用类型 URL type.googleapis.com/envoy.extensions.filters.network.rbac.v3.RBAC 配置。

  • v3 API 参考

统计信息

RBAC 网络过滤器在 <stat_prefix>.rbac. 命名空间中输出统计信息。

对于影子规则统计信息 shadow_allowedshadow_deniedshadow_rules_stat_prefix 可用于添加额外的前缀,以便在 <stat_prefix>.rbac.<shadow_rules_stat_prefix>. 命名空间中输出统计信息。

名称

类型

描述

allowed

计数器

被允许访问的总请求数

denied

计数器

被拒绝访问的总请求数

shadow_allowed

计数器

过滤器影子规则允许访问的总请求数

shadow_denied

计数器

过滤器影子规则拒绝访问的总请求数

logged

计数器

应记录的总请求数

not_logged

计数器

不应记录的总请求数

动态元数据

RBAC 过滤器会发出以下动态元数据。

对于影子规则动态元数据 shadow_effective_policy_idshadow_engine_resultshadow_rules_stat_prefix 可用于添加额外的前缀到相应的动态元数据键。

名称

类型

描述

shadow_effective_policy_id

字符串

与操作匹配的有效影子策略 ID(如果有)。

shadow_engine_result

字符串

影子规则的引擎结果(即 alloweddenied)。

access_log_hint

布尔值

请求是否应记录。此元数据是共享的,并在键命名空间 'envoy.common' 下设置(请参阅 共享动态元数据)。