Skip to content

Conversation

dimas-b
Copy link
Contributor

@dimas-b dimas-b commented Sep 18, 2025

This change builds on top of #2589 and further prepares Polaris code to
support non-STS S3 implementations for #2589.

For S3 implementations that do have STS, this change enables clients to
run with local credentials (no credential vending) and still receive
endpoint configuration from the catalog.

  • Call SupportsCredentialDelegation.getAccessConfig() on all relevant
    create/load requests (previously it was called only when
    vended-credentials was requested

  • Always sent AccessConfig.extraProperties() to clients

  • Expose credentials to clients only when the vended-credentials access
    delegation mode is requested.

  • There is not client-visible behaviour change for implementations of
    PolarisStorageIntegration that do not produce "extra" AccessConfig
    properties.

In preparation for implementing sending non-credential config
to REST Catalog clients for apache#2207 this PR unifies calls paths
for create/load table operations.

This change does not have any differences in authorization.

This change is not expecte to have any material behaviour
differences to the affected code paths.

The main idea is to consolidate decision-making for that
to include into REST responses and use method parameters
like `EnumSet<AccessDelegationMode> delegationModes` for
driving those decisions.
This change builds on top of apache#2589 and further prepares Polaris code to
support non-STS S3 implementations for apache#2589.

For S3 implementations that do have STS, this change enables clients to
run with local credentials (no credential vending) and still receive
endpoint configuration from the catalog.

* Call `SupportsCredentialDelegation.getAccessConfig()` on all relevant
  create/load requests (previously it was called only when
  `vended-credentials` was requested

* Always sent `AccessConfig.extraProperties()` to clients

* Expose credentials to clients only when the `vended-credentials` access
  delegation mode is requested.

* There is not client-visible behaviour change for implementations of
  `PolarisStorageIntegration` that do not produce "extra" `AccessConfig`
  properties.
@github-project-automation github-project-automation bot moved this to PRs In Progress in Basic Kanban Board Sep 18, 2025
@dimas-b dimas-b changed the title Non sts s3 Always propagate non-credential properties from AccessConfig to clients Sep 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant