Skip to main content

Overview

All Xloud platform services expose REST APIs secured by Xloud Identity (Keystone). Authentication is token-based with configurable expiry, and the platform enforces authorization through a role-based access control (RBAC) policy engine. This page covers the full API security stack: authentication flows, application credentials, and rate limiting. It also covers audit logging, CORS configuration, and service-to-service mutual TLS.
Prerequisites
  • An active Xloud account with the member or admin role
  • CLI tools installed: openstack CLI (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

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.
Never store your account password in scripts or configuration files. Use application credentials instead. Application credentials can be revoked individually without changing the account password.

Navigate to Application Credentials

Navigate to Project → Identity → Application Credentials and click Create Application Credential.

Configure the credential

The secret is displayed only once after creation. Store it immediately in a secrets manager or CI/CD vault. It cannot be retrieved again.

Download the RC file

Click Download openrc file. Source this file in your automation environment to authenticate using the application credential.
The downloaded RC file uses OS_AUTH_TYPE=v3applicationcredential — no password is stored in plaintext.

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

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.
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
Do not set allowed_origin: "*" in production. This allows any website to make authenticated API calls on behalf of a user with an active session cookie, enabling cross-site request forgery (CSRF) attacks.

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. Do not use these accounts 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