Skip to content

Feature Request: Allow iceberg secret to use credential_chain #413

@kevinjqliu

Description

@kevinjqliu

Context

The credential_chain provider is currently supported for the S3 secret type and other storage secrets:
https://duckdb.org/docs/stable/core_extensions/iceberg/amazon_s3_tables#connecting-to-amazon-s3-tables

CREATE SECRET (
    TYPE s3,
    PROVIDER credential_chain
);

However, for iceberg secrets, I currently have to explicitly specify OAuth2 credentials such as a bearer token or client_id/client_secret:
https://duckdb.org/docs/stable/core_extensions/iceberg/iceberg_rest_catalogs

CREATE SECRET iceberg_secret (
    TYPE ICEBERG,
    TOKEN 'bearer_token'
);

ATTACH 'warehouse' AS iceberg_catalog (
   TYPE iceberg,
   SECRET iceberg_secret, -- pass a specific secret name to prevent ambiguity
   ENDPOINT https://rest_endpoint.com
);

Proposal

Add support for PROVIDER credential_chain to the iceberg secret type to simplify credential management. This would allow credentials to be resolved dynamically (e.g., via environment, instance metadata, or shared profiles), just like with S3 secrets:

CREATE SECRET iceberg_secret (
    TYPE ICEBERG,
    PROVIDER credential_chain
);

This would make it easier to integrate with cloud environments without hardcoding or manually refreshing tokens.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions