> ## Documentation Index
> Fetch the complete documentation index at: https://labs.laer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload from cloud storage

Epiq AI integrates with external storage systems to collect or store data.

Currently, Epiq AI supports the following storage systems:

* [Amazon AWS S3](/product-guides/import-data/upload-data/upload-from-cloud-storage#amazon-aws-s3)
* [Microsoft Azure Blob](/product-guides/import-data/upload-data/upload-from-cloud-storage#microsoft-azure-blob)
* [Google Cloud Storage](/product-guides/import-data/upload-data/upload-from-cloud-storage#google-cloud-storage)
* [SFTP](/product-guides/import-data/upload-data/upload-from-cloud-storage#sftp)
* [NFS](/product-guides/import-data/upload-data/upload-from-cloud-storage#nfs)

Only admins are able to set up storage connections in Epiq AI. Once a connection is created, it can be used across projects within the organization account.

Go to the `Admin Settings`page, click the `Cloud Storage` tab.

<Frame>
  <img src="https://mintcdn.com/epiqai/PTrKqfq7PLU1AcXh/images/storage_list.png?fit=max&auto=format&n=PTrKqfq7PLU1AcXh&q=85&s=7411ece6e9bf6bf6c5876d0f021c989c" alt="" width="2348" height="1176" data-path="images/storage_list.png" />
</Frame>

Admins can create new storage, edit existing storage, or delete storage.

## Amazon AWS S3

### Prerequisites

Before connecting your S3 bucket to AIDA, set up the following:

* Creating an S3 bucket following the [Amazon Simple Storage Service User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html).
* Create an IAM user with **Programmatic access**. See [Creating an IAM user in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) in the AWS Identity and Access Management User Guide.&#x20;
* Create an access key under **Security credentials > Access keys**. Save the access key ID and access key.
* Attach the following role policy to allow the user to access your S3 bucket.&#x20;

```json theme={null}
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::<your_bucket_name>",
                "arn:aws:s3:::<your_bucket_name>/*"
            ]
        }
    ]
}
```

Use the following policy if you intend to use the s3 bucket to store exports from Epiq AI.

```json theme={null}
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::<your_bucket_name>",
                "arn:aws:s3:::<your_bucket_name>/*"
            ]
        }
    ]
}
```

### Set up connection

Select `Add Storage`, enter a storage name, and select `AWS S3` as the `Storage Type`. Fill out the following parameters:

* Bucket Name
* Prefix (Optional)
* Region Name
* Access Key ID
* Access Key

<Frame>
  <img src="https://mintcdn.com/epiqai/EvD16a-ShRZsx03D/images/aws_storage.png?fit=max&auto=format&n=EvD16a-ShRZsx03D&q=85&s=39746eaebd3b3004ed1a375904f49e08" alt="" width="1798" height="1436" data-path="images/aws_storage.png" />
</Frame>

Click `Check Connection` to make sure the connection is set up successfully.

### Upload data from S3 buckets

Select an Amazon AWS S3 storage that you created previously, and copy the **S3 URI** of the file you would like to upload to Epiq AI.&#x20;

Click `Validate URL` verify that the file can be accessed successfully. &#x20;

<Frame>
  <img src="https://mintcdn.com/epiqai/EvD16a-ShRZsx03D/images/aws_upload.png?fit=max&auto=format&n=EvD16a-ShRZsx03D&q=85&s=02cb208d5a78cc4846cf219b89759ca0" alt="" width="1454" height="780" data-path="images/aws_upload.png" />
</Frame>

## Microsoft Azure Blob

### Prerequisites

Before connecting your [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) to Epiq AI, set up the following:

* Create an Azure storage account. See [Create a storage account](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal) in the Microsoft Azure product documentation.
* Get the generated keys in the **Access keys** section in the [Azure Portal](https://portal.azure.com/).
* Create a storage container within your storage account by following the steps to [Upload, download, and list blobs with the Azure portal](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal) in the Microsoft Azure product documentation.

### Set up connection

Enter a storage name, and select `Azure` as the `Storage Type`. Fill out the following parameters:

* Container Name
* Folder (Optional)
* Account Name
* Account Key

<Frame>
  <img src="https://mintcdn.com/epiqai/EvD16a-ShRZsx03D/images/azure_storage.png?fit=max&auto=format&n=EvD16a-ShRZsx03D&q=85&s=b759bdb36c61fde6dfb17ae460b32d48" alt="" width="1784" height="1286" data-path="images/azure_storage.png" />
</Frame>

Click `Check Connection` to make sure the connection is set up successfully.

### Upload data from Azure Blob

Select an Azure storage that you created previously, and copy the **Blob URL** of the file you would like to upload to Epiq AI.&#x20;

Click `Validate URL` verify that the file can be accessed successfully. &#x20;

<Frame>
  <img src="https://mintcdn.com/epiqai/EvD16a-ShRZsx03D/images/azure_upload.png?fit=max&auto=format&n=EvD16a-ShRZsx03D&q=85&s=572e835adb863a120d4bc8e11f7688a6" alt="" width="1390" height="764" data-path="images/azure_upload.png" />
</Frame>

## Google Cloud Storage

### Prerequisites

Before connecting your Google Cloud Storage (GCS) to Epiq AI, set up the following:

* Creating a bucket. See [Creating storage buckets](https://cloud.google.com/storage/docs/creating-buckets) in the Google Cloud Storage guide.&#x20;
* Choose **uniform access control** when choosing the [access control method for the bucket](https://cloud.google.com/storage/docs/access-control).
* Create an IAM Service Account. See [Creating and managing service accounts](https://cloud.google.com/iam/docs/creating-managing-service-accounts).
* Select the predefined **Storage Object Admin** IAM role to add to the service account so that the account can create, access, and delete objects in the bucket.
* Add a condition to the role that restricts the role to access only objects that belong to the bucket you created. You can add a condition in one of two ways:
  * Select **Add Condition** when setting up the service account IAM role, then use the **Condition Builder** to specify the following values:
    * Condition type: `Name`
    * Operator: `Starts with`
    * Value: `projects/_/buckets/<your_bucket_name>`
  * Or, **use a Common Expression Language** (CEL) to specify an IAM condition. For example, set the following: `resource.name.startsWith('projects/_/buckets/<your_bucket_name>')`. See [CEL for Conditions in Overview of IAM Conditions](https://cloud.google.com/iam/docs/conditions-overview#cel) in the Google Cloud Storage guide.
* Create a service account key and download the JSON. Follow the steps for [Creating and managing service account keys](https://cloud.google.com/iam/docs/creating-managing-service-account-keys) in the Google Cloud Identity and Access Management guide.

### Set up connection

Enter a storage name, and select `GCS` as the `Storage Type`. Fill out the following parameters:

* Bucket Name
* Folder (Optional)
* Project ID
* Credentials (service account key)

<Frame>
  <img src="https://mintcdn.com/epiqai/5-Xpsc0dxL4Alr7A/images/gcs_storage.png?fit=max&auto=format&n=5-Xpsc0dxL4Alr7A&q=85&s=9ebb185f2eefe0be173c912d95592709" alt="" width="1782" height="1418" data-path="images/gcs_storage.png" />
</Frame>

Click `Check Connection` to make sure the connection is set up successfully.

### Upload data from GCS

Select a GCS storage that you created previously, and copy the **gsutil URI** of the file you would like to upload to Epiq AI.&#x20;

Click `Validate URL` verify that the file can be accessed successfully.&#x20;

&#x20;

<Frame>
  <img src="https://mintcdn.com/epiqai/5-Xpsc0dxL4Alr7A/images/gcs_upload.png?fit=max&auto=format&n=5-Xpsc0dxL4Alr7A&q=85&s=b4783869c23158f5f6ad93eff0227c7a" alt="" width="1394" height="762" data-path="images/gcs_upload.png" />
</Frame>

### SFTP

The following fields are available for configuring an SFTP storage:

* **Host:** The domain name or IP address of the SFTP server.
* **Port:** The port on which the SFTP server is listening. The default SFTP port is 22.
* **Username:** The username for authenticating with the SFTP server.
* **Password:** The password for authenticating with the SFTP server.
* **Private Key File:** upload the private key used for authentication.
* **Root Path:** The root directory path within the SFTP server. This defines the base folder for storage operations.

### NFS

The following fields are available for configuring an NFS storage:

* **Folder**: local directory path to an NFS share drive. The default root path for the NFS directory is under `/raw-data`
