Kafka-Verbindungen
Hier werden bestehende Kafka-Verbindungen angezeigt. Über das Kontextmenü können Sie diese bearbeiten und löschen oder neue anlegen. Lobster Integration fungiert immer als Kafka-Client und nicht als Server und verwendet momentan nur die Message-Funktion von Kafka (kein Streaming).
Verbindung erstellen
(1) Alias: Diesen Alias (als Namen der Verbindung) können Sie im Eingangsagent Kafka und Antwortweg Kafka verwenden.
(2) Aktiv: Nur über aktive Verbindungen können Nachrichten empfangen und versendet werden.
(3) Kafka URLs: Hier werden in der Regel mehrere Hosts mit Komma (oder Semikolon) getrennt definiert, da Kafka üblicherweise im Cluster betrieben wird. Beispiel: "kafka.server1.example.com:9092,kafka.server2.example.com:9092,kafka.server3.example.com:9092".
(4) Kafka properties: Über das Kontextmenü können weitere Verbindungs-Properties definiert werden. Wichtiger Hinweis: Setzen Sie hier bitte nicht die Property group.id. Wenn nötig, dann können Sie das im Eingangsagenten Kafka tun.
(5) Verbindung prüfen: Hier können Sie die Verbindung testen. Es werden dabei die aktuell eingestellten (und evtl. noch nicht gespeicherten) Werte verwendet. Zum Übernehmen dieser Werte müssen dieser noch gespeichert werden.
OAuth2
Kafka unterstützt OAuth2 unter Verwendung eines Autorisierungsservers eines Drittanbieters (z. B. Keycloak). Ein Client-Callback-Handler zum Abrufen des Zugriffstokens muss angegeben und konfiguriert werden. Der folgende Callback-Handler unterstützt nur Client Credentials. Er nimmt bis zu vier Argumente entgegen.
oauth.token.endpoint.uri |
Spezifiziert den Token Endpoint. |
oauth.client.id |
Client-ID/Username/Principal. |
oauth.client.secret |
Das Passwort/Secret. |
oauth.fetch.token.via.dmz |
(optional) true, wenn der HTTPS-Request zum Abrufen des Tokens den DMZ-Server verwenden soll. Default: false. |
Alle oben genannten Angaben sind Teil der Eigenschaft sasl.jaas.property in den Kafka-Alias-Einstellungen (siehe Beispiel unten). Das Anmeldemodul für diesen Prozess ist immer org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule und das Flag ist immer "required". Die Parameter für den obigen Callback-Handler folgen dem Schlüsselwort "required" in Key="Value"-Paaren (die "" sind obligatorisch).
Der Callback-Handler muss Kafka über die Eigenschaft sasl.login.callback.handler.class bekannt gemacht werden, der vollständige Klassenname des Callback-Handlers ist com.ebd.hub.datawizard.kafka.oauth.OAuth2ClientAuthCallbackHandler. Die Eigenschaften sasl.mechanism mit dem Wert OAUTHBEARER und security.protocol mit dem Wert SASL_SSL sind ebenfalls obligatorisch.
Beispiel-Kafka-Properties-Konfiguration
sasl.jaas.config = org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required oauth.token.endpoint.uri="https://example.com:8443/oauth/token" oauth.client.id="testuser" oauth.client.secret="myprecioussecret" oauth.fetch.token.via.dmz="false"; sasl.login.callback.handler.class = com.ebd.hub.datawizard.kafka.oauth.OAuth2ClientAuthCallbackHandler sasl.mechanism = OAUTHBEARER security.protocol = SASL_SSL |