Uso de la seguridad TLS con Apache ZooKeeper
Puede utilizar la seguridad TLS para el cifrado en tránsito entre sus clientes y sus nodos de Apache ZooKeeper. Para implementar la seguridad TLS en los nodos de Apache ZooKeeper, haga lo siguiente:
Los clústeres deben usar la versión 2.5.1 o posterior de Apache Kafka para usar la seguridad TLS con Apache ZooKeeper.
Active la seguridad TLS al crear o configurar el clúster. Los clústeres creados con la versión 2.5.1 o posterior de Apache Kafka con TLS habilitado utilizan automáticamente la seguridad TLS con los puntos de conexión de Apache ZooKeeper. Para obtener información sobre la configuración de la seguridad TLS, consulte Introducción al cifrado de Amazon MSK.
Recupere los puntos de conexión TLS de Apache ZooKeeper mediante la operación DescribeCluster.
Cree un archivo de configuración de ZooKeeper de Apache para usarlo con las herramientas
kafka-configs.shykafka-acls.sho con el intérprete de comandos de ZooKeeper. Con cada herramienta, se utiliza el parámetro --zk-tls-config-filepara especificar la configuración de Apache ZooKeeper.En el ejemplo siguiente se muestra un archivo de configuración típico de Apache ZooKeeper:
zookeeper.ssl.client.enable=true zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty zookeeper.ssl.keystore.location=kafka.jks zookeeper.ssl.keystore.password=test1234 zookeeper.ssl.truststore.location=truststore.jks zookeeper.ssl.truststore.password=test1234Para otros comandos (como
kafka-topics), debe usar la variable de entornoKAFKA_OPTSpara configurar los parámetros de Apache ZooKeeper. En el ejemplo siguiente se muestra cómo configurar la variable de entornoKAFKA_OPTSpara pasar los parámetros de Apache ZooKeeper a otros comandos:export KAFKA_OPTS=" -Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty -Dzookeeper.client.secure=true -Dzookeeper.ssl.trustStore.location=/home/ec2-user/kafka.client.truststore.jks -Dzookeeper.ssl.trustStore.password=changeit"Después de configurar la variable de entorno
KAFKA_OPTS, puede utilizar los comandos de la CLI con normalidad. El siguiente ejemplo crea un tema de Apache Kafka con la configuración de Apache ZooKeeper de la variable de entornoKAFKA_OPTS:<path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeperZooKeeperTLSConnectString--replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
nota
Los nombres de los parámetros que usa en el archivo de configuración de Apache ZooKeeper y los que usa en su variable de entorno KAFKA_OPTS no son consistentes. Preste atención a los nombres que utiliza con los parámetros del archivo de configuración y la variable de entorno KAFKA_OPTS.
Para obtener más información sobre cómo acceder a los nodos de Apache ZooKeeper con TLS, consulte KIP-515: Enable ZK client to use the new TLS supported authentication