Overview
All Xloud platform services expose REST APIs secured by Xloud Identity (Keystone). Authentication is token-based with configurable expiry, and authorization is enforced through a role-based access control (RBAC) policy engine. This page covers the full API security stack: authentication flows, application credentials for automated access, rate limiting, audit logging, CORS configuration, and service-to-service mutual TLS.Prerequisites
- An active Xloud account with the
memberoradminrole - CLI tools installed:
openstackCLI (setup guide) - For application credentials: access to Project → Identity → Application Credentials
Token-Based Authentication
All API requests require a valid token issued by Xloud Identity. Tokens are scoped to a project and carry the user’s role assignments for that project.Token Scopes
| Scope | Description | Use Case |
|---|---|---|
| Project-scoped | Bound to a specific project | Standard user operations |
| Domain-scoped | Bound to a domain | Domain administrator operations |
| System-scoped | Platform-wide admin operations | Infrastructure management |
| Unscoped | No project or domain binding | Token exchange only |
- CLI
- Dashboard
Authenticate and get a token
Expected output
Authenticate via API directly
Application Credentials
Application credentials allow automation scripts and CI/CD pipelines to authenticate without embedding a username and password. They are scoped to a project, have configurable expiry, and can be restricted to specific API operations using access rules.- Dashboard
- CLI
Navigate to Application Credentials
Navigate to Project → Identity → Application Credentials and click Create Application Credential.
Configure the credential
| Field | Recommended Value | Notes |
|---|---|---|
| Name | ci-deployment-prod | Descriptive name identifying the use case |
| Secret | Auto-generated | Store the secret securely — it is shown only once |
| Expiration Date | Set an expiry | Required for compliance environments |
| Roles | Select only required roles | Follow least-privilege |
| Unrestricted | No | Leave unchecked to allow role inheritance restrictions |
RBAC Policy Enforcement
Xloud enforces access control using oslo.policy rules. Every API operation checks the caller’s token against the service’s policy file before executing.Default Role Hierarchy
| Role | Scope | Permissions |
|---|---|---|
admin | System or project | Full access to all operations |
member | Project | Standard create/read/update/delete within the project |
reader | Project | Read-only access to project resources |
heat_stack_owner | Project | Manage orchestration stacks |
load-balancer_admin | Project | Manage load balancers |
Custom Policy Overrides
View current compute policy
Example: restrict live migration to system-admin only
Xloud uses the standard RBAC model. Custom policy overrides should be placed in service-specific policy files and deployed via the XAVS config overlay mechanism. Do not modify policy files directly inside containers — changes are lost on restart.
API Rate Limiting
Rate limiting protects the platform from abuse and ensures fair resource allocation between projects. Limits are enforced at the HAProxy layer and within individual services.| Limit Type | Default | Configurable |
|---|---|---|
| Compute API (per user) | 50 POST / minute | Yes |
| Compute API (per project) | 200 requests / minute | Yes |
| Identity token issuance | 100 / minute | Yes |
| Image upload | 10 / hour | Yes |
Configure compute rate limits
CORS Configuration
Cross-Origin Resource Sharing (CORS) controls which origins can make browser-based API requests. Configure allowed origins to match your Dashboard and any custom web applications.Restrict CORS origins
Service-to-Service Authentication (Mutual TLS)
Platform services authenticate to each other using service user accounts. When internal TLS is enabled, these connections also use mutual TLS certificate validation. Service accounts are created during deployment with minimal permissions scoped to inter-service operations only. These accounts should not be used for manual operations.List service users
Audit Logging for API Calls
All API calls are recorded in the audit log with the caller identity, token scope, target resource, and operation result. See the Compliance and Auditing page for log format, retention, and aggregation configuration.View recent API audit events
Next Steps
Compliance and Auditing
Audit log format, retention, and compliance framework mapping
Identity and Access
Users, projects, domains, and federation configuration
Infrastructure Security
TLS configuration and certificate management
Application Credentials
Detailed application credential management guide