Skip to content

S3 IO cannot write to GCS HMAC S3-compatible interop (SignatureDoesNotMatch)Β #1422

Description

@badalprasadsingh

Apache Iceberg version

main (development)

Please describe the bug 🐞

When the S3 IO backend (io/gocloud) is pointed at a non-AWS S3-compatible endpoint that supports the AWS SigV4 HMAC interop API but is not Amazon S3 itself β€” most notably Google Cloud Storage's S3-compatible interop endpoint (https://storage.googleapis.com) with HMAC keys β€” every write fails with:

operation error S3: PutObject, https response error StatusCode: 403,
RequestID: , HostID: ,
api error SignatureDoesNotMatch: Access denied.

(Empty RequestID/HostID is characteristic of the GCS interop response.)

This affects any iceberg-go user with a REST catalog (Lakekeeper, Polaris, etc.) whose warehouse is on GCS via HMAC Keys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions