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.
ACL de Apache Kafka
Apache Kafka tiene un autorizador conectable y se suministra con una implementación de autorizador. out-of-box Amazon MSK habilita este autorizador en el archivo server.properties
de los agentes.
Las ACL de Apache Kafka tienen el formato «La P principal es la operación O [permitida/denegada] desde el host H en cualquier recurso R que coincida con el RP». ResourcePattern Si RP no coincide con un recurso específico R, R no tiene ACL asociadas y, por lo tanto, nadie más que los superusuarios tiene permiso para acceder a R. Para cambiar este comportamiento de Apache Kafka, establezca la propiedad allow.everyone.if.no.acl.found
en true. Amazon MSK lo establece como true de forma predeterminada. Esto significa que con los clústeres de Amazon MSK, si no establece explícitamente las ACL en un recurso, todos los principales pueden acceder a este recurso. Si habilita las ACL en un recurso, sólo los principales autorizados pueden acceder a él. Si desea restringir el acceso a un tema y autorizar a un cliente mediante la autenticación mutua de TLS, agregue ACL mediante la CLI del autorizador de Apache Kafka. Para obtener más información acerca de cómo agregar, eliminar y enumerar ACL, consulte la Interfaz de línea de comandos 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
-
Agregue sus agentes a la tabla de ACL para permitirles leer de todos los temas que tengan ACL en su lugar. Para conceder a los agentes acceso de lectura a un tema, ejecute el siguiente comando en un equipo cliente que pueda comunicarse con el clúster de MSK.
Reemplace el
Nombre-distinguido
por el DNS de cualquiera de los agentes de arranque del clúster y, a continuación, reemplace la cadena 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 DNSb-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com
, reemplaceDistinguished-Name
en el siguiente comando por*.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com
. Para obtener información sobre cómo obtener los agentes de arranque, consulte Obtención de 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=* --topicTopic-Name
-
Para conceder acceso de lectura a un tema, ejecute el siguiente comando en su máquina del cliente. Si usa una autenticación TLS mutua, use el mismo
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=* --topicTopic-Name
Para eliminar el acceso de lectura, puede ejecutar el mismo comando, sustituyendo
--add
por--remove
. -
Para conceder acceso de escritura a un tema, ejecute el siguiente comando en su máquina del cliente. Si usa una autenticación TLS mutua, use el mismo
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 --topicTopic-Name
Para eliminar el acceso de escritura, puede ejecutar el mismo comando, sustituyendo
--add
por--remove
.