Package org.apache.iceberg.gcp.auth
Class GoogleAuthManager
java.lang.Object
org.apache.iceberg.gcp.auth.GoogleAuthManager
- All Implemented Interfaces:
AutoCloseable,AuthManager
An authentication manager that uses Google Credentials (typically Application Default
Credentials) to create
GoogleAuthSession instances.
This manager can be configured with properties such as:
gcp.auth.credentials-path: Path to a service account JSON key file. If not set, Application Default Credentials will be used.gcp.auth.scopes: Comma-separated list of OAuth scopes to request. Defaults to "https://www.googleapis.com/auth/cloud-platform".
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncatalogSession(RESTClient sharedClient, Map<String, String> properties) Returns a long-lived session tied to the catalog's lifecycle.voidclose()Closes the manager.contextualSession(SessionCatalog.SessionContext context, AuthSession parent) Returns a session for a specific context.initSession(RESTClient initClient, Map<String, String> properties) Initializes and returns a short-lived session, typically for fetching configuration.name()tableSession(TableIdentifier table, Map<String, String> properties, AuthSession parent) Returns a session for a specific table or view.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.iceberg.rest.auth.AuthManager
tableSession
-
Field Details
-
DEFAULT_SCOPES
- See Also:
-
GCP_CREDENTIALS_PATH_PROPERTY
- See Also:
-
GCP_SCOPES_PROPERTY
- See Also:
-
-
Constructor Details
-
GoogleAuthManager
-
-
Method Details
-
name
-
initSession
Initializes and returns a short-lived session, typically for fetching configuration. This implementation reuses the long-lived catalog session logic.- Specified by:
initSessionin interfaceAuthManager
-
catalogSession
Returns a long-lived session tied to the catalog's lifecycle. This session uses Google Application Default Credentials or a specified service account.- Specified by:
catalogSessionin interfaceAuthManager- Parameters:
sharedClient- The long-lived RESTClient (not used by this implementation for credential fetching).properties- Configuration properties for the auth manager.- Returns:
- A
GoogleAuthSession. - Throws:
UncheckedIOException- if credential loading fails.
-
contextualSession
Returns a session for a specific context. Defaults to the catalog session. For GCP, tokens are typically not context-specific in this manner.- Specified by:
contextualSessionin interfaceAuthManager
-
tableSession
public AuthSession tableSession(TableIdentifier table, Map<String, String> properties, AuthSession parent) Returns a session for a specific table or view. Defaults to the catalog session.- Specified by:
tableSessionin interfaceAuthManager
-
close
public void close()Closes the manager. This is a no-op for GoogleAuthManager.- Specified by:
closein interfaceAuthManager- Specified by:
closein interfaceAutoCloseable
-