Skip to content

IAM / Reference

Built-in roles

Updated · 6 min read

Every built-in IAM role with its ID, URN, what it's for and the exact permissions it grants, including the billing roles that Owner doesn't include.

On this page7 sections

Origin Cloud has six built-in roles. You can’t create your own. Each section lists the role’s ID, the URN you pass to role commands, where you can assign it, and every permission it grants. Permission keys have the form <service>.<resource>.<action>; the tables group them by <service>.<resource>. For how roles, scopes and permissions work together, see Access model.

IDNameFor
roles/ownerOwnerFull control of the organization, except billing accounts
roles/viewerViewerRead-only access to everything Owner can change
roles/iam/editorIAM EditorAssigning and revoking roles within its own permissions
roles/billing/administratorBilling Account AdministratorFull control of billing accounts
roles/billing/userBilling Account UserBilling accounts without deleting them
roles/billing/viewerBilling Account ViewerRead-only access to billing accounts

roles/owner

Full control of the organization’s projects, resources and access. Owner doesn’t include any billing account permission: an Owner can switch which billing account a project is charged to (admin.project.attach) and manage spend limits, but can’t view, create, change or delete a billing account. For that, assign a billing role; see Billing access.

URN: urn:origin:cloud:iam::::tc/role/roles/owner

Scope: org-wide or one project. Only an org-wide Owner can manage members and service accounts. Because Owner holds no billing permission, an Owner can’t assign or revoke the billing roles unless it also holds roles/billing/administrator.

ResourceActions
admin.organisationget, list, update, create, delete
admin.projectget, list, update, create, delete, attach
admin.resource_quotaget, update
admin.spend_limitget, update
admin.support_caselist, get, create, update
admin.usagelist
compute.imageget, list, create, delete, update
compute.instanceget, list, update, launch, terminate, start, stop, attach, detach
compute.key_pairget, list, create, delete
iam.audit_loglist
iam.groupget, list, update, create, delete
iam.memberlist, create, revoke
iam.permissionquery
iam.roleget, list, update, create, delete, assign, revoke
iam.service_accountlist, create, revoke
network.aclget, list, create, update, delete
network.dns_policyget, list, create, update, set_default, delete, attach
network.floating_ipget, list, create, attach, detach, delete
network.interfaceget, list, create, delete, attach
network.internet_gatewayget, attach, detach
network.nat_gatewayget, list, create, delete
network.route_tableget, list, create, update, delete
network.security_groupget, list, create, update, delete
network.subnetget, list, create, update, delete
network.vpcget, list, create, delete
observability.metricget
pvs.snapshotget, list, create, delete, update, protect, unprotect
pvs.volumeget, list, create, delete, update

roles/viewer

Read-only access: every get and list permission that Owner holds. A Viewer can list members, pending invites, service accounts and the audit log, but can’t change anything. Viewer includes no billing account permission.

URN: urn:origin:cloud:iam::::tc/role/roles/viewer

Scope: org-wide or one project.

ResourceActions
admin.organisationget, list
admin.projectget, list
admin.resource_quotaget
admin.spend_limitget
admin.support_caselist, get
admin.usagelist
compute.imageget, list
compute.instanceget, list
compute.key_pairget, list
iam.audit_loglist
iam.groupget, list
iam.memberlist
iam.roleget, list
iam.service_accountlist
network.aclget, list
network.dns_policyget, list
network.floating_ipget, list
network.interfaceget, list
network.internet_gatewayget
network.nat_gatewayget, list
network.route_tableget, list
network.security_groupget, list
network.subnetget, list
network.vpcget, list
observability.metricget
pvs.snapshotget, list
pvs.volumeget, list

roles/iam/editor

Lets a principal list members and roles, and assign and revoke roles in the organization. An IAM Editor can’t invite or remove members or manage service accounts; those need Owner.

An IAM Editor can only hand out what it already has. Like every principal, it can assign or revoke a role only if it holds every permission of that role itself at the scope of the grant; see Who can assign a role. With IAM Editor alone, that is IAM Editor itself. To let it assign Viewer as well, assign it Viewer too. An IAM Editor can never make anyone an Owner, itself included.

URN: urn:origin:cloud:iam::::tc/role/roles/iam/editor

Scope: org-wide. Role operations act on the organization, so a project-scoped IAM Editor can’t use them.

ResourceActions
iam.memberlist
iam.roleget, list, assign, revoke

roles/billing/administrator

Full control of the organization’s billing accounts: view, create, update and delete them. Whoever creates an organization holds this role org-wide.

URN: urn:origin:cloud:iam::::tc/role/roles/billing/administrator

Scope: org-wide only. Assign it without a project.

ResourceActions
admin.billing_accountget, list, create, update, delete

roles/billing/user

Everything the Billing Account Administrator can do, except deleting a billing account.

URN: urn:origin:cloud:iam::::tc/role/roles/billing/user

Scope: org-wide only. Assign it without a project.

ResourceActions
admin.billing_accountget, list, create, update

roles/billing/viewer

Read-only access to the organization’s billing accounts.

URN: urn:origin:cloud:iam::::tc/role/roles/billing/viewer

Scope: org-wide only. Assign it without a project.

ResourceActions
admin.billing_accountget, list