Apache Kafka ACLs - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Apache Kafka ACLs

Apache Kafka ha un autorizzatore collegabile e viene fornito con un'implementazione di autorizzazione. out-of-box Amazon MSK abilita questo autorizzatore nel server.properties file dei broker.

Apache Kafka ACLs ha il formato «Principal P è [Consentita/Negata] Operazione O dall'host H su qualsiasi risorsa R corrispondente a RP». ResourcePattern Se RP non corrisponde a una risorsa specifica R, allora R non ha alcun associato ACLs e quindi nessun altro oltre ai super utenti può accedere a R. Per modificare questo comportamento di Apache Kafka, impostate la proprietà su true. allow.everyone.if.no.acl.found Amazon lo MSK imposta su true per impostazione predefinita. Ciò significa che con MSK i cluster Amazon, se non ACLs imposti esplicitamente una risorsa, tutti i principali possono accedere a tale risorsa. Se abiliti una ACLs risorsa, solo i responsabili autorizzati possono accedervi. Se desideri limitare l'accesso a un argomento e autorizzare un client utilizzando l'autenticazione TLS reciproca, aggiungi ACLs utilizzando l'autorizzatore Apache Kafka. CLI Per ulteriori informazioni sull'aggiunta, la rimozione e l'elenco, consulta Kafka Authorization Command ACLs Line Interface.

Oltre al client, è inoltre necessario concedere a tutti i broker l'accesso agli argomenti in modo che possano replicare i messaggi dalla partizione primaria. Se i broker non dispongono dell'accesso a un argomento, la replica per l'argomento non va a buon fine.

Per aggiungere o rimuovere l'accesso in lettura e scrittura a un argomento
  1. Aggiungi i tuoi broker alla ACL tabella per consentire loro di leggere tutti gli argomenti esistenti. ACLs Per concedere ai broker l'accesso in lettura a un argomento, esegui il comando seguente su un computer client in grado di comunicare con il MSK cluster.

    Replace (Sostituisci) Distinguished-Name con uno qualsiasi DNS dei broker bootstrap del tuo cluster, quindi sostituisci la stringa prima del primo punto di questo nome distinto con un asterisco (). * Ad esempio, se uno dei broker bootstrap del tuo cluster dispone di, replace DNS b-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com Distinguished-Name nel comando seguente con. *.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com Per informazioni su come ottenere i broker bootstrap, consulta Ottenere i broker bootstrap per un cluster 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. Per concedere l'accesso in lettura a un argomento, eseguire il comando seguente sul computer client. Se si utilizza l'TLSautenticazione reciproca, utilizzare la stessa Distinguished-Name che hai usato quando hai creato la chiave privata.

    <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

    Per rimuovere l'accesso in lettura, è possibile eseguire lo stesso comando, sostituendo --add con --remove.

  3. Per concedere l'accesso in scrittura a un argomento, eseguire il comando seguente sul computer client. Se utilizzi l'TLSautenticazione reciproca, usa la stessa Distinguished-Name che hai usato quando hai creato la chiave privata.

    <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

    Per rimuovere l'accesso in scrittura, è possibile eseguire lo stesso comando, sostituendo --add con --remove.