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.

Define un nombre principal de Kerberos para el Registro de Esquemas.

He activado SASL para mis brokers de Kafka. Se necesita autenticar el Registro de Esquemas para conectarse a Kafka. Aquí dice: “Si habilitas la autorización de Kafka, debes otorgar al principal del servicio de Registro de Esquemas la capacidad de realizar las siguientes operaciones en los recursos especificados:” ¿Cómo defino un principal?

Aquí hay una configuración kafkastore.sasl.kerberos.service.name, pero no estoy seguro de cómo utilizarla. Parece que solo necesita un rol o algo similar, en lugar de un par de nombre de usuario y contraseña.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para definir un principal para el Registro de Esquema para autenticarse con Kafka, deberá crear un principal de servicio Kerberos para ello. Este principal debe tener los permisos necesarios para realizar operaciones en los recursos especificados en la configuración de autorización de Kafka.

    Para crear un principal de servicio Kerberos, deberá tener configurado un Centro de Distribución de Claves Kerberos (KDC). El proceso de configuración de un KDC está fuera del alcance de esta respuesta, por lo que asumimos que ya tiene uno configurado.

    Una vez que tenga configurado un KDC, puede crear un principal de servicio ejecutando el siguiente comando:

    kadmin.local -q "addprinc -randkey <nombre_servicio>/<nombre_host>@<realm>"
    

    Reemplace <nombre_servicio> con el nombre de su servicio de Registro de Esquema, <nombre_host> con el nombre del host de su servidor en ejecución del Registro de Esquema y <realm> con el nombre de su reino Kerberos.

    Este comando creará un nuevo principal con una clave aleatoria, que puede obtener ejecutando el siguiente comando:

    kadmin.local -q "ktadd -k /ruta/a/keytab <nombre_servicio>/<nombre_host>@<realm>"
    

    Reemplace <nombre_servicio>, <nombre_host> y <realm> con los mismos valores que usó anteriormente. Reemplace /ruta/a/keytab con la ruta al archivo keytab donde se almacenará la clave del principal.

    Finalmente, deberá configurar el Registro de Esquema para utilizar este principal para la autenticación. Para hacer esto, configure la propiedad de configuración kafkastore.sasl.kerberos.service.name con el nombre del servicio que especificó anteriormente (es decir, <nombre_servicio>).

    Tenga en cuenta que la propiedad kafkastore.sasl.kerberos.service.name debe configurarse con el mismo valor que la propiedad sasl.kerberos.service.name en la configuración del broker de Kafka. Esto asegura que el principal del Registro de Esquema esté autorizado para realizar operaciones en los mismos recursos a los que los brokers de Kafka tienen acceso.

Comments are closed.