Class DefaultPolarisCredentialManager

java.lang.Object
org.apache.polaris.service.credentials.DefaultPolarisCredentialManager
All Implemented Interfaces:
org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor, org.apache.polaris.core.credentials.PolarisCredentialManager

@RequestScoped @Identifier("default") public class DefaultPolarisCredentialManager extends Object implements org.apache.polaris.core.credentials.PolarisCredentialManager
Default implementation of PolarisCredentialManager responsible for retrieving credentials used by Polaris to access external systems such as remote catalogs or cloud storage.

This implementation delegates to ConnectionCredentialVendor implementations selected via CDI based on the authentication type. Each vendor handles the credential transformation logic for a specific authentication mechanism (e.g., SigV4, OAuth).

This bean is request-scoped and realm-aware, delegating all credential generation to CDI-managed vendors.

Flow:

  1. Selects the appropriate ConnectionCredentialVendor based on the authentication type
  2. Delegates to the vendor to generate the final connection credentials (the vendor will resolve the service identity internally)
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultPolarisCredentialManager(org.apache.polaris.core.context.RealmContext realmContext, jakarta.enterprise.inject.Instance<org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor> credentialVendors)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.polaris.core.credentials.connection.ConnectionCredentials
    getConnectionCredentials(org.apache.polaris.core.connection.ConnectionConfigInfoDpo connectionConfig)
     
    org.apache.polaris.core.context.RealmContext
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DefaultPolarisCredentialManager

      @Inject public DefaultPolarisCredentialManager(org.apache.polaris.core.context.RealmContext realmContext, @Any jakarta.enterprise.inject.Instance<org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor> credentialVendors)
  • Method Details

    • getRealmContext

      public org.apache.polaris.core.context.RealmContext getRealmContext()
    • getConnectionCredentials

      @Nonnull public org.apache.polaris.core.credentials.connection.ConnectionCredentials getConnectionCredentials(@Nonnull org.apache.polaris.core.connection.ConnectionConfigInfoDpo connectionConfig)
      Specified by:
      getConnectionCredentials in interface org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor