ACL Examples and Use Cases
This page provides practical examples and use cases for implementing ACLs in Confluent Cloud.
ACL examples
The following examples demonstrate common ACL patterns for different use cases in Confluent Cloud:
Producer access to specific topics
Grant a service account permission to produce messages to specific topics:
confluent kafka acl create --allow --service-account sa-1234 \
--operations write --topic my-topic
Consumer access to topics and consumer groups
Grant a service account permission to consume from topics and use consumer groups:
# Grant read access to the topic
confluent kafka acl create --allow --service-account sa-1234 \
--operations read --topic my-topic
# Grant read access to the consumer group
confluent kafka acl create --allow --service-account sa-1234 \
--operations read --consumer-group my-consumer-group
Topic creation permissions
Grant a service account permission to create topics:
confluent kafka acl create --allow --service-account sa-1234 \
--operations create --topic "*"
Prefix-based access control
Grant access to all topics with a specific prefix:
confluent kafka acl create --allow --service-account sa-1234 \
--operations read,write --topic "prod-" --prefix
DENY ACL for security
Explicitly deny access to sensitive topics:
confluent kafka acl create --deny --service-account sa-1234 \
--operations read,write --topic sensitive-data
Cluster-level permissions
Grant cluster management permissions:
confluent kafka acl create --allow --service-account sa-1234 \
--operations describe --cluster
Host-restricted ACLs
Restrict access to specific IP addresses:
# Allow access only from specific IP
confluent kafka acl create --allow --service-account sa-1234 \
--operations read,write --topic my-topic --host "192.168.1.100"
# Allow access from IP range
confluent kafka acl create --allow --service-account sa-1234 \
--operations read,write --topic my-topic --host "192.168.1.*"
ACL use cases
Multi-tenant environments
Use ACLs to isolate different teams or applications within the same cluster. For more information about multi-tenancy and client quotas, see Multi-Tenancy and Client Quotas on Confluent Cloud.
# Team A access
confluent kafka acl create --allow --service-account team-a \
--operations read,write --topic "team-a-" --prefix
# Team B access
confluent kafka acl create --allow --service-account team-b \
--operations read,write --topic "team-b-" --prefix
Data pipeline security
Secure data pipelines by granting specific permissions to each component:
# Source connector permissions
confluent kafka acl create --allow --service-account source-connector \
--operations write --topic "raw-data"
# Processing application permissions
confluent kafka acl create --allow --service-account processor \
--operations read --topic "raw-data"
confluent kafka acl create --allow --service-account processor \
--operations write --topic "processed-data"
# Sink connector permissions
confluent kafka acl create --allow --service-account sink-connector \
--operations read --topic "processed-data"
Compliance and audit requirements
Implement strict access controls for compliance:
# Grant minimal required permissions
confluent kafka acl create --allow --service-account compliance-app \
--operations read --topic "audit-logs"
# Deny access to sensitive topics
confluent kafka acl create --deny --service-account compliance-app \
--operations read,write --topic "pii-data"