You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add SslPrincipalMapper, a Kafka-compatible mapper from an X.500 Distinguished Name (DN) — the RFC 2253 string returned by X500Principal.getName() — to a principal name. This is pure string/regex logic with no SSL/TLS machinery involved, so it's fully independent of the rest of the TLS work.
DEFAULT keeps the full DN as the principal name.
RULE:pattern/replacement/[LU] rules extract/rewrite a DN into a shorter, stable principal (e.g. just the CN) — v1 ships DEFAULT plus basic extract rules; the full Kafka grammar is future work.
Unsupported rule grammar is rejected eagerly (IllegalArgumentException) when parsing the rules, not silently ignored — this lets the config-validation in the server pipeline ticket fail fast at startup.
Search before asking
Description
Part of #3786 (FIP-29: (m)TLS Support).
Wave 0 — no dependencies, can start immediately.
Add
SslPrincipalMapper, a Kafka-compatible mapper from an X.500 Distinguished Name (DN) — the RFC 2253 string returned byX500Principal.getName()— to a principal name. This is pure string/regex logic with no SSL/TLS machinery involved, so it's fully independent of the rest of the TLS work.DEFAULTkeeps the full DN as the principal name.RULE:pattern/replacement/[LU]rules extract/rewrite a DN into a shorter, stable principal (e.g. just the CN) — v1 shipsDEFAULTplus basic extract rules; the full Kafka grammar is future work.IllegalArgumentException) when parsing the rules, not silently ignored — this lets the config-validation in the server pipeline ticket fail fast at startup.AuthenticationException.New config option:
security.ssl.principal.mapping.rules(string, defaultDEFAULT).Depends on: none.
Depended on by: mTLS authentication plugin (#3793).
Estimated diff size: ~250 lines.
Willingness to contribute