Object Storage Service (OSS) Configuration
Cloud and the embedded Local Service can use platform object storage. A tenant administrator can also connect tenant-owned Qiniu, AWS S3, or another S3-compatible service. New media stored in a tenant-owned bucket uses that cloud account's storage and download traffic.
Availability
Cloud and authenticated LAN Service connections support this feature. Tenant administrators manage tenant-owned storage; system administrators manage platform storage and tenant policies. The app's direct Local connection and customer users do not display the management entry. To manage the embedded Local Service, connect to it as a LAN Service using 127.0.0.1 or its actual address, even on the same device.
Storage types
- Platform storage: locations provided by a system administrator, such as local disk, Mainland China, or Global. A tenant administrator can view and select these entries but cannot edit or delete them. Cloud platform storage counts against the tenant's platform quota; the embedded service does not yet enforce a total platform quota. Its Local disk profile is always read-only.
- Tenant-owned storage (BYOS): Qiniu or S3-compatible storage created by the tenant administrator. It can be edited, connection-tested, and selected manually. BYOS does not consume the Cloud platform quota, but single-file limits still apply and the tenant's cloud account pays the storage and transfer charges.
Each media item records the storage profile that physically contains it. Changing the selection affects only future uploads; existing media is not moved.
System administration and tenant policy
A system administrator can add and maintain platform Qiniu/S3 profiles and choose the default platform storage. Cloud system administrators can also choose the legacy-client Qiniu profile and country routes. Platform credentials are never shown to tenant administrators.
A system administrator can set a tenant to Tenant-owned storage only (BYOS_ONLY). This policy has the highest priority and may be enabled before the tenant creates a profile. In that case, new uploads clearly ask the tenant to configure tenant-owned storage. If valid tenant profiles already exist, the first available profile is selected automatically. Existing media stored on a platform remains readable and deletable.
Automatic and manual selection
Open Account Settings → Configuration management → Object Storage Service (OSS). At the top of the page, choose:
- Automatic selection: Cloud recommends a platform location from the country or region in the tenant profile and falls back to the system default. The embedded Local Service does not use country routing; AUTO always uses the platform default chosen by its system administrator.
- Manual selection: explicitly choose an available platform location or tenant-owned profile. Use this when the region recommendation is unsuitable, when testing a new platform location, or when using BYOS.
- Restore automatic selection: return to the system recommendation. This still affects only new uploads.
The page shows the recommended and currently resolved selection. A platform entry marked Not selectable remains available for existing media but cannot receive new uploads.
Prepare tenant-owned storage
Create a bucket first and prepare an Access Key and Secret Key limited to that bucket. The policy should allow:
- PutObject and multipart upload operations;
- object existence and metadata checks;
- GetObject and DeleteObject;
- aborting incomplete multipart uploads.
Tenant-owned storage is excluded from the platform's scheduled bucket scans and unused-object cleanup. User-requested media deletion, upload cancellation, and removal of connection-test objects still work normally.
Use a dedicated sub-account with least privilege. Do not use root-account credentials or send a Secret Key through chat, email, or screenshots.
Cloud encrypts saved credentials. The embedded Local Service stores credentials in its local database, so protect the device, database backups, and administrator accounts. Configure HTTPS yourself when using LAN Service on an untrusted network or over the Internet so credentials are not exposed in transit. If TLS terminates at a reverse proxy, preserve the original Host and forward X-Forwarded-Proto: https; otherwise generated upload and gallery URLs may fall back to HTTP.
The connection test creates a very small temporary object, checks it, and then attempts to delete it. Test credentials therefore also need upload, metadata-check, and delete permissions.
Add Qiniu storage
Select Add object storage, choose Qiniu Cloud, and enter:
| Field | Description |
|---|---|
| Name | A recognizable name, such as “Shanghai Qiniu.” |
| Description | Optional purpose or owner information. |
| Endpoint | The S3-compatible endpoint for the bucket region. |
| Region | The region containing the bucket. |
| Bucket | The existing bucket name. |
| Access Key / Secret Key | Credentials limited to the required bucket permissions. |
| Public base URL | A complete http:// or https:// media-access URL. |
Run Test connection before saving. Testing and saving are independent; a successful test does not create the profile.
Add S3-compatible storage
Choose S3-compatible storage. Standard AWS S3 requires Region, Bucket, Access Key, and Secret Key; Endpoint is normally empty.
Alibaba Cloud OSS, Tencent Cloud COS, Huawei Cloud OBS, and other compatible services use the same provider. Follow the vendor documentation for:
- Endpoint: normally required outside standard AWS S3.
- Public base URL: optional; enter a full URL when using a CDN or custom domain.
- Path-style access: normally disabled for AWS; enable only when the service explicitly requires it.
For AWS console, IAM, CORS, and field examples, see Create and Configure an AWS S3 Bucket.
Web CORS
Native mobile and desktop apps are not subject to browser CORS. For direct or multipart uploads from the Web management app, allow PUT from the management-app origin and allow the headers required by the signature. Otherwise, the server-side connection test may pass while browser uploads fail.
Edit and rotate credentials
Saved credentials are never filled back into the form:
- Leave both AK and SK empty to keep the saved credentials.
- Enter both to replace them.
- Entering only one prevents testing and saving.
After media references a profile, Provider, Endpoint, Region, Bucket, and path-style access are locked. Create a new profile and select it manually when the storage location must change.
Delete a profile
A tenant administrator cannot delete platform storage. A system administrator may delete an unused platform profile, but not one referenced by the platform default, legacy-client Qiniu setting, a country route, a tenant's manual selection, or existing media. Tenant-owned storage also cannot be deleted while it is manually selected or referenced by media.
Before disabling or deleting a bucket, select another profile and confirm that no media still references the old profile. Changing the selection never copies or deletes existing media.
Upload and compatibility notes
- Direct and Multipart uploads use the resolved storage profile. Direct is suitable for smaller files; Multipart is suitable for large files or unstable networks.
- An upload already in progress continues with the profile selected when it started, even if the tenant changes the setting.
- New object keys use flat UUID filenames and do not create tenant or profile directories.
- On Cloud, older clients use the legacy Qiniu-compatible location and do not follow AUTO or MANUAL. A
BYOS_ONLYtenant rejects this compatibility path, so those clients must be upgraded. On the embedded Local Service, older clients continue to use the original LOCAL upload path. Updated clients use multi-platform selection and BYOS.
Troubleshooting
Configuration management is not visible
Confirm that Cloud or an authenticated LAN Service is selected and that you signed in as a tenant or system administrator. Direct Local connections do not expose this entry; add the embedded service as a LAN Service and sign in when it must be administered. Customer users have no management permission.
The automatic recommendation is wrong
Select an available platform or tenant-owned profile to enter manual mode. Use Restore automatic selection when the system recommendation should apply again.
Connection test fails
Check Endpoint, Region, Bucket, credentials, server network access, and permissions for upload, HeadObject, delete, and multipart operations.
The test passes but Web upload fails
Check bucket CORS first. It must allow the management-app origin, PUT, and the signed request headers.
Are existing media items migrated after changing storage
No. Only future uploads use the new selection; existing media continues to use its original storage profile.