Overview
Container ACLs control which users and projects can read from or write to a container. By default, containers are private — only the owning project has access. ACLs are set as container metadata headers and can grant access to specific users, entire projects, or the public.Prerequisites
- An active Xloud account with appropriate permissions
- Access to the Xloud Dashboard (
https://connect.<your-domain>) or CLI configured with credentials - API credentials sourced (
source admin-openrc.sh)
ACL Format Reference
| Value | Meaning |
|---|---|
<project-id>:<user-id> | Specific user in a specific project |
<project-id>:* | All users in a specific project |
.r:* | Public anonymous read access |
.r:*,.rlistings | Public read AND directory listing |
Configure ACLs
- Dashboard
- CLI
Navigate to the container and click the Edit icon. In the Access Control
section:
- Read ACL: Comma-separated list of
<project-id>:<user-id>pairs, or.r:*for public read access - Write ACL: Comma-separated list of
<project-id>:<user-id>pairs controlling write access
View Current ACLs
Show container ACLs
Account-Level Access Control
The object store account (project) supports an additional read ACL at the account level:Show account metadata including ACLs
Set account-level read ACL
Best Practices
Principle of least privilege
Principle of least privilege
- Grant the minimum required access — prefer
<project-id>:<user-id>over<project-id>:* - Only use
.r:*for containers explicitly intended for public access - Use
.rlistingsonly when directory browsing is intentionally public
Regular ACL audit
Regular ACL audit
Review containers with non-empty read or write ACLs quarterly. Revoke access for
decommissioned projects and users immediately:
Check all container ACLs in your project
Next Steps
Upload Objects
Upload objects to your access-controlled container
Versioning
Enable version retention for objects in the container
Troubleshooting
Resolve 403 access errors on containers
Object Storage Admin Guide
Platform-wide security and ACL governance