AWS S3
About 10 minutes, and creating the bucket and the key costs nothing: this is how you prepare one bucket and one access key pair in AWS S3 for Guyun (you only pay for storage, requests and outbound traffic).
You need an AWS account with a card that supports international payments; you can switch the console language in the top-right corner.
Step by step
-
Step 1
Register an AWS account
- Register at aws.amazon.com: registration asks for a card that supports international payments; skip this step if you already have an account.
-
Step 2
Create the bucket
- In the S3 console choose Create bucket and enter a globally unique name: 3–63 lowercase letters, numbers, hyphens or periods, starting and ending with a letter or number.
- Pick a region close to you (say
us-east-1orap-southeast-1). If Create bucket spins forever and the bucket never appears, switch the region (top right) to Asia Pacific (Singapore)ap-southeast-1and try again — the S3 address of some regions is unreachable on some networks (mainland China, for example), and changing the region fixes it (this is the address Guyun connects to as well). - Keep Bucket namespace at the default Global namespace; keep Block all public access on and leave Object Ownership and the other options at their defaults, then choose Create bucket.
-
Step 3
Create an IAM user and its access key
- In the IAM console open Users → Create user: give it a name only, with no console sign-in.
- Open that user → Security credentials → Create access key, choose Other as the use case; the optional description tag can be left empty (if you do fill it, only letters, digits, spaces and
_ . : / = + - @are accepted — parentheses are rejected). The access key ID and secret access key are shown once, so download or save them now; never use the root account's access key.
-
Step 4
Give the user a minimal policy
- On that user's page open Permissions → Add permissions → Create inline policy and switch the editor to JSON.
- Paste the policy below, replace
your-bucket-namewith your bucket name (two places) and save it.
-
Step 5
Fill it in and test
- In Guyun open Add storage, choose AWS S3 and pick the place, then enter the bucket name, endpoint and key from the table below.
- Then choose Test connection & save.
The minimal policy this user needs
When you create the inline policy in IAM, switch to JSON and paste this:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads"],
"Resource": "arn:aws:s3:::your-bucket-name"
},
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts"],
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
Replace your-bucket-name inside it with your real bucket name (two places). Do not narrow the resource to a single directory — Guyun writes its recycle-bin manifest, device connection log and handover records under the .guyun/ prefix.
Other cases (skip if not needed)
Console addresses: https://console.aws.amazon.com/s3/ and, for IAM, https://console.aws.amazon.com/iam/.
AWS China is a separate setup
- The global site (aws.amazon.com) and the China site (amazonaws.cn) do not share accounts, and the China regions require registering with a Chinese entity; this page covers the global site, and the bucket belongs there too.
Place and endpoint
- Once you pick the place, the endpoint is filled in — if your bucket uses a special endpoint, edit it in the HTTPS endpoint field.
- The endpoint is the host name only — no bucket name and no path.
Cost and account safety
- Billing is by usage: storage, requests and outbound traffic are charged separately.
- AWS changed the free-tier rules for new accounts in 2025 — check the AWS website for the current terms.
- Turn on MFA for the root account, and do not use root access keys day to day (the IAM user you created is limited to this one bucket).
Official sources
- Creating a bucket (S3 User Guide) (opens in a new tab)
- Inline policies and access keys (IAM User Guide) (opens in a new tab)
Copy these values
They go into the matching fields on Guyun's "Add storage" screen: Place: pick the entry that matches your bucket's region in the app (for example us-east-1 or ap-southeast-1; the list has 21 common regions) — the region and the HTTPS endpoint are filled in for you.
| This value | Where it goes in Guyun |
|---|---|
| Bucket name The name you just created, e.g. your-bucket-name. | Bucket name |
Endpointhttps://s3.<region>.amazonaws.com, e.g. https://s3.ap-southeast-1.amazonaws.com. | Endpoint |
| Key The access key ID and secret access key of that IAM user. | Access key ID and secret access key |
How to tell it worked
- The connection test passes, which means the key can read this bucket; Guyun only lists the root directory and changes nothing.
- The storage then appears in Guyun's list, and you can open it to see the files in the bucket.
- If it fails, see common errors.
Go back to Guyun and choose Test connection & save.