RBAC

This extension may be referenced by the qualified name envoy.filters.network.rbac

Note

This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.

Role-Based Access Control configuration overview.

extensions.filters.network.rbac.v3.RBAC

[extensions.filters.network.rbac.v3.RBAC proto]

RBAC network filter config.

Header should not be used in rules/shadow_rules in RBAC network filter as this information is only available in RBAC http filter.

{
  "rules": "{...}",
  "shadow_rules": "{...}",
  "stat_prefix": "...",
  "enforcement_type": "..."
}
rules

(config.rbac.v3.RBAC) Specify the RBAC rules to be applied globally. If absent, no enforcing RBAC policy will be applied.

shadow_rules

(config.rbac.v3.RBAC) Shadow rules are not enforced by the filter but will emit stats and logs and can be used for rule testing. If absent, no shadow RBAC policy will be applied.

stat_prefix

(string, REQUIRED) The prefix to use when emitting statistics.

enforcement_type

(extensions.filters.network.rbac.v3.RBAC.EnforcementType) RBAC enforcement strategy. By default RBAC will be enforced only once when the first byte of data arrives from the downstream. When used in conjunction with filters that emit dynamic metadata after decoding every payload (e.g., Mongo, MySQL, Kafka) set the enforcement type to CONTINUOUS to enforce RBAC policies on every message boundary.

Enum extensions.filters.network.rbac.v3.RBAC.EnforcementType

[extensions.filters.network.rbac.v3.RBAC.EnforcementType proto]

ONE_TIME_ON_FIRST_BYTE

(DEFAULT) ⁣Apply RBAC policies when the first byte of data arrives on the connection.

CONTINUOUS

⁣Continuously apply RBAC policies as data arrives. Use this mode when using RBAC with message oriented protocols such as Mongo, MySQL, Kafka, etc. when the protocol decoders emit dynamic metadata such as the resources being accessed and the operations on the resources.