Customers on a paid plan can enable direct access via Proxy.
Creating Kafka Users
You can create and manage Kafka users through the Streamkap web interface at Kafka Access. To create a new Kafka user, click the “Create User” button. This will open the user creation dialog where you can configure the user’s permissions and access settings.For detailed step-by-step instructions on creating and managing Kafka users through the UI, see the Kafka Access documentation.
User Configuration
When creating a Kafka user, you’ll need to configure:- Username: Enter a lowercase username for the Kafka user
- Password: Set a secure password for authentication
- Whitelisted IPs: Specify IP addresses or CIDR ranges that are allowed to connect
- Kafka ACLs: Configure access control lists to define what the user can do
Access Control Lists (ACLs)
Kafka ACLs control what operations users can perform on specific resources. When creating a user, you can configure:-
Resource Type:
TOPIC
- Controls access to Kafka topicsGROUP
- Controls access to consumer groups
-
Operation: The type of operation allowed (varies by resource type)
ForTOPIC
resources:ALL
- All operationsWRITE
- Write/produce messagesREAD
- Read/consume messagesALTER
- Modify resource configurationsALTER_CONFIGS
- Modify resource configurationsCREATE
- Create new resourcesDELETE
- Delete resourcesDESCRIBE
- View resource metadataDESCRIBE_CONFIGS
- View resource configurations ForGROUP
resources (consumers only):READ
- Join and consume from consumer groupDELETE
- Delete consumer groupDESCRIBE
- View consumer group metadata
-
Pattern Type: How the resource name is matched
LITERAL
- Exact match of the resource namePREFIXED
- Match resources with the specified prefix
- Name: The specific resource name or prefix to apply the ACL to
Connection Details
Once a user is created, your endpoints are shown under “Proxy Endpoints”. These endpoints follow the naming pattern:<service-name>-<kafka-username>.streamkap.net:PORT
Where:
<service-name>
- Your Streamkap service/tenant name<kafka-username>
- The Kafka user’s usernamePORT
- One of the available ports: 32400, 32401, or 32402
my-service-kafka-user.streamkap.net:32400
my-service-kafka-user.streamkap.net:32401
my-service-kafka-user.streamkap.net:32402
- Security protocol:
SASL_SSL
(recommended for secure connections) - SASL mechanism:
PLAIN
- Username/password: As configured for the user
Required Permissions
To write to Kafka topics, your user needs these ACL permissions: Essential permissions (always required):- Resource Type:
TOPIC
| Operation:WRITE
| Pattern Type:LITERAL
orPREFIXED
| Name: Your topic name/prefix - Resource Type:
TOPIC
| Operation:DESCRIBE
| Pattern Type:LITERAL
orPREFIXED
| Name: Your topic name/prefix
- Resource Type:
TOPIC
| Operation:CREATE
| Pattern Type:LITERAL
orPREFIXED
| Name: Your topic name/prefix
Both
WRITE
and DESCRIBE
are required for successful message production. Add CREATE
only if you need to create new topics.Code Examples
Prerequisites
- Python
- CLI
Install the required packages:
Your proxy endpoints are listed in the Streamkap web interface at Kafka Access under “Proxy Endpoints”. The format is
<service-name>-<kafka-username>.streamkap.net:PORT
.<service-name>-<kafka-username>
- Your proxy endpoints<your-username>
- Your Kafka user username<your-password>
- Your Kafka user password<topic-name>
- The topic you want to write to
Troubleshooting
Connectivity Issues
Connectivity Issues
Before diving into complex debugging, verify basic network connectivity to your Streamkap Kafka cluster.Test DNS Resolution:Test Port Connectivity:Test SSL/TLS Handshake:Common Network Issues & Solutions:
- VPN interference: Disconnect VPN and try again
- Firewall blocking ports: Ensure ports 32400-32402 are accessible
- Whitelisted IPs: Verify your public IP address is in the user’s whitelist
SSL & Authentication Issues
SSL & Authentication Issues
Common Errors:
SSL connection closed by peer
during message production- SSL certificate verification failures
SASL authentication failed
or authentication errors- SSL handshake failures
- Verify username and password are correct
- Ensure
sasl.mechanism
is set toPLAIN
andsecurity.protocol
is set toSASL_SSL
- Check that the user account is active and not disabled
- Confirm the user has basic connection permissions
- For Python
Ensure certificates are properly configured: - For CLI tools
Try different certificate paths: - Disable hostname verification (temporary):
- Contact support if issues persist - may require infrastructure team resolution
Topic authorization failed
Topic authorization failed
Group authorization failed (consumers only)
Group authorization failed (consumers only)
No messages received (consumers only)
No messages received (consumers only)
Issue: Consumer polls but receives no messagesPossible Causes:
- No messages in topic: Topic is empty or messages are at different offsets
- Consumer group offset: Group has already consumed available messages
- Partition assignment: Messages might be in different partitions
- Offset reset: Check
auto.offset.reset
setting
- Check topic contents: Use CLI to verify messages exist
- Use fresh consumer group: Try with a new
group.id
- Reset offsets: Set
auto.offset.reset
toearliest
- Check all partitions: For CLI, try without specifying partition