Google Cloud Storage
Google Cloud Storage speaks S3 through what Google calls its interoperability API. The endpoint is fixed and the credentials are HMAC keys — not the service account JSON most GCP documentation points you to. That single distinction accounts for most failed first connections.
Connection settings
- Endpoint
- https://storage.googleapis.com
- Default region
- auto
- Addressing
- Path-style
- Temporary credentials
- Not applicable
A filled-in example
Every value below is fabricated — they are shaped like real Google Cloud Storage credentials so you can recognise yours, and they authenticate nothing.
- Endpoint
- https://storage.googleapis.com
- Region
- auto
- Access key
- GOOG1EEXAMPLEACCESSKEY0123456789
- Secret key
- EXAMPLEhmacSecretDoNotUse0123456789abcdef
- Addressing
- Path-style
HMAC access keys always start with GOOG1E, which is a quick way to tell you picked up the right credential type.
Where each value comes from
Endpoint
Use the fixed endpoint: https://storage.googleapis.com
Credentials
In GCP Console → Cloud Storage → Settings → Interoperability, generate HMAC keys. These are different from service account keys.
Notes
You must enable the Interoperability API in your GCP project settings. HMAC credentials are not the same as standard GCP service account credentials.
What usually goes wrong
Interoperability has to be switched on first
In the GCP console, Cloud Storage → Settings → Interoperability. Until it is enabled the endpoint answers, but every request is rejected — which reads like bad credentials rather than a disabled API.
Service account keys are not HMAC keys
The JSON file you download for a service account cannot be used here. HMAC keys are generated separately on the same Interoperability tab, and can be attached to either a user or a service account.
The S3 surface is a subset
Google implements the parts of the S3 API that map onto its own model. Core browsing, upload and download behave normally; the further you go into tagging, versioning details or multipart edge cases, the more likely you are to hit something unimplemented.
Regions available in the app
autouseuasia