Configuración de Kafka 2: configure la autenticación Kafka SASL-PLAIN en Windows

 

Configuración de Kafka 1: instalar y configurar Kafka en el entorno de Windows

Configuración de Kafka 2: configure la autenticación Kafka SASL-PLAIN en Windows

Configuración de Kafka 3: configure el clúster de Kafka en Windows

Configuración de Kafka 4: configure el certificado SSL de Kafka en Windows

Configuración de Kafka 5: configure el clúster de Kafka + SASL + SSL en Windows

Configuración de Kafka 6: configuración y adición de usuarios SASL o permisos de usuario en Windows


1. Configuración de Zookeeper
    1.1. Modifique el archivo de configuración de Zookeeper.
        En el directorio de instalación de Zookeeper conf, abra zoo.cfg para editarlo y agregue la siguiente configuración al archivo:

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

            
    1.2. Cree un nuevo zk_server_jaas.conf
        En el directorio de instalación de Zookeeper conf, cree un nuevo archivo zk_server_jaas.conf y agregue el siguiente contenido:

Server {
     org.apache.kafka.common.security.plain.PlainLoginModule required
     username="admin"
     password="admin123456"
     user_quber="quber123456"
     user_quber1="quber123456"
     user_quber2="quber123456";
};

        Descripción:
            username y paasword son la autenticación entre clusters zk.
            Define tres usuarios quber, quber1 y quber2. La contraseña es quber123456, que es utilizada por los clientes de Kafka para acceder a Zookeeper
            :
            quber: para leer y escribir quber1: para leer
            quber2 : Usado para escribir
        
    1.3 y modificar zkEnv.cmd
        en el directorio de instalación de Zookeeper bin, abrir zkEnv.cmd para editar, en el archivo set ZOO_LOG4J_PROP = INFO, la siguiente línea de CONSOLE agrega la siguiente configuración:

set SERVER_JVMFLAGS=-Djava.security.auth.login.config=D:/Net_Program/Net_Zookeeper/conf/zk_server_jaas.conf

        Tenga en cuenta que la configuración anterior es una barra inclinada, no una barra invertida

        
    1.4. Importe los             archivos             jar relevantes
        . Busque los archivos siguientes en las bibliotecas del directorio de instalación de Kafka, respectivamente, y cópielos en la biblioteca en el directorio de instalación de Zookeeper a
kafka-clients-2.4.0.jar
lz4-java -1.6.0.jar
            slf4j-api-1.7.28.jar
            slf4j-log4j12-1.7.28.jar
            snappy-java-1.1.7.3.jar

        
2. Configuración
    2.1 de Kafka , cree un nuevo kafka_server_jaas.conf
        en la configuración del directorio de instalación de Kafka, Cree un nuevo archivo kafka_server_jaas.conf y agregue el siguiente contenido:

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin123456"
    user_admin="admin123456"
    user_quber="quber123456"
    user_quber1="quber123456"
    user_quber2="quber123456";
};

        Descripción:
            En la sección KafkaServer, el broker utiliza el nombre de usuario y la contraseña para inicializar la conexión con otros brokers.
            En la configuración anterior, el usuario administrador
            define la comunicación entre los brokers y user_userName define todas las conexiones de cliente conectadas al broker y la autenticación del broker,
            incluidos otros brokers. La contraseña de usuario, user_userName debe configurarse con el usuario administrador, de lo contrario se informará un error.
            
    2.2. Cree un nuevo kafka_client_jaas.conf
        En la configuración del directorio de instalación de Kafka, cree un nuevo archivo kafka_client_jaas.conf y agregue el siguiente contenido:

KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="quber"
    password="quber123456";
};

        Nota:
            En la sección KafkaClient, el nombre de usuario y la contraseña son los usuarios que utiliza el cliente para configurar el cliente para que se conecte al intermediario.
            En la configuración anterior, el cliente usa el usuario quber para conectarse al intermediario
            
    2.3. Modifique server.properties
        en la configuración del directorio de instalación de Kafka y abra el servidor. Edite las propiedades y agregue la siguiente configuración al archivo:

listeners=SASL_PLAINTEXT://192.168.2.200:9092
advertised.listeners=SASL_PLAINTEXT://192.168.2.200:9092
# 使用的认证协议
security.inter.broker.protocol=SASL_PLAINTEXT
# SASL机制
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
# 完成身份验证的类
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
# 如果没有找到ACL(访问控制列表)配置,则允许任何操作。
#allow.everyone.if.no.acl.found=true
super.users=User:admin

        Nota:
            La dirección IP detrás de los oyentes es la IP de la red interna
            . La dirección IP detrás de advertised.listeners es la IP de la red externa
            
    2.4. Modifique consumr.properties y producer.properties
        en la configuración del directorio de instalación de Kafka, abra consumer.properties y producer.properties para editar, Agregue la siguiente configuración al archivo:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

       Modifique group.id = TestGroup1 en consumer.propertie. Si hay varios clientes consumidores, asegúrese de que el group.id no esté duplicado, de lo contrario no pueden consumir mensajes al mismo tiempo.
    
    2.5. Modifique kafka-server-start.bat
        en el directorio de instalación de Kafka bin \ windows, Abra kafka-server-start.bat para editarlo y agregue la siguiente configuración a la línea debajo de la palabra clave SetLocal en el archivo:

set KAFKA_OPTS=-Djava.security.auth.login.config=D:/Net_Program/Net_Kafka/config/kafka_server_jaas.conf

        Tenga en cuenta que la configuración anterior es una barra diagonal, no una barra invertida.

    
    2.6, modifique kafka-console-consumer.bat y kafka-console-producer.bat
        en el directorio de instalación de Kafka bin \ windows, abra kafka-console-consumer.bat y kafka-console -producer.bat para editar, agregue la siguiente configuración a la siguiente línea de la palabra clave SetLocal en el archivo:

set KAFKA_OPTS=-Djava.security.auth.login.config=D:/Net_Program/Net_Kafka/config/kafka_client_jaas.conf

        Tenga en cuenta que la configuración anterior es una barra, no una barra invertida

        
3. Inicie el servicio y la configuración
    3.1, inicie los servicios de Zookeeper y Kafka por
        separado Ejecute CMD como administrador (abra 2 ventanas para iniciar los servicios de Zookeeper y Kafka respectivamente) y luego ingrese:
        zkServer
        kafka-server-start D: \ Net_Program \ Net_Kafka \ config \ server.properties

    
    3.2 Configuración de permisos de usuario
        Aquí está la configuración de los tres usuarios mencionados anteriormente (quber [lectura y escritura], quber1 [lectura] y quber2 [ Escribir]) leer, escribir y agrupar permisos
    
        3.2.1, configurar los permisos de lectura y escritura del usuario quber
            para ejecutar CMD como administrador, y luego ingresar:

kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --add --allow-principal User:quber --operation Read --operation Write --topic TestTopic1

kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --add --allow-principal User:quber --operation Read --group TestGroup1

            Descripción:
                La primera línea del comando anterior es para establecer los permisos de "lectura" y "escritura"
                para el usuario quber. La segunda línea del comando es establecer los permisos para el usuario quber en el grupo TestGroup1. Si el segundo comando no está configurado, consumirá datos Cuando no haya acceso a los permisos de grupo TestGroup1

                
        3.2.2, configure los permisos de lectura de quber1
            para ejecutar CMD como administrador y luego ingrese:

kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --add --allow-principal User:quber1 --operation Read --topic TestTopic1

kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --add --allow-principal User:quber1 --operation Read --group TestGroup1

            Nota:
                La primera línea del comando anterior es para configurar el permiso de "lectura"
                para el usuario quber1. La segunda línea de comando es para configurar el permiso para el usuario quber1 en el grupo TestGroup1. Si el segundo comando no está configurado, no hay acceso al consumir datos

                
        3.2.3 del permiso de grupo de TestGroup1 , configure el permiso de escritura de quber2
            para ejecutar CMD como administrador, y luego ingrese:

kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --add --allow-principal User:quber2 --operation Write --topic TestTopic1

            Descripción: El
                comando anterior es para establecer el permiso de "escritura" para el usuario quber2
            
        3.2.4, consultar el permiso de operación del usuario
            Ejecutar CMD como administrador y luego ingresar:

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --list --topic TestTopic1
.\bin\windows\kafka-acls.bat --authorizer-properties zookeeper.connect=192.168.2.200:2181 --list --topic TestTopic1
或
kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --list
kafka-acls --authorizer-properties zookeeper.connect=192.168.2.200:2181 --list --topic TestTopic1  

            Descripción:
                La función del comando anterior es enumerar todos los

                
        usuarios con la autoridad de TestTopic1 3.2.5, eliminar la autoridad del usuario
            para ejecutar CMD como administrador y luego ingresar:

.\bin\windows\kafka-acls.bat --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --remove --allow-principal User:quber --operation Read --topic TestTopic1 --force
或
kafka-acls --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.200:2181 --remove --allow-principal User:quber --operation Read --topic TestTopic1 --force

            Descripción:
                La función del comando anterior es eliminar el permiso de lectura del usuario quber en el tema TestTopic1.
                
        3.2.6. En resumen
            , hemos configurado SASL para completar, y luego podemos usar el cliente de cada idioma (como C #) para leer y escribir Envíe el mensaje a Kafka.
            Si necesita agregar dinámicamente otras cuentas de lectura y escritura, solo necesita agregar la cuenta y la contraseña correspondiente en el archivo kafka_server_jaas.conf, y luego siga los pasos 3.2.1 ~ 3.2.3 para configurar los permisos de la cuenta.
            
            Nota:
                En el cliente Al consumir datos en el lado del cliente, si usa diferentes cuentas para consumir el mismo tema, debe configurar diferentes cuentas en diferentes grupos. Luego, el cliente que inicia el consumo no puede consumir datos. Una vez que
                la cuenta se agrega dinámicamente y se establecen los permisos de la cuenta, debe reiniciar Kafka Servicio, de lo contrario no entrará en vigor

    3.3, pruebe
        3.3.1, inicie el propio productor de Kafka
            , ejecute CMD como administrador e ingrese:

.\bin\windows\kafka-console-producer.bat --broker-list PLAINTEXT://192.168.2.200:9092 --topic TestTopic1 --producer.config .\config\producer.properties
或
kafka-console-producer --broker-list PLAINTEXT://192.168.2.200:9092 --topic TestTopic1 --producer.config D:\Net_Program\Net_Kafka\config\producer.properties

    
        3.3.2. Inicie el consumidor que viene con Kafka
            para ejecutar CMD como administrador y luego ingrese:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server PLAINTEXT://192.168.2.200:9092 --topic TestTopic1 --from-beginning --consumer.config .\config\consumer.properties
或
kafka-console-consumer --bootstrap-server PLAINTEXT://192.168.2.200:9092 --topic TestTopic1 --from-beginning --consumer.config D:\Net_Program\Net_Kafka\config\consumer.properties

            Nota:
                Después de configurar en 3.3.1 en este momento, el comando anterior puede iniciar el consumidor normalmente.
            
4. Consulte el documento
    Configuración de permisos KAFKA autenticación SASL / PLAIN: https://www.mscto.com/cloud/262978.html
    tardío Productos secos | Combate de gestión de permisos de Kafka: https://blog.csdn.net/u013256816/article/details/99619334        
            
            
            
            
            
            
            
            
    
    
    

Supongo que te gusta

Origin blog.csdn.net/qubernet/article/details/105093598
Recomendado
Clasificación