← All extensions
Object Storage AWS S3 banner

Object Storage AWS S3

ivyx

Adds AWS S3 to the Object Storage extension so you can browse buckets and move objects

Object Storage AWS S3

Adds AWS S3 to the Object Storage extension, so your buckets show up alongside every other backend you have connected.

What you can do

  • Connect to S3 with an access key and secret, in whichever region you work in
  • Use temporary STS credentials by adding a session token
  • Browse your buckets and objects from the Object Storage panel
  • Download an object into your workspace, and upload a workspace file back
  • Reach a VPC or FIPS endpoint through a custom endpoint, with path-style addressing when you need it

Requirements

The Object Storage extension, installed and enabled, and the desktop app.

This is a provider: it owns the S3 client and the "Connect AWS S3" form, but no panel of its own. Install extension-object-storage alongside it; the hub renders the connections tree, the object list and the transfer panel, and dispatches every operation here.

Getting started

Open Object Storage in the activity bar → +AWS S3.

Field Notes
Region Required, e.g. eu-central-1. The endpoint is derived from it.
Access key ID / Secret access key Stored in the OS keychain, never in a workspace file.
Session token Only for temporary STS credentials (ASIA…). Leave blank otherwise.
Custom endpoint Optional — for VPC or FIPS endpoints. Blank uses the regional default.
Path-style addressing Off by default; only relevant behind a custom endpoint.

Editing an existing connection leaves the secret fields blank — empty means "keep the stored value". Clearing the session token field on an edit drops the stored token, which is what you want when it expires.

Sign-in is key-based. AWS SSO, IAM roles and instance profiles are not supported yet.

How it talks to AWS

The renderer cannot reach an arbitrary origin (the desktop app's CSP pins connect-src), and the S3 object API needs PUT, HEAD and DELETE with raw binary bodies. So this extension ships a small Node helper process: it is spawned on demand via the host's managed-process bridge, listens on 127.0.0.1 behind a per-spawn token, and runs the official AWS SDK — so SigV4 signing, multipart upload and retries are the vendor's implementation, not ours. Downloads stream to a temporary file and are renamed on completion, so an interrupted transfer never leaves a half-written file behind.

That helper is why connections are desktop-only — the browser edition has neither a process bridge nor a persistent secret store.

Two settings are available if the defaults clash with something on your machine: objectStorage.aws.sidecarPort (default 47610) and objectStorage.aws.nodePath (default node; Node 18+ required).

For agents and flows

Six capabilities go through the audited gateway: connect, listBuckets, listObjects, statObject, deleteObject (approval-gated) and disconnect.

Transfers are deliberately not exposed here — they take an absolute host path. Use the hub's object-storage.download / object-storage.upload, which resolve the path and gate the upload.

No capability accepts a credential: keys are entered in the connect form and looked up by connection id, so they never appear in a gateway payload.