We have a Kafka-based system, and a large team of devs who are working on this system. We are still in development and testing phase, and have not gone to production yet. For majority of local dev testing, we do not need to consume Kafka messages, but we do need to interact with databases and other applications in the QA environment, so devs will use the QA profile properties when running their application (these are Java Spring Boot apps).
The problem is when a dev runs an application locally with a QA profile, the local app is consuming messages from the QA environment and disrupting testing. We have a larger concern too that when we go to production, a dev might run with a production profile to be able to look at some production data, and unintentionally consume production messages, causing significant problems.
Is there a way to configure Kafka to only allow certain hosts/IPs to consume it's messages?