kumaab opened a new pull request, #1297:
URL: https://github.com/apache/ranger/pull/1297

   ## What changes were proposed in this pull request?
   
   Ranger's Kafka clients (audit-ingestor, audit-dispatchers, tagsync) each 
assemble their own SASL settings and only support Kerberos keytabs. Kafka's 
bundled OAUTHBEARER handler reads a file:// token once and caches it, so 
rotated platform tokens, such as Kubernetes projected service-account tokens, 
leave the client presenting an expired token.
   
   - New module agents-audit/kafka-client-auth (ranger-kafka-client-auth):
     - RangerKafkaClientSecurityConfig builds security.protocol / sasl.* client 
properties from <prefix>.kafka.* for producers, consumers and admin clients; 
<prefix>.kafka.sasl.* and <prefix>.kafka.ssl.* pass through and override.
     - RangerKafkaOAuthBearerLoginCallbackHandler presents a JWT read from a 
file:// URL. It re-reads the file on every login and refresh, so the client 
always presents the current token after rotation. http(s):// endpoints use 
Kafka's own client-credentials handler.
     - RangerOAuthBearerToken, a reusable OAuthBearerToken built from parsed 
claims.
   - audit-ingestor, all audit-dispatcher backends and the audit topic 
bootstrap call the helper instead of building a Kerberos-only JAAS string each; 
audit-ingestor also loads the site XML given by -Daudit.config after the 
packaged default.
   - tagsync: TAG_SOURCE_ATLAS_KAFKA_SASL_MECHANISM and 
TAG_SOURCE_ATLAS_KAFKA_OAUTH_TOKEN_URL rendered into 
atlas-application.properties; module added to the tagsync distribution.
   - ranger-docker: broker accepts GSSAPI and OAUTHBEARER; ranger-kafka mints 
and rotates dev tokens into a shared volume; KAFKA_SASL_MECHANISM in .env 
selects OAUTHBEARER (default) or GSSAPI; the ingestor renders its site XML from 
YAML plus env like the admin container.
   
   **Behaviour change**: with SASL_PLAINTEXT or SASL_SSL the default 
sasl.mechanism is now OAUTHBEARER and GSSAPI must be set explicitly; no sasl.* 
keys are set for PLAINTEXT or SSL.
   
   ## How was this patch tested?
   
   Pending
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to