Skip to main content

Scopes & Permissions

Qumo Deploy uses a two-tiered authorization system: Scopes (enforced at the Identity Token level) and Permissions (enforced at the IAM role level).
Source of truth: This page is the canonical reference for Identity Token scope strings and IAM permission names. Relay credentials are signed by your app with its own signing keys and carry path grants, not these scopes.

Identity Token Scopes

Scopes define the maximum set of control-plane actions an Identity Token may perform, regardless of its User or Identity principal’s IAM permissions.
Scope vs. Permission: Even if a key has the * scope, it cannot perform an action unless the associated principal (User or Identity) has the required IAM Permission.

IAM Permissions

Permissions are granular actions that can be grouped into IAM Roles. They are typically scoped to either a Organization or a Project.

Organization-level Permissions

Project-level Permissions

Identities

An Identity belongs to one project, and its tokens act only there: on its own project, and on its own organization for organization-level routes. A request whose path or ?organization_id= names another project or another organization answers 403 Forbidden, whatever roles the Identity holds. Granting an Identity a role that gives it a permission it did not already hold (on its organization, or on its project) revokes every token it already has, since whoever minted those tokens may not hold the new permission. Mint a new token after the grant. A role that adds nothing new, such as roles/project.viewer for an Identity that is already a project admin, leaves its tokens alone. When a grant revokes tokens, the POST .../iam-bindings response carries revoked_identity_tokens (the count, omitted when zero), and so does the iam.binding_create audit record. A token request that races such a grant either gets a token the grant then revokes, or answers 409 Conflict; mint again.