基于角色的访问控制 (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配置。
统计信息
RBAC 网络过滤器在 <stat_prefix>.rbac. 命名空间中输出统计信息。
对于影子规则统计信息 shadow_allowed 和 shadow_denied,shadow_rules_stat_prefix 可用于添加额外的前缀,以便在 <stat_prefix>.rbac.<shadow_rules_stat_prefix>. 命名空间中输出统计信息。
名称 |
类型 |
描述 |
|---|---|---|
allowed |
计数器 |
被允许访问的总请求数 |
denied |
计数器 |
被拒绝访问的总请求数 |
shadow_allowed |
计数器 |
过滤器影子规则允许访问的总请求数 |
shadow_denied |
计数器 |
过滤器影子规则拒绝访问的总请求数 |
logged |
计数器 |
应记录的总请求数 |
not_logged |
计数器 |
不应记录的总请求数 |
动态元数据
RBAC 过滤器会发出以下动态元数据。
对于影子规则动态元数据 shadow_effective_policy_id 和 shadow_engine_result,shadow_rules_stat_prefix 可用于添加额外的前缀到相应的动态元数据键。
名称 |
类型 |
描述 |
|---|---|---|
shadow_effective_policy_id |
字符串 |
与操作匹配的有效影子策略 ID(如果有)。 |
shadow_engine_result |
字符串 |
影子规则的引擎结果(即 |
access_log_hint |
布尔值 |
请求是否应记录。此元数据是共享的,并在键命名空间 'envoy.common' 下设置(请参阅 共享动态元数据)。 |