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à.
Controllo dell'accesso ad ApacheZooKeeper
Per motivi di sicurezza, puoi limitare l'accesso ad ApacheZooKeepernodi che fanno parte del tuo cluster Amazon MSK. Per limitare l'accesso ai nodi, puoi assegnare loro un gruppo di sicurezza separato. Puoi quindi stabilire chi ottiene l'accesso a tale gruppo di sicurezza.
Questo argomento contiene le sezioni seguenti:
Per posizionare il tuo ApacheZooKeepernodi in un gruppo di sicurezza separato
-
Ottieni l'ApacheZooKeeperstringa di connessione per il tuo cluster. Per scoprire come fare, consulta Ottenere la stringa di ZooKeeper connessione Apache per un cluster Amazon MSK. La stringa di connessione contiene i nomi DNS del tuo ApacheZooKeepernodi.
-
Utilizzare uno strumento simile a
host
oping
per convertire i nomi DNS ottenuti nel passaggio precedente in indirizzi IP. Salvare questi indirizzi IP perché saranno necessari più avanti in questa procedura. Accedi a AWS Management Console e apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. Nel riquadro di navigazione, in NETWORK & SECURITY (Rete e sicurezza), scegliere Network Interfaces (Interfacce di rete).
-
Nel campo di ricerca sopra la tabella delle interfacce di rete, digitare il nome del cluster, quindi premere Invio. Questo limita il numero di interfacce di rete visualizzate nella tabella a quelle associate al cluster.
-
Selezionare la casella di controllo all'inizio della riga corrispondente alla prima interfaccia di rete nell'elenco.
-
Nel riquadro dei dettagli nella parte inferiore della pagina, cercare Primary private IPv4 IP (IP privato primario IPv4). Se questo indirizzo IP corrisponde a uno degli indirizzi IP ottenuti nella prima fase di questa procedura, significa che questa interfaccia di rete è assegnata a un ApacheZooKeepernodo che fa parte del tuo cluster. In caso contrario, deselezionare la casella di controllo accanto a questa interfaccia di rete e selezionare l'interfaccia di rete successiva nell'elenco. L'ordine di selezione delle interfacce di rete non ha importanza. Nei passaggi successivi, eseguirai le stesse operazioni su tutte le interfacce di rete assegnate ad ApacheZooKeepernodi, uno per uno.
-
Quando si seleziona un'interfaccia di rete che corrisponde a un ApacheZooKeepernodo, scegli ilAzionimenu nella parte superiore della pagina, quindi scegliCambia i gruppi di sicurezza. Assegnare un nuovo gruppo di sicurezza a questa interfaccia di rete. Per informazioni sulla creazione di gruppi di sicurezza, vedereCreazione di un gruppo di sicurezzanella documentazione di Amazon VPC.
-
Ripeti il passaggio precedente per assegnare lo stesso nuovo gruppo di sicurezza a tutte le interfacce di rete associate ad Apache.ZooKeepernodi del tuo cluster.
-
È ora possibile scegliere chi dispone dell'accesso a questo nuovo gruppo di sicurezza. Per informazioni sull'impostazione delle regole dei gruppi di sicurezza, vedereAggiungere, rimuovere e aggiornare le regolenella documentazione di Amazon VPC.
Utilizzo della sicurezza TLS con ApacheZooKeeper
Puoi utilizzare la sicurezza TLS per la crittografia in transito tra i tuoi client e il tuo ApacheZooKeepernodi. Per implementare la sicurezza TLS con il tuo ApacheZooKeepernodi, effettuate le seguenti operazioni:
I cluster devono utilizzare Apache Kafka versione 2.5.1 o successiva per utilizzare la sicurezza TLS con ApacheZooKeeper.
Abilita la sicurezza TLS quando crei o configuri il tuo cluster. I cluster creati con Apache Kafka versione 2.5.1 o successiva con TLS abilitato utilizzano automaticamente la sicurezza TLS con ApacheZooKeeperpunti finali. Per informazioni sulla configurazione della sicurezza TLS, consultaCome posso iniziare a usare la crittografia?.
Recupera TLS ApacheZooKeeperendpoint che utilizzano ilDescribeCluster operazione.
Crea un ApacheZooKeeperfile di configurazione da utilizzare con
kafka-configs.sh
ekafka-acls.sh
strumenti, o conZooKeeperguscio. Con ogni strumento, si utilizza il --zk-tls-config-file
parametro per specificare il tuo ApacheZooKeeperconfig.L'esempio seguente mostra un tipico ApacheZooKeeperfile di configurazione:
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
Per altri comandi (ad esempio
kafka-topics
), è necessario utilizzare ilKAFKA_OPTS
variabile di ambiente per configurare ApacheZooKeeperparametri. L'esempio seguente mostra come configurare ilKAFKA_OPTS
variabile di ambiente per passare ApacheZooKeeperparametri in altri comandi: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"
Dopo aver configurato
KAFKA_OPTS
variabile di ambiente, puoi usare normalmente i comandi CLI. L'esempio seguente crea un argomento di Apache Kafka utilizzando ApacheZooKeeperconfigurazione dalKAFKA_OPTS
variabile di ambiente:<path-to-your-kafka-installation>
/bin/kafka-topics.sh --create --zookeeperZooKeeperTLSConnectString
--replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic
Nota
I nomi dei parametri che usi nel tuo ApacheZooKeeperfile di configurazione e quelli che usi nel tuoKAFKA_OPTS
le variabili di ambiente non sono coerenti. Presta attenzione ai nomi che usi con quali parametri nel tuo file di configurazione eKAFKA_OPTS
variabile di ambiente.
Per ulteriori informazioni sull'accesso al tuo ApacheZooKeepernodi con TLS, vedereKIP-515: abilita il client ZK a utilizzare la nuova autenticazione supportata da TLS