KAFKA-8336; Enable dynamic reconfiguration of broker's client-side certs#6721
Conversation
65ab26f to
8c96241
Compare
omkreddy
left a comment
There was a problem hiding this comment.
@rajinisivaram Thanks for the PR. LGTM.
|
@omkreddy Thanks for the review, merging to trunk |
…rts (apache#6721) Enable reconfiguration of SSL keystores and truststores in client-side channel builders used by brokers for controller, transaction coordinator and replica fetchers. This enables brokers using TLS mutual authentication for inter-broker listener to use short-lived certs that may be updated before expiry without restarting brokers. Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
|
@rajinisivaram @omkreddy How would I use this feature? I would like to assign short-lived certificates to the clients. I would like to know if I need to provide additional config at the broker and/or client level to use this feature? |
|
@abhishekvm We currently support dynamic updates of certificates only for brokers. This PR was enabling updates of certificates for client-side connections made by brokers (e.g connections made by the controller). For client applications, we don't have dynamic update feature yet. |
|
@rajinisivaram If I understand correctly, do you mean that we can't update the producer/consumer keystores dynamically? |
|
So if I want to add a fresh client I can add the certificate in the trusted client trust store and it woule be accepted? Is this correct? |
…ler connection (#12381) What: When a certificate is rotated on a broker via dynamic configuration and the previous certificate expires, the broker to controller connection starts failing with SSL Handshake failed. Why: A similar fix was earlier performed in #6721 but when BrokerToControllerChannelManager was introduced in v2.7, we didn't enable dynamic reconfiguration for it's channel. Summary of testing strategy (including rationale) Add a test which fails prior to the fix done in the PR and succeeds afterwards. The bug wasn't caught earlier because there was no test coverage to validate the scenario. Reviewers: Luke Chen <showuon@gmail.com>
…ler connection (#12381) What: When a certificate is rotated on a broker via dynamic configuration and the previous certificate expires, the broker to controller connection starts failing with SSL Handshake failed. Why: A similar fix was earlier performed in #6721 but when BrokerToControllerChannelManager was introduced in v2.7, we didn't enable dynamic reconfiguration for it's channel. Summary of testing strategy (including rationale) Add a test which fails prior to the fix done in the PR and succeeds afterwards. The bug wasn't caught earlier because there was no test coverage to validate the scenario. Reviewers: Luke Chen <showuon@gmail.com>
…ler connection (#12381) What: When a certificate is rotated on a broker via dynamic configuration and the previous certificate expires, the broker to controller connection starts failing with SSL Handshake failed. Why: A similar fix was earlier performed in #6721 but when BrokerToControllerChannelManager was introduced in v2.7, we didn't enable dynamic reconfiguration for it's channel. Summary of testing strategy (including rationale) Add a test which fails prior to the fix done in the PR and succeeds afterwards. The bug wasn't caught earlier because there was no test coverage to validate the scenario. Reviewers: Luke Chen <showuon@gmail.com>
Enable reconfiguration of SSL keystores and truststores in client-side channel builders used by brokers for controller, transaction coordinator and replica fetchers. This enables brokers using TLS mutual authentication for inter-broker listener to use short-lived certs that may be updated before expiry without restarting brokers.
Committer Checklist (excluded from commit message)