# Setup Private Cloud Storage (AWS S3)

FlytBase supports the upload and storage of media captured during drone operations in a private Amazon S3 bucket. Click [here](https://aws.amazon.com/s3/) to learn more about Amazon S3, and follow the instructions below to set up your own S3 bucket.

### Step 1:  Create/ Sign in your AWS Account

Sign in to your AWS Account here: <https://aws.amazon.com/.> Click on **Create an Account** if an account does not exist.

### Step 2: Create Bucket

Go to the **Bucket** tab in the Amazon S3 console. Click on **Create Bucket** to create a bucket in the preferred region.

<figure><img src="https://lh7-us.googleusercontent.com/qFveXsoUSxiKXQ0hhMXvimBau8hWdYMAAkA8joYFBEiSmZl6PPoH-6zdFH_qy2tEeHo4wHBHo2eTubsJyhLOAAOgczg8vZn9EKRZn3s1V3P2tiouq6cLWOZIgFnc5KPPTS8nIQOAfX3rDogn4zg7tp4" alt=""><figcaption><p>Create a Bucket in the Amazon S3 Console</p></figcaption></figure>

### Step 3: ACL and Object Ownership

Click on **ACLs Enabled** and select the Object Ownership to **Bucket owner preferred**.

<figure><img src="https://lh7-us.googleusercontent.com/5_23McLv0llTvCecrgBpXE31AdArmvXLFy3EMEaWAQwZUvplAwWtEJsUprTiaKBgCFCggVjkZ-30vTgQwC84HQRFFwDeD7U393rV2fDI9vOY5-BVe-UzYS4-AHYRJFz_lNRhOU60Hiac5qzIKuu2H08" alt=""><figcaption><p>Selected options under the Object Ownership tab</p></figcaption></figure>

### Step 4: Edit Block Public Access

Under the **Edit Block public access** tab, enable **Block&#x20;*****all*****&#x20;public access** by checking the square box.

<figure><img src="https://lh7-us.googleusercontent.com/zJGwbcp4N62WAHspcgtJzr2llXa-MGLHyIaCvSXM106RmqDHSRihJbCIN5_5cR0zHrJTNllN0w9sXNpgFYOWWBlgWfq7XhEwxxqGmfAu_6TsS2S824KX-o3envJzIJ-510apEI9w4a65LOK3RQST2jk" alt=""><figcaption><p>Edit Block public access tab</p></figcaption></figure>

### Step 5: Bucket Versioning

Under the **Bucket Versioning** tab, click on **Disable**.

<figure><img src="https://lh7-us.googleusercontent.com/GQfURsaO9i6ea7Kl88Dg_OQK4uQQiFxU4Z5MW8M69x7ob0T63gv_KU4fhjBNz0LZtaQ2JE4AZKuyulc2pEPh6t7uH6pE0nJMDCOMLBoXGDqUlyjT-oSNRKKsmcE9k02t6spxu_AEUZCGRSQGyRfy64c" alt=""><figcaption><p>Bucket Versioning tab</p></figcaption></figure>

### Step 6: Configuring Default Encryption

Now, under the Default Encryption tab, set the following options:

* For **Encryption type**, select **Server-side encryption with Amazon S3 managed keys (SSE-S3)**
* Set **Bucket Key** to **Enable**

Set the Encryption type to Server-side encryption with Amazon S3 managed keys (SSE-S3) and Bucket Key to Enable.

<figure><img src="https://lh7-us.googleusercontent.com/jtvZcp6QyCJwjeHgdtrPY54OB3N0THntd6xLtJ1pvXeHIaTJU9JMwHU86uPrNQAewQ796xUajxdsmvEqEZx3hXbvtcd9fNzWDd5IS5ifYKPe8OrfXcbas3M2O5stC_aLDGBjWhrWNwcXRz3OG96JWko" alt=""><figcaption><p>Default Encryption tab</p></figcaption></figure>

### Step 7: Enable Transfer acceleration

Once the Bucket has been successfully created, navigate to **Bucket Name** -> **Properties** -> **Transfer acceleration** and edit it to **Enabled**.

<figure><img src="https://lh7-us.googleusercontent.com/NJshSPFHSTAlISIirPX-LtPdS5HznDX-pY6Kz1povJMXs5sxBkgWsRdiaXqsXWFNH2LR2meJxQ7MXDWZQqyFCDdqButmPYNonQq7_Q_T6qM9c3AIYnY3HsVvBCMrlrNhkNeECR4bTAztljJdvrxbRAE" alt=""><figcaption><p>Transfer acceleration set to enabled</p></figcaption></figure>

### Step 8: Editing Bucket Policy

Navigate to **Bucket Name** -> **Permissions** -> **Bucket Policy**. Paste the following JSON code snippet, and replace **Bucket\_Name** with the actual name of the Bucket.

```json
{
    "Version": "2012-10-17",
    "Id": "Policy1586431420805",
    "Statement": [{
        "Sid": "Stmt1586431413927",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::805060674250:user/storage-flytbase"
        },
        "Action": "*",
        "Resource": [
            "arn:aws:s3:::Bucket_Name",
            "arn:aws:s3:::Bucket_Name/*"
        ]
    }]
}
```

### Step 9: Update CORS Configuration

Now, proceed to **Bucket Name** -> **Permissions** -> **CORS Configuration**. To update the CORS Configuration, you will need your FlytBase Organization URL.&#x20;

For instance, if your Organization's URL is **org\_sub\_domain.flytbase.com**, then update the **AllowedOrigins** array as follows:

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "https://org_sub_domain.flytbase.com/*"
        ],
        "ExposeHeaders": [],
        "MaxAgeSeconds": 1800
    }
]

```

### Step 10: Inform FlytBase Support for S3 Bucket Activation

Once you have completed all the steps, please share the **Bucket Name** and the **AWS Region ID** to <support@flytbase.com>. Our Support team will then link your AWS S3 Bucket to your Organization.

***

After creating your Organization, and linking an AWS S3 Bucket to it, the media files captured during flights will be uploaded to your private cloud storage automatically.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flytbase.com/getting-started-with-your-flytbase-account/setup-private-cloud-storage-aws-s3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
