This policy runs in the cluster phase.
- A Kafka client produces a message and sends it to Event Gateway.
- Event Gateway checks the client’s action against the configured ACL.
- If the action is allowed, it passes the message onward.
- If the action isn’t allowed, the message is dropped.
sequenceDiagram
autonumber
participant client as Client
participant egw as Event Gateway
participant broker as Event broker
client->>egw: message
egw->>egw: check action against ACL
alt If action allowed
egw->>broker: send message
else If action blocked
egw -x client: forbidden
end
When the virtual cluster uses terminate mediation, the Event Gateway connects to the backend Kafka cluster using a single service account.
The backend cluster sees only that service account, not individual client identities.
ACL policies on the virtual cluster are how you enforce per-client authorization in this model.
Each client’s principal is evaluated against ACL rules before the Event Gateway forwards any request to the backend.
Consumer Group management commands (for example, create or delete) are also intercepted and evaluated against ACL rules using the group resource type.
The ACL policy decides whether a principal can perform an action at all, based on the resource, operation, and permission type.
It doesn’t inspect the content of the request beyond the resource name.
If you need to constrain the content of an allowed action, for example capping the number of partitions a client can request or enforcing a topic naming pattern, use the Request Rule Validator policy instead.
You can combine both policies on the same virtual cluster: ACLs decide who can act, and Request Rule Validator decides what the action contains.
We recommend placing ACLs before Request Rule Validator, so an unauthorized client learns nothing about your content rules before it’s rejected on authorization grounds.