Tous les produits
Search
Centre de documentation

E-MapReduce:Se connecter à Kafka avec l'authentification SASL

Dernière mise à jour :Aug 09, 2026

Simple Authentication and Security Layer (SASL) est un framework qui permet aux couches applicatives de choisir et d'implémenter divers mécanismes d'authentification. Utilisez SASL pour authentifier les utilisateurs et garantir que seuls les clients disposant d'identifiants valides peuvent se connecter à votre service Kafka.

Prérequis

Vous devez avoir créé un cluster Dataflow (cluster Kafka) avec le service Kafka sélectionné dans la console EMR. Pour plus d'informations, consultez Créer un cluster Dataflow Kafka.

Procédure

Étape 1 : Configurer SASL

E-MapReduce utilise le fichier de configuration server.properties et son paramètre kafka.sasl.config.type pour gérer la configuration SASL.

SASL est désactivé par défaut sur les clusters Kafka. L'exemple suivant active SASL en utilisant le mécanisme d'authentification SCRAM-SHA-512.

  1. Créez un utilisateur.

    1. Connectez-vous au nœud master du cluster via SSH. Pour plus d'informations, consultez Se connecter à un cluster.

    2. Exécutez la commande suivante pour créer l'utilisateur 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
      Remarque

      Dans cet exemple, le mot de passe de l'utilisateur admin est admin-secret. Remplacez cette valeur par votre propre mot de passe.

  2. Accédez à la page de configuration du service.

    1. Connectez-vous à la console E-MapReduce.

    2. Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources selon vos besoins.

    3. Cliquez sur Services dans la colonne Actions du cluster cible.

    4. Sur la page Services , cliquez sur Configure dans la zone du service Kafka.

  3. Modifiez les configurations d'authentification SASL.

    1. Ajoutez des éléments de configuration SASL.

      Dans l'onglet server.properties de la page de configuration du service Kafka, ajoutez les éléments de configuration.

      1. Cliquez sur Add Configuration Item.

      2. Dans la boîte de dialogue Add Configuration Item , ajoutez les éléments de configuration suivants et cliquez sur OK.

        Parameter

        Value

        sasl.mechanism.inter.broker.protocol

        SCRAM-SHA-512

        sasl.enabled.mechanisms

        SCRAM-SHA-512

      3. Dans la boîte de dialogue qui s'affiche, saisissez une raison dans le champ Execution Reason et cliquez sur Save.

    2. Modifiez la configuration de l'écouteur.

      1. Sur la page Configure , cliquez sur l'onglet server.properties.

      2. Remplacez la valeur du paramètre kafka.sasl.config.type par CUSTOM et cliquez sur Save.

      3. Dans la boîte de dialogue qui s'affiche, saisissez une raison dans le champ Execution Reason et cliquez sur Save.

    3. Configurez JAAS côté serveur.

      • Méthode 1 : Configurez JAAS côté serveur en ajoutant des éléments de configuration personnalisés.

        1. Sur la page de configuration du service Kafka, cliquez sur l'onglet server.properties.

        2. Cliquez sur Add Configuration Item , ajoutez les éléments de configuration suivants, puis cliquez sur OK.

          Parameter

          Value

          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. Dans la boîte de dialogue qui s'affiche, saisissez une raison dans le champ Execution Reason et cliquez sur Save.

      • Méthode 2 : Configurez JAAS à l'aide d'un fichier de configuration.

        1. Sur la page de configuration du service Kafka, modifiez les éléments de configuration suivants et cliquez sur Save.

          Onglet

          Paramètre

          Valeur

          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. Dans la boîte de dialogue qui s'affiche, saisissez une raison dans le champ Execution Reason et cliquez sur Confirm.

    4. Configurez JAAS côté client.

      Configurez JAAS côté client à l'aide du paramètre kafka.client.jaas.content dans le fichier de configuration kafka_client_jaas.conf . Les composants Kafka Schema Registry et Kafka Rest Proxy utilisent cette configuration au démarrage.

      1. Sur la page de configuration du service Kafka, modifiez les éléments de configuration suivants et cliquez sur Save.

        Onglet

        Paramètre

        Valeur

        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. Dans la boîte de dialogue qui s'affiche, saisissez une raison dans le champ Execution Reason et cliquez sur Save.

  4. Redémarrez le service Kafka.

    1. Sur la page Configure du service Kafka, sélectionnez More > Restart.

    2. Dans la boîte de dialogue qui s'affiche, saisissez la raison de l'exécution et cliquez sur OK.

    3. Dans la boîte de dialogue Confirm , cliquez sur OK.

Étape 2 : Se connecter à Kafka avec SASL

L'exemple suivant utilise le mécanisme SCRAM-SHA-512 ainsi que les outils de producteur et de consommateur intégrés à Kafka pour démontrer l'authentification du client et la connexion au service Kafka.

  1. Connectez-vous au nœud master du cluster via SSH. Pour plus d'informations, consultez Se connecter à un cluster.

  2. Créez un fichier de configuration administrateur.

    1. Exécutez la commande suivante pour créer le fichier de configuration sasl_admin.properties.

      vim sasl_admin.properties
    2. Ajoutez le contenu suivant au fichier.

      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. Exécutez la commande suivante pour créer un utilisateur standard.

    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

    Dans la commande, remplacez <yourUsername> et <yourUserpassword> par le nom d'utilisateur et le mot de passe du nouvel utilisateur.

  4. Créez un fichier de configuration utilisateur.

    1. Exécutez la commande suivante pour créer le fichier de configuration sasl_user.properties .

      vim sasl_user.properties
    2. Ajoutez le contenu suivant au fichier.

      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. Exécutez la commande suivante pour créer 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

    Dans cet exemple, le nom du topic est test . Remplacez cette valeur par le nom de votre topic.

  6. Exécutez la commande suivante pour produire des données à l'aide du fichier de configuration 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. Exécutez la commande suivante pour consommer des données à l'aide du fichier de configuration SASL.

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

Rubriques connexes

Pour chiffrer la transmission des données entre un client et le serveur, consultez Utiliser SSL pour chiffrer les connexions Kafka.