Le cluster boa-lab utilise l’autorisation simple (ACLs Kafka). Tout accès aux topics/groupes passe par un principal authentifié (sauf le listener plain en 9092, voir ci-dessous).
| Listener | Port | Bootstrap (in-cluster) | Auth |
|---|---|---|---|
plain |
9092 | boa-lab-kafka-bootstrap.kafka.svc:9092 |
Aucune (lab uniquement) |
tls |
9093 | boa-lab-kafka-bootstrap.kafka.svc:9093 |
mTLS (certificat client) |
scram |
9094 | boa-lab-kafka-bootstrap.kafka.svc:9094 |
SCRAM-SHA-512 + TLS |
Documentation détaillée :
Strimzi crée les comptes via la CR KafkaUser (User Operator requis, activé sur le cluster).
export KUBECONFIG=/Users/modoulobolysow/Downloads/lab-boa-kubeconfig.yaml
# Exemples fournis
kubectl apply -f manifests/examples/kafka-user-mtls.yaml
kubectl apply -f manifests/examples/kafka-user-scram.yaml
kubectl get kafkauser -n kafka
kubectl describe kafkauser app-mtls -n kafkaAttendre le statut Ready avant d’utiliser les secrets.
| Type | Principal utilisé dans les ACLs |
|---|---|
| mTLS | CN=<nom du KafkaUser> (ex. app-mtls) |
| SCRAM | User:<nom du KafkaUser> (ex. User:app-scram) |
Strimzi aligne en général le CN du certificat TLS sur le nom de la ressource KafkaUser.
Les ACLs se déclarent dans spec.authorization.acls du KafkaUser (comme dans les exemples).
type |
Exemple name |
patternType |
|---|---|---|
topic |
orders |
literal ou prefix |
group |
mon-app- |
prefix (consumer groups) |
cluster |
kafka-cluster |
literal (opérations admin limitées) |
| Besoin | operations |
|---|---|
| Producer / consumer classique | Read, Write, Describe sur le topic |
| Création auto de topic (si activée côté broker) | ajouter Create |
| Consumer group | Read, Describe sur group |
Exemple ACL lecture seule sur un préfixe de topics :
authorization:
type: simple
acls:
- resource:
type: topic
name: events-
patternType: prefix
operations:
- Read
- Describe
- resource:
type: group
name: mon-service-
patternType: prefix
operations:
- Read
- DescribeModifier un KafkaUser puis kubectl apply : Strimzi met à jour les ACLs sur le cluster.
export KUBECONFIG=/Users/modoulobolysow/Downloads/lab-boa-kubeconfig.yaml
kubectl exec -n kafka boa-lab-boa-lab-brokers-0 -- \
bin/kafka-acls.sh --bootstrap-server localhost:9092 \
--listSur un cluster sécurisé, utilisez le listener et les credentials admin appropriés (certificat ou SCRAM admin).
Sans authentification : principal ANONYMOUS. Sans ACL explicite pour ANONYMOUS, l’accès est refusé dès que authorization: simple est actif.
Réserver ce port au debug interne ; les applications doivent utiliser 9093 (mTLS) ou 9094 (SCRAM).
| Secret | Contenu |
|---|---|
boa-lab-cluster-ca-cert |
CA du cluster (ca.crt) — confiance TLS vers les brokers |
boa-lab-clients-ca-cert |
CA clients (signature des certificats utilisateurs) |
<kafkauser> |
Certificats (mTLS) et/ou password (SCRAM) |