Apache Kafka ACLs - Transmisión gestionada 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.

Apache Kafka ACLs

Apache Kafka tiene un autorizador conectable y viene con una implementación de autorizador. out-of-box Amazon MSK habilita este autorizador en el server.properties archivo de los corredores.

Apache Kafka ACLs tiene el formato «La P principal es la operación O [permitida/denegada] del host H en cualquier recurso R que coincida con el RP». ResourcePattern Si RP no coincide con un recurso R específico, R no tiene asociado yACLs, por lo tanto, solo los superusuarios pueden acceder a R. Para cambiar este comportamiento de Apache Kafka, establezca la propiedad en allow.everyone.if.no.acl.found true. Amazon lo MSK establece en true de forma predeterminada. Esto significa que con MSK los clústeres de Amazon, si no estableces un recurso ACLs de forma explícita, todos los principales pueden acceder a este recurso. Si habilita ACLs un recurso, solo los principales autorizados pueden acceder a él. Si desea restringir el acceso a un tema y autorizar a un cliente mediante la autenticación TLS mutua, añádalo ACLs mediante el autorizador Apache Kafka. CLI Para obtener más información sobre cómo añadir, eliminar y enumerarACLs, consulte la interfaz de línea de comandos de autorización de Kafka.

Además del cliente, también debe conceder a todos sus agentes acceso a sus temas para que los agentes puedan replicar mensajes desde la partición principal. Si los agentes no tienen acceso a un tema, se produce un error en la replicación del tema.

Adición o eliminación del acceso de lectura y escritura a un tema
  1. Añada a sus corredores a la ACL tabla para que puedan leer todos los temas ACLs disponibles. Para conceder a sus agentes el acceso de lectura a un tema, ejecute el siguiente comando en un equipo cliente que pueda comunicarse con el MSK clúster.

    Reemplazar Distinguished-Name por el DNS de cualquiera de los corredores de arranque del clúster y, a continuación, sustituya la cadena situada antes del primer punto de este nombre distintivo por un asterisco ()*. Por ejemplo, si uno de los agentes de arranque del clúster tiene el, sustituya DNS b-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com Distinguished-Name en el siguiente comando con*.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com. Para obtener información sobre cómo obtener los agentes de arranque, consulte Obtenga los agentes de arranque para un clúster de Amazon MSK.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name
  2. Para conceder acceso de lectura a un tema, ejecute el siguiente comando en su máquina del cliente. Si utiliza la TLS autenticación mutua, utilice la misma Distinguished-Name que utilizó al crear la clave privada.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name

    Para eliminar el acceso de lectura, puede ejecutar el mismo comando, sustituyendo --add por --remove.

  3. Para conceder acceso de escritura a un tema, ejecute el siguiente comando en su máquina del cliente. Si usa la TLS autenticación mutua, use la misma Distinguished-Name que utilizó al crear la clave privada.

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Write --topic Topic-Name

    Para eliminar el acceso de escritura, puede ejecutar el mismo comando, sustituyendo --add por --remove.