This page is for the person who deployed the Enclave appliance and completed first-boot setup. That account has access to Admin → Platform Infra → Storage to configure infrastructure. If you are an organisation owner connecting your own S3 bucket (BYOS), see Storage instead.
Overview
The appliance needs a storage backend to persist encrypted file data. All data written to storage is ciphertext only — the appliance encrypts every file before it leaves the application layer.
Configuration is done at Admin → Platform Infra → Storage.
AWS S3 — end to end
Step 1 — Create an S3 bucket
- Sign in to the AWS Console → navigate to S3 → Create bucket
- Enter a bucket name (e.g.
enclave-platform-storage) and choose an AWS region - Keep Block all public access enabled (default)
- Leave other settings as default, or enable versioning and server-side encryption if your security policy requires it
- Click Create bucket — note the bucket name and region; you will enter these in Enclave
Choose your authentication method
The appliance runs on VMware and has no EC2 instance profile. Two options are available:- Assume Role (recommended)
- Static Credentials
The appliance authenticates using a dedicated IAM user and then assumes a role that holds the S3 permissions. Credentials for S3 access are never stored — only the base user credentials and the role ARN.
Step 2 — Create a dedicated IAM user for the appliance
Step 3 — Create an IAM role for S3 access
Step 4 — Set the trust policy to allow the appliance user to assume this roleReplace
Step 4b — Allow the appliance user to call AssumeRoleIf the user already has an inline policy from KMS setup, add this statement to the existing policy’s
Step 4c — Attach S3 permissions to the roleReplace
Step 5 — Configure in Enclave AdminLog in to the Admin Panel → go to Admin → Platform Infra → Storage → Add Storage:
If you already created an
enclave-appliance IAM user for the KMS Assume Role setup, skip Step 2 and reuse that user. You only need to add the new AssumeRole permission in Step 4b.Step 2 — Create a dedicated IAM user for the appliance
- In the AWS Console, go to IAM → Users → Create user
- User name:
enclave-appliance(or any name you prefer) - On the Set permissions step, do not attach any permissions — click Next
- Click Create user
- Open the new user → Security credentials tab → Create access key
- Choose “Application running outside AWS” → click Next → Create access key
- Save the Access Key ID and Secret Access Key — you will need these in Step 5
Step 3 — Create an IAM role for S3 access
- Go to IAM → Roles → Create role
- Trusted entity type: AWS account → This account (same account as the user)
- Click Next — do not attach any permissions yet
- Role name:
enclave-s3-role(or any name you prefer) - Click Create role
Step 4 — Set the trust policy to allow the appliance user to assume this role
- Open the
enclave-s3-rolerole → Trust relationships tab → Edit trust policy - Replace the entire content with:
YOUR_ACCOUNT_ID with your 12-digit AWS account ID. Because the principal is an IAM user (not a role), AWS validates it immediately — no “Invalid principal in policy” error.- Click Update policy
Step 4b — Allow the appliance user to call AssumeRole
- Go to the
enclave-applianceuser → Permissions tab → Add permissions → Create inline policy - JSON editor — paste:
Statement array instead of creating a new one.- Name the policy
enclave-assume-s3-role→ Create policy
Step 4c — Attach S3 permissions to the role
- Go back to the
enclave-s3-rolerole → Permissions tab → Add permissions → Create inline policy - JSON editor — paste:
YOUR_BUCKET_NAME with your bucket name from Step 1.- Name the policy
enclave-s3-permissions→ Create policy - Copy the Role ARN from the role Summary page — you will need it in Step 5
Step 5 — Configure in Enclave AdminLog in to the Admin Panel → go to Admin → Platform Infra → Storage → Add Storage:
Click Test Connection — a successful test confirms the role assumption and a live S3 head-check.Click Save → then Activate on the storage row.
S3-compatible stores (MinIO, Ceph Object Gateway, Wasabi, Backblaze B2) work with Static Credentials. Set Endpoint to the store’s S3-compatible API URL and leave Region as the closest AWS region or the region your store is configured with.
NFS
NFS is the recommended option for fully on-premise or air-gapped deployments without cloud object storage.Prerequisites
- NFS v3 or v4 share exported and mountable from the appliance VM
- The share must be mounted on the appliance before configuring storage in Enclave — the appliance does not mount NFS shares itself
- Read/write permissions for the
enclaveprocess user on the mount point
Mount the NFS share on the appliance
SSH into the appliance VM and mount the share:/etc/fstab:
Configure in Enclave
Go to Admin → Platform Infra → Storage → Add Storage → select NFS:
Click Test Connection, then Save and Activate.
Local Disk
Local disk writes encrypted file data directly to the appliance VM’s disk. Suitable for evaluation only. Go to Admin → Platform Infra → Storage → Add Storage → select Local Disk:
The path must exist and be writable before saving.
Activating
After saving, the backend must be activated before the appliance routes file uploads to it:- In Admin → Platform Infra → Storage, locate the saved backend
- Click Activate
- The appliance immediately begins using this backend for all new file uploads