Todos los productos
Search
Centro de documentos

E-MapReduce:Conexión a Kafka con autenticación SASL

Última actualización: Sep 21, 2026

Simple Authentication and Security Layer (SASL) es un framework que permite a las capas de aplicación seleccionar e implementar diversos mecanismos de autenticación. Puede usar SASL para autenticar usuarios y asegurar que solo los clientes con credenciales válidas se conecten a su servicio de Kafka.

Requisitos previos

Debe crear un clúster Dataflow (que es un clúster de Kafka) con el servicio de Kafka seleccionado en la consola de EMR. Para obtener más información, consulte Create a Dataflow Kafka cluster.

Procedimiento

Paso 1: Configurar SASL

E-MapReduce utiliza el archivo de configuración server.properties y su parámetro kafka.sasl.config.type para gestionar la configuración de SASL.

De forma predeterminada, SASL está deshabilitado en los clústeres de Kafka. A continuación se muestra un ejemplo que habilita SASL mediante el mecanismo de autenticación SCRAM-SHA-512.

  1. Cree un usuario.

    1. Conéctese al nodo maestro del clúster por SSH. Para obtener más información, consulte Log on to a cluster.

    2. Ejecute el siguiente comando para crear el usuario admin.

      kafka-configs.sh --bootstrap-server core-1-1:9092 --alter --add-config 'SCRAM-SHA-256=[password=admin-secret],SCRAM-SHA-512=[password=admin-secret]' --entity-type users --entity-name admin
      Nota

      En este ejemplo, la contraseña del usuario admin es admin-secret. Sustitúyala por su propia contraseña.

  2. Acceda a la página de configuración del servicio.

    1. Inicie sesión en la consola de E-MapReduce.

    2. En la barra de navegación superior, seleccione una región y un resource group según sea necesario.

    3. Haga clic en Services en la columna Actions del clúster correspondiente.

    4. En la página Services, haga clic en Configure dentro del área del servicio de Kafka.

  3. Modifique las configuraciones de autenticación SASL.

    1. Agregue elementos de configuración de SASL.

      En la pestaña server.properties de la página de configuración del servicio de Kafka, agregue los elementos de configuración.

      1. Haga clic en Add Configuration Item.

      2. En el cuadro de diálogo Add Configuration Item, agregue los siguientes elementos de configuración y haga clic en OK.

        Parámetro

        Valor

        sasl.mechanism.inter.broker.protocol

        SCRAM-SHA-512

        sasl.enabled.mechanisms

        SCRAM-SHA-512

      3. En el cuadro de diálogo que aparece, introduzca un motivo en el campo Execution Reason y haga clic en Save.

    2. Modifique la configuración del listener.

      1. En la página Configure, haga clic en la pestaña server.properties.

      2. Cambie el valor del parámetro kafka.sasl.config.type a CUSTOM y haga clic en Save.

      3. En el cuadro de diálogo que aparece, introduzca un motivo en el campo Execution Reason y haga clic en Save.

    3. Configure JAAS en el lado del servidor.

      • Método 1: configure JAAS en el lado del servidor mediante la adición de elementos de configuración personalizados.

        1. En la página de configuración del servicio de Kafka, haga clic en la pestaña server.properties.

        2. Haga clic en Add Configuration Item, agregue los siguientes elementos de configuración y luego haga clic en OK.

          Parámetro

          Valor

          listener.name.sasl_plaintext.sasl.enabled.mechanisms

          SCRAM-SHA-512

          listener.name.sasl_plaintext.scram-sha-512.sasl.jaas.config

          org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret" ;

        3. En el cuadro de diálogo que aparece, introduzca un motivo en el campo Execution Reason y haga clic en Save.

      • Método 2: configure JAAS mediante un archivo de configuración.

        1. En la página de configuración del servicio de Kafka, modifique los siguientes elementos de configuración y haga clic en Save.

          Pestaña

          Parámetro

          Valor

          kafka_server_jaas.conf

          kafka.server.jaas.content

          KafkaServer {
          org.apache.kafka.common.security.scram.ScramLoginModule required
          username="admin"
          password="admin-secret";
          };

          server.properties

          kafka_opts

          -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_server_jaas.conf

        2. En el cuadro de diálogo que aparece, introduzca un motivo en el campo Execution Reason y haga clic en Confirm.

    4. Configure JAAS en el lado del cliente.

      Configure JAAS en el lado del cliente mediante el parámetro kafka.client.jaas.content del archivo de configuración kafka_client_jaas.conf. Los componentes Kafka Schema Registry y Kafka Rest Proxy utilizan esta configuración al iniciarse.

      1. En la página de configuración del servicio de Kafka, modifique los siguientes elementos de configuración y haga clic en Save.

        Pestaña

        Parámetro

        Valor

        kafka_client_jaas.conf

        kafka.client.jaas.content

        KafkaClient {
        org.apache.kafka.common.security.scram.ScramLoginModule required
        username="admin"
        password="admin-secret";
        };

        schema-registry.properties

        schema_registry_opts

        -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf

        kafka-rest.properties

        kafkarest_opts

        -Djava.security.auth.login.config=/etc/taihao-apps/kafka-conf/kafka-conf/kafka_client_jaas.conf

      2. En el cuadro de diálogo que aparece, introduzca un motivo en el campo Execution Reason y haga clic en Save.

  4. Reinicie el servicio de Kafka.

    1. En la página Configure del servicio de Kafka, seleccione More > Restart.

    2. En el cuadro de diálogo que aparece, introduzca el motivo de ejecución y haga clic en OK.

    3. En el cuadro de diálogo Confirm, haga clic en OK.

Paso 2: Conectarse a Kafka con SASL

El siguiente ejemplo utiliza el mecanismo SCRAM-SHA-512 y las herramientas integradas de productor y consumidor de Kafka para demostrar la autenticación del cliente y la conexión al servicio de Kafka.

  1. Inicie sesión en el nodo maestro del clúster mediante SSH. Para obtener más información, consulte Log on to a cluster.

  2. Cree un archivo de configuración de administrador.

    1. Ejecute el siguiente comando para crear el archivo de configuración sasl_admin.properties.

      vim sasl_admin.properties
    2. Agregue el siguiente contenido al archivo.

      security.protocol=SASL_PLAINTEXT
      sasl.mechanism=SCRAM-SHA-512
      sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin-secret";
  3. Ejecute el siguiente comando para crear un usuario estándar.

    kafka-configs.sh --bootstrap-server core-1-1:9092 --alter --add-config 'SCRAM-SHA-256=[password=<yourUserpassword>],SCRAM-SHA-512=[password=<yourUserpassword>]' --entity-type users --entity-name <yourUsername> --command-config /root/sasl_admin.properties

    En el comando, sustituya <yourUsername> y <yourUserpassword> por el nombre de usuario y la contraseña del nuevo usuario.

  4. Cree un archivo de configuración de usuario.

    1. Ejecute el siguiente comando para crear el archivo de configuración sasl_user.properties.

      vim sasl_user.properties
    2. Agregue el siguiente contenido al archivo.

      security.protocol=SASL_PLAINTEXT
      sasl.mechanism=SCRAM-SHA-512
      sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="<yourUsername>" password="<yourUserpassword>";
  5. Ejecute el siguiente comando para crear un topic.

    kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config /root/sasl_user.properties

    En este ejemplo, el nombre del topic es test. Sustitúyalo por el nombre de su topic.

  6. Ejecute el siguiente comando para producir datos con el archivo de configuración de SASL.

    kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=core-1-1:9092 --producer.config sasl_user.properties
  7. Ejecute el siguiente comando para consumir datos con el archivo de configuración de SASL.

    kafka-consumer-perf-test.sh --broker-list core-1-1:9092 --messages 100000000 --topic test --consumer.config sasl_user.properties

Temas relacionados

Para cifrar la transmisión de datos entre un cliente y el servidor, consulte Use SSL to encrypt Kafka connections.