Table of Contents
Table of Contents
A security questionnaire for an Apache Kafka deployment can have every familiar box checked and still miss the path that matters. A Redpanda cluster may use Transport Layer Security (TLS), sit in a private subnet, and have identity and access management (IAM) policies attached to its nodes. Those controls protect different things. None of them, by itself, answers whether the right Kafka principal can read a sensitive Topic, whether an operator can change an access control list (ACL), or whether a Record and its operational metadata stay inside the approved boundary.
The review becomes tractable when you follow a Record from the client to the broker and then follow the management actions around that path. TLS protects a connection. Authentication establishes an identity. Kafka authorization decides what that identity can do. A Virtual Private Cloud (VPC) constrains network reachability. IAM governs cloud resources. The control plane manages the platform, while the data plane carries Kafka traffic. Collapsing these layers into one word such as “secure” leaves the gaps hidden.
1Start with the Kafka data path
Draw the path before reviewing individual settings:
Kafka client
│
│ listener, TLS or SASL authentication
▼
Redpanda broker
│
│ Kafka authorization: ACLs, and any configured role-based access control (RBAC) or group-based access control (GBAC) layer
├── Topic data, Consumer groups, transactions
└── replication, storage, and recovery paths
Operator or automation
│
│ Console, rpk, API, Operator, or cloud service
▼
Control-plane actions
│
│ cloud IAM, Kubernetes permissions, network policy
▼
VPC, nodes, disks, object storage, logs, and monitoring
This diagram is deliberately two paths. The first is the Kafka data plane: client requests, broker authorization, Record storage, replication, and reads. The second is the platform management path: provisioning, configuration, upgrades, diagnostics, and access to cloud resources. Some deployments join those paths through an operator or management service, but they should remain separate in the security review.
A useful evidence matrix asks the same question at each boundary: who makes the decision, what resource is protected, and which log proves the result?
| Boundary | Decision it makes | Evidence to request | Common confusion |
|---|---|---|---|
| Listener and TLS | Is the network peer connected to the intended endpoint, and is traffic encrypted? | Listener configuration, certificate chain, hostname checks, rotation procedure | Encryption is treated as authorization |
| Kafka authentication | Which Kafka principal does the broker see? | Client configuration, certificate or SASL identity mapping, broker authentication logs | A cloud role is assumed to be the Kafka principal |
| Kafka authorization | May that principal read, write, alter, or delete a Kafka resource? | ACL export, authorization settings, denied and allowed request examples | VPC reachability is treated as permission |
| VPC and network policy | Which networks and endpoints can reach the service? | Route tables, security groups, firewall rules, private endpoint policy | Private networking is treated as data residency proof |
| Cloud IAM and storage | Which workload may call cloud APIs or storage APIs? | IAM policy, trust policy, bucket policy, key policy, access logs | IAM is treated as a Topic-level policy |
| Audit and observability | Can a reviewer reconstruct the action and its result? | Identity events, broker audit records, control-plane logs, retention policy | One log source is assumed to be complete |
| Control plane | Who may change the platform or its configuration? | Role bindings, API audit events, approval and break-glass records | Control-plane access is treated as Kafka data access |
The table is a review method rather than a Redpanda feature checklist. Redpanda’s versioned documentation has separate sections for Kafka TLS encryption, ACL authorization, RBAC, and audit logging. Check the documentation for the exact Redpanda edition, deployment form, and version under review; do not infer availability or scope from a navigation label.
2TLS protects the path, not the Topic
TLS is the first gate because it protects the connection between a client and a listener. It can provide confidentiality in transit and server identity verification. With mutual TLS (mTLS), the client certificate can also participate in identifying the caller. Those are valuable properties, but the handshake does not answer whether the caller may read payments or alter a Consumer group.
Start by reviewing the listener that a production client actually uses. A certificate that is valid for an internal hostname does not prove that the advertised broker address is safe for every client network. Verify the certificate authority, subject alternative names, hostname verification, trust-store distribution, and rotation procedure. Test a successful handshake and a deliberately invalid certificate against the same listener. A configuration that only works when hostname verification is disabled should be treated as an unresolved finding.
Authentication then needs its own evidence. Kafka clients may authenticate with TLS client identity or a Simple Authentication and Security Layer (SASL) mechanism, depending on the deployment. The question is not which method appears in a template; it is which principal Redpanda derives from the credential and how that principal is represented in authorization rules. Record the mapping in the review:
| Client path | Identity input | Principal seen by Kafka | Verification |
|---|---|---|---|
| Producer | mTLS certificate or SASL credential | Named service identity | Broker log plus denied and allowed write test |
| Consumer | mTLS certificate or SASL credential | Named service identity | Group and Topic read test |
| Operator CLI | Operator credential and listener | Human or delegated service identity | Command audit plus broker authorization record |
| Connector or bridge | Worker credential | Dedicated integration identity | Connector task log plus Topic and Consumer group ACL test |
A shared credential may keep a client fleet connected, but it removes useful identity boundaries. If the broker sees one service account for many applications, the security team must obtain the application identity from another control point and show how the records correlate. Otherwise a successful Kafka request proves only that the shared credential was accepted.
3ACLs decide Kafka operations
Kafka authorization is where a security review meets the actual data plane. An ACL can allow or deny operations on resources such as Topics, Consumer groups, clusters, and transactional IDs. Redpanda documents ACL configuration separately from TLS, which reflects the important boundary: a principal can complete a TLS handshake and still be denied by the broker. The Apache Kafka security documentation is the neutral reference for the protocol-level model.
Build the matrix from the operations your workloads perform, not from broad job titles. For each Producer and Consumer, test the intended action and a nearby action that must fail. For example, a payment Producer may write to one Topic but should not read it, alter its retention, or access another application’s Consumer group. A platform operator may need to manage ACLs, but that privilege should be visible as an explicit administrative path.
A production matrix usually includes:
- Topic data: read, write, describe, and any delete or alter operation used by the runbook.
- Consumer groups: read or describe access needed for consumption, plus the ability to reset offsets only where the recovery process allows it.
- Transactions: transactional IDs and the Producer operations used by idempotent or transactional applications.
- Cluster and metadata: the minimum describe or administrative access needed by clients and tools.
- Integrations: Schema Registry, Connect, or bridge identities, each with separate credentials and resource scope.
Redpanda also publishes separate documentation for RBAC and group-based access control. Treat those as authorization layers whose exact scope depends on the product edition and release. Ask which layer is authoritative for each request, whether a role expands to Kafka ACLs or protects a management API, and how a denied request is logged. A role name such as “developer” is not evidence until it resolves to a principal, an operation, and a resource.
The most useful test is asymmetric: prove the expected request succeeds, then prove the closest forbidden request fails. Capture the principal, resource, operation, result, and timestamp for both. This catches a permissive wildcard ACL that a successful happy-path test would never reveal.
4IAM and VPC protect infrastructure paths
Cloud IAM answers a different question: which workload or operator can call a cloud API. It may control access to object storage, encryption keys, node actions, or managed network resources. It does not automatically become the Kafka principal that authorizes a Topic read. Redpanda’s IAM roles documentation must be read in the context of the specific deployment and cloud provider, then checked against the actual trust and permission policies.
The same distinction applies to a VPC. Private subnets, route tables, security groups, firewall rules, and private endpoints reduce who can reach a listener or storage endpoint. They do not decide what an authenticated Kafka principal may do after it reaches the broker. A cluster can be private and still have a broad ACL. It can also have tight ACLs while exposing a listener through an unintended route.
Review the network path in both directions:
| Path | Questions |
|---|---|
| Client to broker | Which DNS name and listener are used? Which subnets, routes, security groups, and private endpoints permit the connection? |
| Broker to storage | Which IAM identity accesses storage? Is traffic restricted to the intended region, endpoint, and bucket or container? |
| Operator to management API | Which identity provider, role binding, and network zone protect administrative actions? |
| Broker to monitoring and logs | Which metrics, logs, diagnostics, or audit records leave the data-plane boundary? |
| Recovery and replication | Which remote region, cluster, or storage account receives data or metadata during failover? |
Data residency is a path property. A statement that “the cluster runs in Region X” does not answer where backups, replicated Topics, audit records, support bundles, telemetry, or control-plane metadata are stored. Ask for the region and account of each destination, the action that sends data there, and the retention policy. If a claim cannot be tied to a configured endpoint and an access log, record it as an open question. The same questions are useful in BYOC Kafka security reviews.
5Keep control-plane evidence separate from data-plane evidence
Security reviews often fail when management access is described as if it were Record access. An operator may be authorized to change a cluster setting without being authorized to read a Topic. A cloud role may be able to update a node group without being able to fetch a Kafka Record. Conversely, a Kafka ACL can permit a Producer to write data without granting any ability to upgrade the cluster.
Use two audit trails:
- Data-plane trail: client identity, broker listener, Kafka principal, Topic or Consumer group, operation, authorization result, and relevant request or correlation ID.
- Control-plane trail: human or service identity, requested platform action, approval, cloud API call, resulting state, and rollback reference.
Redpanda’s audit logging documentation is the starting point for the broker-side events, but the final evidence pack usually combines broker records with the identity provider, Kubernetes or cloud audit log, and change-management system. Define the correlation field before an incident. A timestamp alone is weak evidence when several operators and automation jobs are active.
Break-glass access deserves a separate workflow. Require a named approver, a time-bounded credential or role, a reason, and a post-incident review. Keep the previous configuration, ACL state, and storage policy needed to reverse the action. A permanent shared administrator credential may be convenient, but it joins identity, approval, and execution in one opaque event.
6Turn the review into an evidence pack
A buyer or security architect should be able to hand the following pack to an independent reviewer:
- A data-plane and control-plane diagram with client, broker, storage, management, and observability paths.
- Listener and TLS configuration, certificate trust chain, hostname verification, and rotation owner.
- Authentication mapping from each client credential to the Kafka principal.
- ACL, RBAC, or group-based authorization exports with resource scope and wildcard review.
- Cloud IAM and storage policies, including trust relationships and encryption-key permissions.
- VPC routes, firewall or security-group rules, private endpoints, and ingress or egress controls.
- Audit events for a successful request, a denied request, a control-plane change, and a break-glass action.
- Region and retention evidence for Records, replicas, backups, logs, telemetry, and support artifacts.
- A rehearsal record showing that credentials can be revoked, certificates rotated, and an accidental ACL change rolled back.
This format also makes vendor comparisons fair. Compare evidence and responsibility boundaries rather than counting security labels. If a managed offering hides a component, ask which party owns its credentials, logs, patching, and region selection. If a self-managed deployment exposes every setting, ask who operates and reviews those settings in production. A related VPC and control-plane question set can help structure that interview.
7How to evaluate AutoMQ against the same boundary map
Once the neutral map is complete, a Kafka-compatible platform can be evaluated against the same evidence gates. AutoMQ is one candidate for that comparison. Its documentation describes Kafka client access with TLS or SASL authentication and Kafka ACL authorization, so those controls can be tested with the same identity-to-Topic matrix rather than accepted as a marketing label. See the AutoMQ security overview and Kafka ACL guide.
The deployment boundary is a separate question. AutoMQ’s BYOC documentation describes the control plane and data plane as running in the customer environment, with Kafka traffic and storage remaining under the customer’s cloud boundary. Confirm the exact product form, region, operator permissions, telemetry path, and support process for the environment being reviewed. Architecture can narrow a data path, but it does not remove the need to inspect IAM, VPC, ACL, logging, and certificate evidence.
The fair comparison is therefore procedural:
- Run the same TLS and identity tests against the listener used by production clients.
- Apply equivalent Topic, Consumer group, and transactional-ID authorization tests.
- Review each platform’s storage, backup, replication, and telemetry destinations.
- Map cloud IAM and network permissions to the people and automation that operate the cluster.
- Rehearse revocation, rotation, audit correlation, and rollback before approving production data.
A platform that passes only the handshake test has not passed a Kafka security review. The result should be a record of who can reach which resource, through which path, under which identity, with which evidence.
8FAQ
8.1Does a private VPC prove that Redpanda data stays in one region?
No. A VPC describes network isolation in a cloud environment. Review storage, replication, backup, audit, telemetry, support, and failover destinations separately, then verify their regions and retention.
8.2Does TLS replace Kafka ACLs?
No. TLS protects the connection and can help establish identity. Kafka ACLs or another configured authorization layer decide whether the principal can perform a Topic, Consumer group, cluster, or transactional operation.
8.3Is a cloud IAM role the same as a Kafka user?
Usually these are different identity systems. IAM authorizes cloud API calls; Kafka authentication and authorization govern requests accepted by the broker. Document any explicit mapping and test the effective Kafka principal.
8.4What should a Redpanda security proof of concept test?
Test the complete path: certificate validation and rotation, client identity mapping, allowed and denied Kafka operations, cloud storage access, VPC routes, audit correlation, region boundaries, credential revocation, and rollback. A single successful produce and consume test is not enough.
The review starts with a simple question: who can reach a Kafka Record, and what can they do after they arrive? Keep the answer split across TLS, identity, Kafka authorization, IAM, VPC, and control-plane evidence, and the boundary becomes testable instead of aspirational.
If you are evaluating a Kafka-compatible platform against that evidence pack, start an AutoMQ evaluation and bring the exact listener, ACL, IAM, network, and residency questions to the review.
