Controlar el acceso a Apache ZooKeeper - Transmisión gestionadada de Amazon para Apache Kafka

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Controlar el acceso a Apache ZooKeeper

Por motivos de seguridad, puede limitar el acceso a los ZooKeeper nodos de Apache que forman parte de su clúster de Amazon MSK. Para limitar el acceso a los nodos, puede asignarles un grupo de seguridad independiente. A continuación, puede decidir quién obtiene acceso a ese grupo de seguridad.

importante

Esta sección no se aplica a los clústeres que se ejecutan en modo KRaft. Consulte Modo KrAFT.

Para colocar ZooKeeper los nodos de Apache en un grupo de seguridad independiente

  1. Obtenga la cadena de ZooKeeper conexión de Apache para su clúster. Para saber cómo hacerlo, consulte ZooKeeper modo. La cadena de conexión contiene los nombres DNS de sus ZooKeeper nodos de Apache.

  2. Utilice una herramienta como host o ping para convertir los nombres de los DNS que obtuvo en el paso anterior a las direcciones IP. Guarde estas direcciones IP porque las necesitará más adelante en este procedimiento.

  3. Inicie sesión en la consola Amazon EC2 AWS Management Console y ábrala en https://console.aws.amazon.com/ec2/.

  4. En el panel izquierdo, en NETWORK & SECURITY (Red y seguridad), seleccione Network Interfaces (Interfaces de red).

  5. En el campo de búsqueda situado encima de la tabla de interfaces de red, escriba el nombre del clúster y, a continuación, escriba return. Esto limita el número de interfaces de red que aparecen en la tabla a las interfaces asociadas al clúster.

  6. Marque la casilla de verificación al principio de la fila correspondiente a la primera interfaz de red de la lista.

  7. En el panel de detalles en la parte inferior de la página, busque la IP IPv4 privada principal. Si esta dirección IP coincide con una de las direcciones IP que obtuvo en el primer paso de este procedimiento, significa que esta interfaz de red está asignada a un ZooKeeper nodo de Apache que forma parte de su clúster. De lo contrario, anule la selección de la casilla de verificación situada junto a esta interfaz de red y seleccione la siguiente interfaz de red de la lista. El orden en el que selecciona las interfaces de red no importa. En los siguientes pasos, realizará las mismas operaciones en todas las interfaces de red que estén asignadas a ZooKeeper los nodos de Apache, una por una.

  8. Cuando seleccione una interfaz de red que corresponda a un ZooKeeper nodo de Apache, elija el menú Acciones en la parte superior de la página y, a continuación, elija Cambiar grupos de seguridad. Asigne un nuevo grupo de seguridad a esta interfaz de red. Para obtener más información acerca de la creación de grupos de seguridad, consulte Creación de un grupo de seguridad en la documentación de Amazon VPC.

  9. Repita el paso anterior para asignar el mismo grupo de seguridad nuevo a todas las interfaces de red asociadas a ZooKeeper los nodos Apache del clúster.

  10. Ahora puede elegir quién tiene acceso a este nuevo grupo de seguridad. Para obtener información acerca de cómo establecer reglas de grupo de seguridad, consulte Adición, eliminación y actualización de reglas en la documentación de Amazon VPC.

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 sus ZooKeeper nodos de Apache, 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 activado 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 ¿Cómo empiezo a utilizar el cifrado?.

  • Recupere los puntos finales TLS de Apache mediante la operación. ZooKeeper DescribeCluster

  • Cree un archivo ZooKeeper de configuración de Apache para usarlo con las kafka-acls.shherramientas kafka-configs.sh y o con el ZooKeeper shell. Con cada herramienta, se utiliza el --zk-tls-config-file parámetro para especificar la ZooKeeper configuración de Apache.

    El siguiente ejemplo muestra un archivo de ZooKeeper configuración típico de Apache:

    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=test1234
  • Para otros comandos (comokafka-topics), debe usar la variable de KAFKA_OPTS entorno para configurar ZooKeeper los parámetros de Apache. El siguiente ejemplo muestra cómo configurar la variable de KAFKA_OPTS entorno para pasar ZooKeeper los parámetros de Apache 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. En el siguiente ejemplo, se crea un tema de Apache Kafka con la ZooKeeper configuración de Apache de la variable de KAFKA_OPTS entorno:

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --zookeeper ZooKeeperTLSConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
nota

Los nombres de los parámetros que utiliza en el archivo de ZooKeeper configuración de Apache y los que utiliza en la variable de KAFKA_OPTS entorno no son coherentes. 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 ZooKeeper los nodos de Apache con TLS, consulte el artículo KIP-515: Habilitar el cliente ZK para utilizar la nueva autenticación compatible con TLS.