es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El enmascaramiento de contraseñas solo funciona para los conectores JDBC.

Hemos configurado nuestro Kafka Connect para poder leer credenciales desde un archivo en lugar de proporcionarlas directamente en la configuración del conector. Así es como se ve la parte de inicio de sesión de la configuración del conector:

“connection.user”: “${file:/kafka/pass.properties:username}”,

“connection.password”:
“${file:/kafka/pass.properties:password}”,

También agregamos estas 2 líneas al archivo “connect-distributed.properties”:

config.providers=file

config.providers.file.class=org.apache.kafka.common.config.provider.FileConfigProvider

Ten en cuenta que funciona perfectamente para los conectores JDBC, por lo que no hay problema con el archivo “pass.properties”. Pero para otros conectores, como couchbase, rabbitmq, s3, etc., causa problemas. Todos estos conectores funcionan bien cuando se proporcionan las credenciales directamente, pero cuando intentamos hacer que Connect las lea desde un archivo, da algunos errores. ¿Cuál podría ser la razón? No veo ninguna configuración específica de JDBC aquí.

Edición:

Un error sobre couchbase en el archivo connect.log:

[2021-12-02 11:50:19,580] ERROR [com.couchbase.io][SaslAuthenticationFailedEvent][20ms] Authentication Failure – Potential causes: invalid credentials or if LDAP is enabled ensure PLAIN SASL mechanism is exclusively used on the PasswordAuthenticator (insecure) or TLS is used (recommended) {“circuitBreaker”:”DISABLED”,”coreId”:”0xbf785c7500000001″,”remote”:”10.30.142.109:11210″,”status”:”UNKNOWN”,”type”:”KV”,”xerror”:{“ref”:”ae3ce600-7097-4077-9231-8ced290cd399″}} (com.couchbase.io:533)
[2021-12-02 11:50:19,580] WARN [com.couchbase.endpoint][EndpointConnectionFailedEvent][23ms] Connect attempt 9 failed because of AuthenticationFailureException: Authentication Failure – Potential causes: invalid credentials or if LDAP is enabled ensure PLAIN SASL mechanism is exclusively used on the PasswordAuthenticator (insecure) or TLS is used (recommended) {“circuitBreaker”:”DISABLED”,”coreId”:”0xbf785c7500000001″,”remote”:”10.30.142.109:11210″,”type”:”KV”} (com.couchbase.endpoint:523)
com.couchbase.client.core.error.AuthenticationFailureException: Authentication Failure – Potential causes: invalid credentials or if LDAP is enabled ensure PLAIN SASL mechanism is exclusively used on the PasswordAuthenticator (insecure) or TLS is used (recommended) {“circuitBreaker”:”DISABLED”,”coreId”:”0xbf785c7500000001″,”remote”:”10.30.142.109:11210″,”status”:”UNKNOWN”,”type”:”KV”,”xerror”:{“ref”:”ae3ce600-7097-4077-9231-8ced290cd399″}}
at com.couchbase.client.core.io.netty.kv.SaslAuthenticationHandler.failConnect(SaslAuthenticationHandler.java:488)
at com.couchbase.client.core.io.netty.kv.SaslAuthenticationHandler.maybeFailConnect(SaslAuthenticationHandler.java:293)
at com.couchbase.client.core.io.netty.kv.SaslAuthenticationHandler.channelRead(SaslAuthenticationHandler.java:250)
at com.couchbase.client.core.io.netty.kv.MemcacheProtocolVerificationHandler.channelRead(MemcacheProtocolVerificationHandler.java:84)
at java.lang.Thread.run(Thread.java:748)

Dice algo sobre la autenticación, pero funciona bien cuando las credenciales se proporcionan directamente. Si el enmascaramiento no está funcionando correctamente, ¿cómo funciona para los conectores JDBC?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La razón por la que Kafka Connect no puede leer credenciales desde un archivo para conectores como Couchbase, RabbitMQ, S3, etc. podría deberse al mecanismo de autenticación utilizado por estos conectores. Por ejemplo, el mensaje de error para Couchbase indica que se requiere el mecanismo SASL PLAIN para la autenticación. Es posible que el enfoque de credenciales basado en archivos utilizado para conectores JDBC no funcione para estos conectores debido a mecanismos de autenticación variables.

    Otra posibilidad es que el enfoque de credenciales basado en archivos no esté ocultando correctamente las credenciales, lo que conduce a fallas de autenticación. Esto podría explicar por qué los conectores JDBC funcionan bien, pero otros conectores fallan cuando se leen las credenciales de un archivo.

    Sería necesaria una investigación adicional sobre los mecanismos de autenticación utilizados por cada conector y posibles problemas de ocultación de credenciales para determinar la causa raíz del problema.

Comments are closed.