-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restrict AdminClient permission for KafkaHealthIndicator #423
Comments
In a way I think this is in a way related to #440 I was thinking of introducing different health strategies through a property. If your user does not have DescribeClusterResult ACL how do your propose to do the health check ? Also what risks are there if the cluster ACLs are fetched upon receiving the DescribeClusterResult result ? |
Hey @jonasgeiregat, Of course this doesn't mean that we don't need "replication.factor" at all, but we don't have any other options in Kafka... In my opinion this shouldn't be placed as default configuration. To your answer: Well, that was a lot of political blabla... I think the proper way is to overwrite KafkaHealthIndicator, but as a easy workaround without any coding, we could just enable common micronaut health endpoints:
and set "kafka.streams.health.enabled" to "false" and "kafka.streams.health.streams.enabled" to "true" in application.yml. With this solution we can at least still have a monitoring on streams health.
|
I'm not sure giving a client the DescribeClusterResult ACL would violate one of the GDPR rules. As no personal or identifiable information seems to be exposed by the DescribeClusterResult ACL. But then again I'm not a GDPR expert. In any case I would propose to have a set of HealthIndicators available, the current one still being the default by through configuration could be overridden. The following would enable a kafka HealthIndicator based upon the min.insync.replicas cluster property. This then would also solve #440
If the maintainers agree with such a solutions or anything similar I would love to add this as a contribution |
PRs welcome |
Expected Behavior
By enabling kafka.health.check Micronaut should only get the essential information, which is used for making health check.
Actual Behaviour
As request result from AdminClient the DescribeClusterResult also contains sensitive information like ACLs, which could lead to a security issue. This request should be restricted by default configuration.
Steps To Reproduce
Environment Information
Example Application
No response
Version
3.0.0
The text was updated successfully, but these errors were encountered: