From fcabd5ba914d5c2cedef1472c41b23bb4f66953d Mon Sep 17 00:00:00 2001 From: Javier Sotelo Date: Thu, 5 Aug 2021 22:08:50 -0700 Subject: [PATCH] fix(frontend): add support for SASL_KERBEROS_SERVICE_NAME & SASL_PLAINTEXT (#3022) Co-authored-by: jsotelo --- .../app/react/controllers/TrackingController.java | 8 ++++++-- datahub-frontend/conf/application.conf | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/datahub-frontend/app/react/controllers/TrackingController.java b/datahub-frontend/app/react/controllers/TrackingController.java index 8d0cae0f38..f9cd88cb7f 100644 --- a/datahub-frontend/app/react/controllers/TrackingController.java +++ b/datahub-frontend/app/react/controllers/TrackingController.java @@ -33,7 +33,8 @@ public class TrackingController extends Controller { private final Logger _logger = LoggerFactory.getLogger(TrackingController.class.getName()); private static final List KAFKA_SSL_PROTOCOLS = Collections.unmodifiableList( - Arrays.asList(SecurityProtocol.SSL.name(),SecurityProtocol.SASL_SSL.name())); + Arrays.asList(SecurityProtocol.SSL.name(),SecurityProtocol.SASL_SSL.name(), + SecurityProtocol.SASL_PLAINTEXT.name())); private final Boolean _isEnabled; private final Config _config; @@ -118,9 +119,12 @@ public class TrackingController extends Controller { setConfig(props, SslConfigs.SSL_PROTOCOL_CONFIG, "analytics.kafka.ssl.protocol"); setConfig(props, SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, "analytics.kafka.ssl.endpoint.identification.algorithm"); - if (_config.getString(securityProtocolConfig).equals(SecurityProtocol.SASL_SSL.name())) { + final String securityProtocol = _config.getString(securityProtocolConfig); + if (securityProtocol.equals(SecurityProtocol.SASL_SSL.name()) + || securityProtocol.equals(SecurityProtocol.SASL_PLAINTEXT.name())) { setConfig(props, SaslConfigs.SASL_MECHANISM, "analytics.kafka.sasl.mechanism"); setConfig(props, SaslConfigs.SASL_JAAS_CONFIG, "analytics.kafka.sasl.jaas.config"); + setConfig(props, SaslConfigs.SASL_KERBEROS_SERVICE_NAME, "analytics.kafka.sasl.kerberos.service.name"); } } diff --git a/datahub-frontend/conf/application.conf b/datahub-frontend/conf/application.conf index 58329ba6ce..a98ffed71c 100644 --- a/datahub-frontend/conf/application.conf +++ b/datahub-frontend/conf/application.conf @@ -162,6 +162,7 @@ analytics.kafka.ssl.endpoint.identification.algorithm = ${?KAFKA_PROPERTIES_SSL_ # If analytics.kafka.security.protocol is set to "SASL_SSL", both of these need to be set. analytics.kafka.sasl.mechanism = ${?KAFKA_PROPERTIES_SASL_MECHANISM} analytics.kafka.sasl.jaas.config = ${?KAFKA_PROPERTIES_SASL_JAAS_CONFIG} +analytics.kafka.sasl.kerberos.service.name = ${?KAFKA_PROPERTIES_SASL_KERBEROS_SERVICE_NAME} # Required Elastic Client Configuration analytics.elastic.host = ${ELASTIC_CLIENT_HOST}