sanket bhor created ATLAS-5422:
----------------------------------

             Summary: Support no-auth REST notification mode in trino-atlas for 
header-based authentication environments
                 Key: ATLAS-5422
                 URL: https://issues.apache.org/jira/browse/ATLAS-5422
             Project: Atlas
          Issue Type: Task
            Reporter: sanket bhor
            Assignee: sanket bhor


h3. Background

The trino-atlas plugin currently sends Atlas hook notifications via the Kafka 
channel with Kerberos SASL/SSL authentication. The Atlas client library 
(atlas-apache) also supports a REST notification channel with Kerberos SPNEGO, 
Basic Auth, or JWT Bearer token authentication.

In UDF environments, Kerberos and other traditional authentication mechanisms 
are not used. Instead, these environments rely on header-based authentication 
where an external gateway/proxy intercepts requests and injects auth headers 
(x-awc-username, x-awc-roles, x-awc-requestid) before forwarding to the Atlas 
server. The Atlas server is configured to trust these headers via 
atlas.authn.header.enabled=true.
h3. Problem

When REST notification is enabled (atlas.hook.rest.notification.enabled=true), 
the RestNotification class (RestNotification.java:L86-96) forces one of two 
auth modes:
 * Kerberos enabled → creates AtlasClientV2 with SPNEGO

 * Kerberos disabled → creates AtlasClientV2 with Basic Auth (defaults to 
admin/admin123)

There is no option to create the client without any authentication, which is 
required when the external gateway handles auth. Additionally, if Basic Auth 
username/password resolves to null, the client calls
System.console() which triggers System.exit(1) in daemon mode — crashing the 
Trino JVM.
h3. Requirement

Provide a flag-based configuration to enable no-auth REST notification mode 
where:
 * The trino-atlas hook sends notifications via the REST channel without 
attaching any client-side authentication (no Kerberos, no Basic Auth, no JWT)

 * The external gateway/proxy is responsible for injecting the required auth 
headers before the request reaches the Atlas server

 * This mode should be opt-in via a configuration property to avoid accidental 
misconfiguration

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to