Uso dei token di delega Kafka
Utilizzare i token di delega Kafka per abilitare e disabilitare l'autenticazione.
I token possono essere generati tramite le API AdminClient o lo script kafka-delegation-tokens. Le richieste per i token di delega (creazione, rinnovo, scadenza, descrizione) devono avvenire su canali SASL o autenticati SSL. Se l'autenticazione iniziale utilizza un token di delega, le richieste di token non sono consentite.
Per informazioni sui token di delega e sui flussi di lavoro Oozie, vedere Acquisizione del token di delega Kafka per il flusso di lavoro Oozie.
Creazione di un token di delega
Il principal attualmente autenticato sarà il proprietario del token.
kafka-delegation-tokens --bootstrap-server <brokerhostname>:6667 --create --max-life-time-period -1 --command-config client.properties --renewer-principal User:<user1>
Rinnovo di un token di delega
kafka-delegation-tokens --bootstrap-server <brokerhostname>:6667 --renew --renew-time-period -1 --command-config client.properties --hmac <ABCDEFGHIJK>
Scadenza di un token delega
kafka-delegation-tokens --bootstrap-server <brokerhostname>:6667 --expire --expiry-time-period -1 --command-config client.properties --hmac <ABCDEFGHIJK>
Descrizione di un token di delega
kafka-delegation-tokens --bootstrap-server <brokerhostname>:6667 --describe --command-config client.properties --owner-principal User:<user1>
Creazione di un client Kafka
È possibile creare un client Kafka in Big Data Service utilizzando i token di delega.
Includere quanto segue nelle proprietà del client:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required
tokenauth="true"
serviceName="kafka"
username="<TOKEN_ID>"
password="<TOKEN_PASS>";
Sostituire "<TOKEN_ID>" e "<TOKEN_PASS>" con l'ID token e il token hmac.
Si consiglia di aggiornare
delegation.token.master.key in Ambari in Kafka > Config in una chiave segreta preferibile. Questa chiave viene utilizzata per generare e verificare i token di delega. Se non è impostato o è impostato su un valore vuoto, la funzionalità token delega è disabilitata.Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.