14. Zookeeper Security - Authorization
• ACLs
• Muss enabled werden auf Broker Seite
• Wenn nachträglich eingeschaltet Migration erforderlich
• World Read ist Standard
18. Kafka Security - Authentication SASL
Non production usage
• Plain
• Passwort ist im JAAS file im Klartext
• Nur für Test Zwecke
• OAUTH
• Unterstützt default nur ungesicherte JSON Web Tokens
19. Kafka Security - Authentication SASL
Production usage
• Kerberos
• Zentrales Principle Management
• Ausgereifter Standard
• SCRAM (Salted Challenge Response Authentication Mechanism)
• Credentials werden standardmässig im Zookeeper gespeichert
• Kann angepasst werden
• Netzseperierung Zookeeper
• SHA-256 & SHA-512 mit min. 4096 Wiederholungen
20. Kafka Security - 2 Way SSL
Kafka Broker
CA
Server 1
Keystore
Truststore
Kafka Broker
CA
Server 2
Keystore
Truststore
Kafka Broker
CA
Server 3
Keystore
Truststore
InterBrokerAuthmittelsSSL
CA
Client A
Keystore
Truststore
CA
Client B
Keystore
Truststore
CA
Client B
Keystore
Truststore
Applikation mit mehreren Servern
ClientAuthmittelsSSL
21. Kafka Security - Authentication 2 Way SSL
Production usage
• 2 Way SSL
• Zentrales CA Management
• Server / Client Auth Extentions möglich
• Key & Trust Store für jeden Prozess
• Authentication über Abgleich des Trusts
• Passwörter für Keys & Stores im Broker Konfigurations Datei
• Seit Kafka 2.0 Dynamische Konfiguration möglich
• Passwörter veschlüsselt im Zookeeper
24. Kafka Security - Authorization
• ACLs
• ACLs werden im Zookeeper abgelegt
• Default SSL User Name = DN
• Rule Matching möglich
• Kerberos primäre Teil des principles
• Super User Eintrag in der Broker Konfiguration
32. # zookeeper.prop
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production
config
maxClientCnxns=0
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
DEMO