Store files in Amazon S3
This guide explains how to store the uploaded files of Casdoor, such as avatars, in Amazon S3.
Learning outcomes
- Create an access key and prepare the bucket.
- Add Amazon S3 as a storage provider in Casdoor.
- Serve the files through a VPC endpoint or CloudFront.
What you need
- An AWS account and an S3 bucket
- Administrator access to the Casdoor admin console
Prepare AWS
-
Create an access key and a secret access key. See Managing access keys.
-
In the Permissions of the bucket, turn off Block all public access, or add a bucket policy that allows Casdoor, and save.

-
In Object Ownership, turn on ACLs and set the ownership that you need.

Add the provider in Casdoor
-
In the Casdoor admin console, go to Identity > Providers and add a provider.
-
Set Category to
Storageand Type toAWS S3. -
Fill in the fields:
Casdoor field In AWS / S3 Required Client ID Access key Yes Client secret Secret access key Yes Endpoint Endpoint Yes Endpoint (Intranet) VPC endpoint No Bucket Bucket name Yes Path prefix — No Domain CloudFront domain No Region ID AWS region Yes For the format of the endpoint, see Website endpoints.

-
Save the provider.
Optional settings
-
Access through a VPC: Set Endpoint (Intranet) to a VPC endpoint. See Access AWS services through AWS PrivateLink.
-
Delivery through CloudFront: Create a distribution and set Domain to the domain of the distribution.
