Amazon S3 Bring your own bucket

SFTP to Amazon S3, at a flat monthly price

Partners log in over SFTP, FTPS or FTP. Their files land in your own S3 bucket, one folder per user, written with an IAM key that can only reach that bucket. No Transfer Family endpoint billed by the hour.

Amazon S3 with CloudFile, at a glance.

Endpointhttps://s3.<region>.amazonaws.com, filled in from the region
URL styleVirtual-hosted (bucket.s3.<region>.amazonaws.com)
CredentialsAccess key of an IAM user with an inline policy for one bucket
RegionsAny S3 region. The form suggests Frankfurt, Ireland, London, Paris, Stockholm, US and Asia-Pacific regions.
Pricing modelStorage per GB-month, plus requests. Data in is free; the first 100 GB a month out to the internet is free across AWS, then billed per GB.
Object LockSupported, on versioned buckets, in governance or compliance mode

Amazon S3 prices are from their public website as of October 2026, excluding taxes. Your bucket is billed by Amazon S3, not by us, and doesn't count toward your plan's storage.

Why pair SFTP with Amazon S3.

  • Files stay in your AWS account

    Your bucket policy, default encryption and lifecycle rules apply to partner uploads like to anything else in S3, and you can move old files to cheaper storage classes as usual.

  • S3 events still work

    Uploads are ordinary S3 objects, so S3 Event Notifications to Lambda, SQS or EventBridge keep working. CloudFile's signed webhooks are there if you'd rather not wire those up.

  • No hourly endpoint fee

    AWS Transfer Family bills each enabled protocol by the hour. CloudFile runs SFTP, FTPS, FTP and WebDAV on one server for a flat monthly price.

  • WORM backups with Object Lock

    Pair a versioned, Object Lock bucket with an SFTP user that can't delete or overwrite, and a compromised backup client can't destroy old backups.

How it works, in three steps.

  1. Step 1

    Create a bucket and an IAM key

    Keep Block Public Access on. Create an IAM user with an inline policy for s3:ListBucket on the bucket and Get/Put/Delete/AbortMultipartUpload on its objects.

    arn:aws:s3:::acme-sftp arn:aws:s3:::acme-sftp/*
  2. Step 2

    Connect it in CloudFile

    Storage → Add bucket → Amazon S3. Pick the region, paste the key and run Test connection, then select the bucket on a server.

    Amazon S3 eu-central-1 acme-sftp ✓ test passed
  3. Step 3

    Partners upload, S3 receives

    Each SFTP user writes to its own prefix. A signed webhook with a presigned S3 link fires on every upload.

    acme → s3://acme-sftp/partners/acme/PO-4821.xml

Every click and field is in the Amazon S3 setup guide.

What your partners see, and where it lands in Amazon S3.

Partner's terminal$ sftp -P 22000 [email protected] sftp> put invoice-2026-10.pdf sftp> ls invoice-2026-10.pdfYour Amazon S3 bucket<bucket>/<folder>/acme/invoice-2026-10.pdf <bucket>/<folder>/_shared/inbox/…
  • Any SFTP, FTPS or FTP client: FileZilla, WinSCP, Cyberduck, the sftp command or their own system. WebDAV too, if you turn it on.

  • Their own home folder as /, and nothing else. They never see the bucket name, other users' folders or your keys.

  • A password, an SSH key or both, with the permissions you pick: full access, read only or upload only.

  • Shared folders at /shared/<name> when several users need the same files. They live under _shared/<name>/ in your Amazon S3 bucket.

Get these right in Amazon S3.

  • Leave Object Lock off on a bucket for normal file exchange: it stops SFTP users from deleting or replacing files. Use it only for backup buckets.

  • With versioning on, deleted and overwritten files stay as old versions and keep being billed. Add a lifecycle rule that expires noncurrent versions if you turn it on.

  • If the test fails with a region error, the message names the region AWS expected. The bucket's region must match.

Questions about SFTP on Amazon S3.

How is this different from AWS Transfer Family?

Transfer Family is an AWS service billed per enabled protocol per hour, plus per GB transferred. CloudFile is a separate managed service with a flat monthly price that writes into the same kind of S3 bucket. If you need AS2, EFS, VPC-only endpoints or IAM-based user identities, Transfer Family is the better fit.

Which IAM permissions does the key need?

s3:ListBucket on the bucket ARN, and s3:GetObject, s3:PutObject, s3:DeleteObject and s3:AbortMultipartUpload on the bucket ARN with /*. Nothing account-wide.

Can I trigger a Lambda function when a file arrives?

Yes, either way. Configure an S3 Event Notification on the bucket as usual, or add a CloudFile listener that POSTs to a function URL with an HMAC signature and a presigned download link.

Does the bucket need to be public?

No. Keep Block Public Access on. Download links in webhooks are presigned and expire after one hour.

More in the docs: Amazon S3 setup · Your own bucket · Webhooks

Other providers work the same way.

Connect your Amazon S3 bucket in a minute. Free for 7 days, no card needed.