Hi Eric,

I agree with your points.

However, I am not sure now that I understand the proposed use case.

When the new NONE (or any proposed alternative name) is used as the
authentication type in an External Catalog, what kind of auth flow will
actually happen in runtime?

* Will Polaris not perform any authentication in this case?

* Will Polaris perform some authentication that is defined by the Polaris
Service owner? (this is what I understood from Pooja's message).

Pooja (or anyone else): Could you clarify that, please?

Thanks,
Dmitri.

On Wed, Jul 2, 2025 at 3:12 PM Eric Maynard <eric.w.mayn...@gmail.com>
wrote:

> > I believe we need to consider both the server-side impact and user-side
> impact
> > NONE [...] feels like the federated catalog will not perform any
> authentication.
>
> I see multiple users here. There's an admin configuring the Polaris
> service, there's a person creating the EXTERNAL catalog, and there's an end
> user querying the catalog.
>
> From the end user's perspective, the authentication type doesn't matter at
> all because the end user just authenticates with Polaris. To them, the name
> of the auth type really shouldn't matter.
>
> From the admin's perspective, the authentication type refers to how Polaris
> will authenticate itself to the external catalog -- the admin is concerned
> with which auth types are "enabled" for a given realm in Polaris, as we see
> in PR#1931. The admin needs to recognize which auth types are inherently
> unsafe or what impact the different auth types might have on the service.
>
> Finally, and most importantly, there is the user creating the EXTERNAL
> catalog [connection]. This user is creating a connection to a catalog and
> is specifying an authentication type at that point in time. This is where
> NONE / UNMANAGED is most clear -- it hopefully tells this user that Polaris
> will not do anything to authenticate itself to the catalog being connected
> to.
>
> For all of these users, I'm not sure there is a shared definition of what a
> PROVIDER means. To me, it sounds like Polaris will use some external
> PROVIDER of authentication, which in many cases really may not exist.
>
> --EM
>
> On Wed, Jul 2, 2025 at 11:26 AM Dmitri Bourlatchkov <di...@apache.org>
> wrote:
>
> > Thanks for resuming this discussion, Pooja!
> >
> > I believe we need to consider both the server-side impact and the
> user-side
> > impact. I tend to think that user-side clarity is preferred in this
> context
> > since the user is the actor creating/updating catalog authentication
> > parameters in runtime.
> >
> > In that regard, here's my take:
> >
> > * NONE - this feels like the federated catalog will not perform any
> > authentication. However, it is not the intended mode of operation on the
> > server-side.
> >
> > * ENVIRONMENT - This is too fuzzy / unclear to me (too)
> >
> > * PROVIDER - This signals to the user that the Provider (Polaris service
> > owner) will perform some provider-specific authentication flow and the
> user
> > is expected to know what this flow will involve (through prior
> interactions
> > with the service provider). I believe this matches the proposed use case.
> > For more clarity we could add comments to the API YAML / javadoc / doc
> > pages. Alternative names: SERVICE_OWNER, SERVICE_PROVIDER, IMPLICIT.
> >
> > * UNMANAGED - this signals to the user that authentication is not managed
> > at all and runtime behaviour is unclear.
> >
> > Cheers,
> > Dmitri.
> >
> > On Mon, Jun 30, 2025 at 7:53 PM Pooja Nilangekar <po...@apache.org>
> wrote:
> >
> > > Hi all,
> > >
> > > I wanted to send out an update based on the PR discussion and get
> > > suggestions/opinions about the same.
> > >
> > > The primary goal of this new authentication type which tells Polaris
> not
> > > to expect any authentication tokens while federating to this external
> > > catalog; instead use whatever information you find in the
> > > environment/configuration files. It conveys the following:
> > >     1. Polaris does not store or manage the authentication parameters.
> > >     2. Polaris does not apply any authentication flow explicitly.
> > >
> > > Based on the discussion on the thread, here are a few names that could
> be
> > > considered along with the reasoning:
> > >     1. NONE - Explicit about the fact that no authentication
> > > token/parameter is provided for this federated catalog.
> > >     2. ENVIRONMENT - Expects Polaris to find the authentication
> mechanism
> > > in the environment/configuration file and plumb it through while making
> > > connections.
> > >     3. PROVIDER - The use and the polaris server may not share an
> > > environment, hence the authentication mechanism is based on the Polaris
> > > server (provider).
> > >     4. UNMANAGED - There may or may not be an authentication mechanism
> in
> > > place. Even if there were one, it is not manager by Polaris. If the
> > > environment or configuration file contains relevant authentication
> > > information, then Polaris passes it on to the connection library.
> > >
> > > Please let me know if you have any suggestions/preferences about the
> > same.
> > >
> > > Thanks,
> > > Pooja
> > >
> > >
> > > On 2025/06/25 21:32:39 Pooja Nilangekar wrote:
> > > > Hi Dmitri,
> > > >
> > > > I agree with the "NONE" suggestion, I will send out the new version
> > once
> > > PR 1931 <https://github.com/apache/polaris/pull/1931> is merged
> because
> > > as discussed on GH, we plan to use changes from 1931.
> > > >
> > > > Regarding the NULL_TYPE enum: In my experiences, it is always good to
> > > think about backward compatibility and "forward" compatibility. The
> > > NULL_TYPE provides a catch-all for any unrecognized value that Polaris
> > > finds in its persistence layer that it can't interpret. Let me know
> what
> > > you think.
> > > >
> > > > Thanks,
> > > > Pooja
> > > >
> > > > On 2025/06/24 17:35:22 Dmitri Bourlatchkov wrote:
> > > > > Thanks for starting this discussion, Pooja!
> > > > >
> > > > > The general idea of explicitly supporting unauthenticated
> connections
> > > > > sounds good to me.
> > > > >
> > > > > Adding a new auth type enum value to the Management REST API spec
> > also
> > > > > sounds good to me. I believe it is a backward-compatible API change
> > > (still
> > > > > it was correct to start a dev list discussion since it is a REST
> API
> > > > > change).
> > > > >
> > > > > However, we need to be careful with naming the new enum value as
> the
> > > name
> > > > > will propagate through many future releases. Eric proposed "NONE"
> in
> > > the
> > > > > PR, and I'd prefer this name too.
> > > > >
> > > > > Regarding specific changes in the PR, as I commented in GH, the
> > > presence of
> > > > > the NULL_TYPE enum value in java code looks odd to me, as it does
> not
> > > map
> > > > > to any REST API parameters. I hope we can clarify that as part of
> > this
> > > > > effort (perhaps as a separate PR). WDYT?
> > > > >
> > > > > Cheers,
> > > > > Dmitri.
> > > > >
> > > > > On Tue, Jun 24, 2025 at 1:18 PM Pooja Nilangekar <
> > > nilangekar.po...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > As suggested in the PR 1925 <
> > > https://github.com/apache/polaris/pull/1925>,
> > > > > > I wanted to initiate a discussion for the NO_AUTH support. My
> > > apologies for
> > > > > > not starting this discussion sooner.
> > > > > >
> > > > > >
> > > > > > The primary goal is to enable Polaris to federate with catalogs
> > that
> > > permit
> > > > > > authentication-less access, such as the Hadoop Catalog and Hive
> > > Metastore.
> > > > > > This is currently a significant gap. For instance, while we've
> > merged
> > > > > > support for Hadoop federation (1466)
> > > > > > <https://github.com/apache/polaris/pull/1466>, it's not
> > practically
> > > usable
> > > > > > because Hadoop requires either auth-less or Kerberos
> access—neither
> > > of
> > > > > > which Polaris currently supports.
> > > > > >
> > > > > > I propose we tackle this in two phases:
> > > > > >
> > > > > >    1. *Phase 1: Initial Support:* Implement the core
> functionality
> > > to allow
> > > > > >    auth-less connections to external catalogs.
> > > > > >    2. *Phase 2: Connection Type Validation (Future Enhancement):*
> > > Introduce
> > > > > >    a mapping between connection types and their allowed
> > > authentication
> > > > > >    methods. This would allow Polaris to validate and reject
> > > unsupported
> > > > > >    combinations upfront, providing a cleaner user experience.
> > > > > >
> > > > > > I believe it's safe to defer Phase 2 because any incorrect
> > connection
> > > > > > attempt will still be rejected by the federated catalog's server.
> > > > > >
> > > > > > Please let me know your thoughts on this approach or if you can
> > > think of
> > > > > > any alternative ways to support auth-less connections.
> > > > > >
> > > > > > Thanks,
> > > > > > Pooja
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to