How roles work
- Roles compose. Roles are capabilities, not job titles. A principal holds the union of its roles. For example, an infrastructure engineer can hold Operator and Platform Admin, and someone who also manages people adds Manager.
- Roles apply across the organization. You assign a role to a member or a service account for the whole organization. The role’s statements decide which resources it reaches.
- Deny wins. A statement can allow or deny actions. A matching deny overrides every allow. When nothing allows an action, Ravion denies it.
- No one can grant more than they hold. You can add or remove a role only when you already hold every permission in that role.
System-managed roles
Ravion maintains these roles and updates them as new features ship. They’re available on every plan.
Every role except Billing can read everything in the organization except billing and authorization policy. Only Owner and Billing include billing, and only Owner and Manager can see and change who has which permissions.
Common combinations
Assign roles to members
A member holds at least one role. Setting a member’s roles replaces the whole set. To assign roles in the dashboard:- Go to Settings → Members.
- Select the member. To give roles to someone new, click Invite member and pick their Roles in the invite dialog.
- Under Roles, click Add role and choose a role, or remove one the member holds.
ravion membership with --roles:
assignable-roles lists the roles you can give, which are the roles whose permissions you already hold.
Service accounts
Service accounts hold roles the same way members do, with a few limits:- A service account can’t hold Owner or any role that can delete the organization.
- A service account holds at least one role.
- To create a key for a service account, or to widen what a key can do, you must hold every action that the key could perform.
ravion service-account for every flag.
Limit API key permissions
An API key acts as its owner. You can give a key a permission limit so it does less than its owner can. A key can do something only when both its limit and its owner allow it, so a limit narrows the owner’s permissions but never widens them. Permissions aretype:action pairs from the authorization catalog, for example project:read or pipelineRun:create.
To set a key’s limit in the dashboard:
- Go to Settings → API keys and select the key, or click API key to create one. You can also create a key for a member from their page under Settings → Members.
- Under Permissions, choose one:
- Same as the owner: the key follows its owner’s permissions, including any the owner gets later.
- Read only: the key can only read the resource types you check, where its owner has access.
- Custom: the key can do only what you check, and only where its owner can too. Permissions the owner doesn’t have are greyed out.
- Save the key.
ravion api-key for details.
Roles from Flightcontrol
If your organization used Flightcontrol membership roles, Ravion maps them to system-managed roles:
Restricted Developer maps to Read only because system-managed roles can’t express a protected-environment limit. Use a custom role to let these members deploy everywhere except production.