Secure Sockets Layer (SSL) est un protocole réseau qui établit une connexion sécurisée entre les clients et les serveurs. Lorsque SSL est activé, tous les transferts de données au sein d'un cluster Dataflow, y compris les échanges de messages entre les producteurs, les consommateurs et les brokers, sont chiffrés pour empêcher toute interception ou altération lors de la transmission sur le réseau.
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 la rubrique Créer un cluster Dataflow Kafka.
Procédure
Étape 1 : Activer SSL
E-MapReduce propose deux méthodes pour configurer SSL sur un cluster Kafka :
Activer SSL avec le certificat par défaut : utilisez le certificat et la méthode de configuration E-MapReduce par défaut pour activer rapidement SSL.
Activer SSL avec des paramètres personnalisés : utilisez votre propre certificat et vos valeurs de configuration pour activer SSL.
Le paramètre kafka.ssl.config.type du fichier server.properties contrôle la politique de configuration SSL dans E-MapReduce.
Méthode 1 : Par défaut
Par défaut, SSL est désactivé pour les clusters Kafka. Suivez les étapes ci-dessous pour l'activer rapidement.
-
Accédez à la page de configuration du service.
Connectez-vous à la console E-MapReduce.
Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources selon vos besoins.
Cliquez sur Services dans la colonne Actions du cluster cible.
Sur la page Services, cliquez sur Configure dans la zone du service Kafka.
-
Modifiez le paramètre de configuration.
Sur la page Configure, cliquez sur l'onglet server.properties.
Définissez le paramètre kafka.ssl.config.type sur DEFAULT.
-
Enregistrez la configuration.
Cliquez sur Save.
Dans la boîte de dialogue qui s'affiche, saisissez un motif d'exécution dans le champ Execution Reason, puis cliquez sur Save.
-
Redémarrez le service Kafka.
Sur la page Configure du service Kafka, sélectionnez .
Dans la boîte de dialogue qui s'affiche, saisissez le motif d'exécution, puis cliquez sur OK.
Dans la boîte de dialogue Confirm, cliquez sur OK.
Méthode 2 : Personnalisé
Par défaut, SSL est désactivé pour les clusters Kafka. Vous pouvez activer SSL avec une configuration personnalisée.
-
Accédez à la page de configuration du service.
Connectez-vous à la console E-MapReduce.
Dans la barre de navigation supérieure, sélectionnez une région et un groupe de ressources selon vos besoins.
Cliquez sur Services dans la colonne Actions du cluster cible.
Sur la page Services, cliquez sur Configure dans la zone du service Kafka.
-
Modifiez le paramètre de configuration.
Sur la page Configure, cliquez sur l'onglet server.properties.
Remplacez la valeur du paramètre kafka.ssl.config.type par CUSTOM.
-
Enregistrez la configuration.
Cliquez sur Save.
Dans la boîte de dialogue contextuelle, saisissez un motif d'exécution dans le champ Execution Reason, puis cliquez sur Save.
-
Configurez les autres paramètres SSL.
Configurez les paramètres liés à SSL, à l'exception de
listeners, selon vos besoins. Parmi les exemples figurentssl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password,ssl.key.password,ssl.keystore.typeetssl.truststore.type. -
Redémarrez le service Kafka.
Sur la page Configure du service Kafka, sélectionnez .
Dans la boîte de dialogue qui s'affiche, saisissez le motif d'exécution, puis cliquez sur OK.
Dans la boîte de dialogue Confirm, cliquez sur OK.
Étape 2 : Se connecter à Kafka via SSL
Pour vous connecter à Kafka via SSL, vous devez configurer les paramètres client suivants : security.protocol, ssl.truststore.password et ssl.truststore.location.
Par exemple, pour exécuter une tâche en utilisant le producteur et le consommateur intégrés de Kafka sur un cluster Kafka avec SSL activé, procédez comme suit :
Connectez-vous au nœud maître du cluster via SSH. Pour plus d'informations, consultez la rubrique Se connecter à un cluster.
-
Créez un fichier de configuration.
-
Exécutez la commande suivante pour créer le fichier de configuration
ssl.properties.vim ssl.properties -
Ajoutez le contenu suivant au fichier
ssl.properties.security.protocol=SSL ssl.truststore.location=/var/taihao-security/ssl/ssl/truststore ssl.truststore.password=${password} ssl.keystore.location=/var/taihao-security/ssl/ssl/keystore ssl.keystore.password=${password} ssl.endpoint.identification.algorithm=Vous trouverez les valeurs des paramètres sur la page Configure du service Kafka dans la console EMR. Si vous exécutez votre tâche en dehors du cluster Kafka, copiez les fichiers
truststoreetkeystoredepuis n'importe quel nœud du cluster vers votre environnement d'exécution, puis mettez à jour les chemins d'accès aux fichiers en conséquence.
-
-
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 ssl.properties -
Exécutez les commandes suivantes pour produire des données en utilisant le fichier de configuration SSL.
export IP=<your_InnerIP> kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=${IP}:9092 --producer.config ssl.propertiesRemarqueDans cet exemple de code,
<your_InnerIP>correspond à l'adresse IP interne du nœud master-1-1. -
Exécutez les commandes suivantes pour consommer des données en utilisant le fichier de configuration SSL.
export IP=<your_InnerIP> kafka-consumer-perf-test.sh --broker-list ${IP}:9092 --messages 100000000 --topic test --consumer.config ssl.properties
Rubriques connexes
Pour authentifier les utilisateurs qui se connectent au service Kafka avec SASL, consultez la rubrique Authentifier l'accès au service Kafka à l'aide de SASL.