Skip to main content

Security and Permissions

Summary​

ControlBehavior
Access levelRead-only. No write operations are exposed.
IdentityThe signed-in CloudYali user.
PermissionsIdentical to the user's CloudYali role. No elevated or shared credentials.
AuthenticationOAuth through the CloudYali console. MFA and SSO apply.
AuthorizationExplicit per-connection approval on the CloudYali approval screen.
Credential issuedOne access token, valid for up to 45 minutes.
Credentials not issuedPassword, ID token, refresh token.
RenewalNone. A new approval is required after expiry.
Staff impersonationMCP connections cannot be approved during impersonation.
Local footprintNone. No software or credentials are stored on the user's machine by CloudYali.

Read access compared with operations that are not available

Read-only access​

The CloudYali MCP server exposes only read operations. The following are not available through the integration:

  • Creating, editing or deleting budgets.
  • Changing recommendation status.
  • Dismissing anomalies or changing anomaly preferences.
  • Editing tags.
  • Changing account, user or customer settings.
  • Any call to AWS, Azure or Google Cloud APIs.

Perform these actions in the CloudYali console at console.cloudyali.io.

Permission scope​

The connection acts as the signed-in user. The assistant can read only the cloud accounts and data that user can read in the CloudYali console. The integration does not use service accounts, shared API keys or elevated scopes.

Sign-in and approval flow​

  1. The MCP client redirects the user to CloudYali.
  2. The user signs in to the CloudYali console. MFA and SSO apply.
  3. The console loads the connection request from the CloudYali MCP server and displays the approval screen.
  4. The user selects Agree & Allow Access or Cancel.
  5. On approval, the console refreshes the user's session and sends one fresh access token to the CloudYali MCP server. The browser returns to the MCP client.
  6. On cancel, no token is issued.

CloudYali approval screen

Approval screen contents​

ElementPurpose
Client nameIdentifies the requesting application (for example, chatgpt.com). Loaded from the CloudYali MCP server, not from the page URL, so a crafted link cannot display a different client name.
PermissionsRead cloud cost and inventory data; Stay connected for this session, up to 45 minutes.
Return addressThe address the browser returns to after approval.
Localhost warningShown when the return address is a loopback address such as 127.0.0.1. A loopback address does not identify which local application requested access.
Signed-in userThe CloudYali user whose permissions the connection receives. Switch accounts changes the user before approval.
Data handling noticeStates that data received by the client is processed under the user's agreement with that client's vendor.

Request expiry​

Each approval request is time-limited. An expired or completed request shows "This request has expired. Start again from your MCP client."

Token lifetime​

The access token issued on approval is valid for up to 45 minutes. The console forces a session refresh before issuing it, so each connection receives the full lifetime. The token is not renewed automatically. After expiry, the MCP client must start a new sign-in and the user must approve again.

To revoke access before expiry, remove the CloudYali connector from the MCP client. The token expires within 45 minutes.

Token transport​

  • The access token is sent from the console to the CloudYali MCP server in an HTTPS form POST body.
  • The destination (https://mcp.cloudyali.io) is fixed at console build time and enforced by the console's Content Security Policy (form-action, connect-src).
  • The token is not placed in a URL.

Data flow​

FlowDescription
CloudYali MCP server → CloudYali APIHTTPS requests using the user's access token. Same API and data as the CloudYali console.
CloudYali MCP server → AI assistantQuery results are returned to the connected MCP client.

Data returned to the AI assistant is processed under the assistant vendor's terms (for example, OpenAI for ChatGPT or Anthropic for Claude). Review the vendor's data retention and model training terms for your plan before connecting. CloudYali data remains subject to your agreement with CloudYali.

Compliance notes​

  • Access is bound to an individual user identity; no shared credentials are used.
  • Every connection requires an explicit user approval.
  • Access is time-limited to 45 minutes per approval.
  • Write access to cost controls is not available.

Reporting a security issue​

Email support@cloudyali.io. Do not report security issues publicly.