Connect a RAG data source
A data source keeps files from an S3-compatible bucket or Azure Blob container synchronized with a RAG endpoint.
Fields
These fields apply to both providers:
| Field | Description |
|---|---|
| Name | Display name used in the portal |
| Prefix | Optional path inside the bucket or container, such as knowledge-base/. Leave blank to sync all files |
| Sync interval | How often the RAG re-reads the source. Choose Manual, 10 minutes, 1 hour, 1 day, 7 days, or a custom interval of at least 60 seconds |
The default sync interval is 1 day. A manual source can be synchronized from its Sync action.
S3 fields
| Field | Description | Example |
|---|---|---|
| Endpoint | S3 API endpoint, including https:// | https://s3.eu-west-1.amazonaws.com |
| Region | Region containing the bucket | eu-west-1 |
| Bucket | Bucket name without a path or URL | company-documents |
| Access key ID | Access key for an identity allowed to list and read the bucket | AKIA... |
| Secret access key | Secret for the access key ID | Shown only when the key is created |
For another S3-compatible provider, use the endpoint, region, and access keys supplied by that provider.
Azure Blob fields
| Field | Description | Example |
|---|---|---|
| Container | Container name without a path or URL | company-documents |
| Connection string | Azure Storage connection string containing the account credentials | DefaultEndpointsProtocol=https;AccountName=... |
Before you start
You need:
- Admin access to the RAG endpoint in the portal
- Permission to create or manage the source storage and its credentials
- A source endpoint reachable from the RAG deployment
The source endpoint must resolve to a public address. Keep the bucket or container private; public object access is not required.
Set up Amazon S3
Already have a bucket? Start at step 2. Already have the policy? Start at step 3. Already have an access key with the required policy? Start at step 4.
1. Create a bucket
- Open the Amazon S3 console and select Create bucket.
- Select General purpose as the bucket type.
- Enter a unique bucket name.
- Select the AWS region closest to the RAG deployment. Record its region code, such as
eu-west-1. - Keep Block all public access enabled.
- Select Create bucket.
- Open the bucket and upload the files to synchronize.
See Create a bucket for all AWS bucket options.
2. Create a read-only IAM policy
The connector uses these permissions:
s3:ListBucketto find objectss3:GetObjectto inspect and download objects
Create a policy for only the source bucket:
- Open the IAM console.
- Select Policies → Create policy.
- Select JSON and enter the policy below.
- Replace both instances of
company-documentswith the bucket name. - Select Next, name the policy, and select Create policy.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::company-documents"
},
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::company-documents/*"
}
]
}
If the objects use an AWS KMS customer-managed key, also allow kms:Decrypt on that key.
See Create an IAM policy for the full AWS procedure.
3. Create the connector identity and key
- In the IAM console, select Users → Create user.
- Enter a name such as
confidentialmind-rag-reader. Console access is not needed. - On the permissions step, attach the policy created above.
- Create the user, open it, then select Security credentials.
- Under Access keys, select Create access key.
- Select Other → Next → Create access key.
- Copy the Access key ID and Secret access key, or download the CSV. The secret cannot be retrieved later.
The AWS administrator performing these steps needs s3:CreateBucket, iam:CreatePolicy, iam:CreateUser,
iam:AttachUserPolicy, and iam:CreateAccessKey, plus the read and list actions used by the AWS console. The
credentials given to the portal need only the S3 permissions in the policy above.
See Create an IAM user and Create an access key for the corresponding AWS instructions.
4. Add the source in the portal
- Open RAG endpoints and select the endpoint.
- Open the Files tab and select Add source.
- Select S3.
- Enter a name.
- Set Endpoint to the regional S3 endpoint. For example, use
https://s3.eu-west-1.amazonaws.comforeu-west-1. See the S3 endpoint list. - Enter the region code and bucket name.
- Enter a prefix to limit synchronization to that path, or leave it blank.
- Enter the access key ID and secret access key.
- Select a sync interval.
- Wait for Connection succeeded, then select Create.
If the test connects but cannot read an object, check the bucket name, prefix, IAM policy, and KMS permissions.
Set up Azure Blob Storage
Already have a storage account? Start at step 3. Already have a container? Start at step 4. Already have the container name and connection string? Start at step 5.
1. Check your Azure permissions
To create a storage account, you need a role such as Contributor on the target resource group. To view its
connection strings, your role must include Microsoft.Storage/storageAccounts/listkeys/action. Owner,
Contributor, and Storage Account Key Operator Service Role include this action.
See Manage storage account access keys for the Azure permission details.
2. Create a storage account
- Open the Azure portal and select Storage accounts → Create.
- Select the subscription and resource group.
- Enter a unique storage account name and select a region.
- Select Standard performance unless the workload requires Premium storage.
- Select the required redundancy option.
- Under Advanced, keep Allow storage account key access enabled.
- Under Networking, enable public network access. Choose one of these scopes:
- Enable from all networks.
- Enable from selected virtual networks and IP addresses, then allow the RAG deployment's outbound IP.
- Select Review + create → Create.
- When deployment finishes, select Go to resource.
Private endpoints are not currently supported by this connector. Public network access does not make blobs public; access still requires the connection string.
See Create a storage account and Azure Storage network security for all account and network options.
3. Create a container
- In the storage account, select Data storage → Containers.
- Select + Container.
- Enter a lowercase container name.
- Set Anonymous access level to Private (no anonymous access).
- Select Create.
- Open the container and upload the files to synchronize.
See Manage blob containers for all container options.
4. Copy the connection string
- In the storage account, select Security + networking → Access keys.
- Select Show keys and copy a Connection string from either key.
An account-key connection string grants full access to the storage account data, although the connector only lists and downloads blobs. Use a dedicated storage account if the credential should not cover unrelated data. Store the connection string as a secret and rotate it if it is exposed.
5. Add the source in the portal
- Open RAG endpoints and select the endpoint.
- Open the Files tab and select Add source.
- Select Azure Blob Storage.
- Enter a name.
- Enter the container name.
- Enter a prefix to limit synchronization to that path, or leave it blank.
- Paste the connection string.
- Select a sync interval.
- Wait for Connection succeeded, then select Create.
If the test connects but cannot read a blob, check the container, prefix, network rules, and connection string.