Permissions and roles

This page lists the predefined IAM roles and permissions available for fine-grained access. It includes 20 predefined roles and 154 unique permissions.

Permissions use the format service.resource.action. You grant permissions by assigning predefined roles to users or service accounts; permissions aren't granted directly.

Use the roles API to retrieve role definitions programmatically:

Get an access token for the API examples:

TOKEN="$(evroc iam get-access-token)"
curl -H "Authorization: Bearer $TOKEN" \
  https://api.evroc.com/iam/v1beta1/roles

evroc's API responds with 404 Not Found when the caller doesn't have permissions to access a resource.

Action names

ActionMeaning
listList resources of a type.
readView details for one resource.
createCreate a resource.
updateChange a resource.
deleteDelete a resource.
useReference or attach a resource when creating or updating another resource.
actAsUse a service account as the identity for a workload or operation.

Some services also define resource-specific actions, such as start and stop (Think instances) or setRetentionPolicy, setLegalHold, and enableVersioning (storage).

Predefined roles

RoleScopeDescriptionPermissions
/iam/roles/cicdInfrastructureManagerprojectProvision and manage infrastructure for CI/CD pipelines.43
/iam/roles/computeOperatorprojectCreate, manage, and operate compute resources within a project.27
/iam/roles/computeViewerprojectRead-only access to compute resources (virtual machines, disks, placement groups).11
/iam/roles/loadBalancerOperatorprojectCreate, manage, and operate load balancer resources within a project.21
/iam/roles/loadBalancerViewerprojectRead-only access to load balancer resources.9
/iam/roles/networkingOperatorprojectCreate, manage, and operate networking resources within a project.25
/iam/roles/networkingUserprojectConsume shared networking resources (public IPs, security groups, VPCs, subnets) without managing them.3
/iam/roles/networkingViewerprojectRead-only access to networking resources.9
/iam/roles/organizationAccessAdministratororganizationManages role bindings, invitations, and users within an organization.19
/iam/roles/organizationOwnerorganizationFull control over an organization, its projects, and all access management.23
/iam/roles/organizationProjectCreatororganizationCan create and view projects within an organization.7
/iam/roles/organizationViewerorganizationRead-only access to an organization and its projects.7
/iam/roles/projectAccessAdministratorprojectManages role bindings within a project.19
/iam/roles/projectContributorprojectCreate and manage service resources within a project; no access management.135
/iam/roles/projectOwnerprojectFull control over a project, including all service resources and access management.141
/iam/roles/quotaViewerprojectRead-only access to project quotas.4
/iam/roles/securityIncidentResponderprojectRead access for incident response across compute and networking.31
/iam/roles/storageOperatorprojectManage storage buckets, their configuration and their contents.28
/iam/roles/thinkOperatorprojectCreate, manage, and operate Think instances, API keys, and chats.23
/iam/roles/thinkViewerprojectRead-only access to Think instances, API keys, and chats.13

Permissions by service

Compute permissions

PermissionDescription
compute.disks.createCreate disks.
compute.disks.deleteDelete disks.
compute.disks.listList disks.
compute.disks.readView disks.
compute.disks.updateUpdate disks.
compute.disks.useUse disks when creating or updating another resource.
compute.hotswapDiskAttachments.createCreate hotswap disk attachments.
compute.hotswapDiskAttachments.deleteDelete hotswap disk attachments.
compute.hotswapDiskAttachments.listList hotswap disk attachments.
compute.hotswapDiskAttachments.readView hotswap disk attachments.
compute.hotswapDiskAttachments.updateUpdate hotswap disk attachments.
compute.placementGroups.createCreate placement groups.
compute.placementGroups.deleteDelete placement groups.
compute.placementGroups.listList placement groups.
compute.placementGroups.readView placement groups.
compute.placementGroups.updateUpdate placement groups.
compute.snapshots.createCreate snapshots.
compute.snapshots.deleteDelete snapshots.
compute.snapshots.listList snapshots.
compute.snapshots.readView snapshots.
compute.snapshots.updateUpdate snapshots.
compute.virtualMachines.createCreate VMs.
compute.virtualMachines.deleteDelete VMs.
compute.virtualMachines.listList VMs.
compute.virtualMachines.readView VMs.
compute.virtualMachines.updateUpdate VMs.

IAM permissions

PermissionDescription
iam.invitations.createCreate and send invitations.
iam.invitations.listList invitations.
iam.invitations.readView invitations.
iam.invitations.revokeRevoke invitations.
iam.organizations.listList organizations.
iam.organizations.readView organizations.
iam.organizations.updateUpdate organizations.
iam.projects.createCreate projects.
iam.projects.deleteDelete projects.
iam.projects.listList projects.
iam.projects.readView projects.
iam.projects.updateUpdate projects.
iam.roleBindings.createCreate role bindings.
iam.roleBindings.deleteDelete role bindings.
iam.roleBindings.listList role bindings.
iam.roleBindings.readView role bindings.
iam.roleBindings.updateUpdate role bindings.
iam.roles.listList roles.
iam.roles.readView roles.
iam.serviceAccounts.actAsUse a service account as the identity for a workload or operation.
iam.serviceAccounts.createCreate service accounts.
iam.serviceAccounts.deleteDelete service accounts.
iam.serviceAccounts.listList service accounts.
iam.serviceAccounts.readView service accounts.
iam.serviceAccounts.updateUpdate service accounts.
iam.users.listList users.
iam.users.removeRemove users from an organization.

Load balancer permissions

PermissionDescription
loadbalancer.backendPools.createCreate backend pools.
loadbalancer.backendPools.deleteDelete backend pools.
loadbalancer.backendPools.listList backend pools.
loadbalancer.backendPools.readView backend pools.
loadbalancer.backendPools.updateUpdate backend pools.
loadbalancer.backendServices.createCreate backend services.
loadbalancer.backendServices.deleteDelete backend services.
loadbalancer.backendServices.listList backend services.
loadbalancer.backendServices.readView backend services.
loadbalancer.backendServices.updateUpdate backend services.
loadbalancer.l4Routes.createCreate L4 routes.
loadbalancer.l4Routes.deleteDelete L4 routes.
loadbalancer.l4Routes.listList L4 routes.
loadbalancer.l4Routes.readView L4 routes.
loadbalancer.l4Routes.updateUpdate L4 routes.
loadbalancer.loadBalancers.createCreate load balancers.
loadbalancer.loadBalancers.deleteDelete load balancers.
loadbalancer.loadBalancers.listList load balancers.
loadbalancer.loadBalancers.readView load balancers.
loadbalancer.loadBalancers.updateUpdate load balancers.

Networking permissions

PermissionDescription
networking.publicIPs.createCreate public IPs.
networking.publicIPs.deleteDelete public IPs.
networking.publicIPs.listList public IPs.
networking.publicIPs.readView public IPs.
networking.publicIPs.updateUpdate public IPs.
networking.publicIPs.useUse public IPs when creating or updating another resource.
networking.securityGroups.createCreate security groups.
networking.securityGroups.deleteDelete security groups.
networking.securityGroups.listList security groups.
networking.securityGroups.readView security groups.
networking.securityGroups.updateUpdate security groups.
networking.securityGroups.useUse security groups when creating or updating another resource.
networking.subnets.createCreate subnets.
networking.subnets.deleteDelete subnets.
networking.subnets.listList subnets.
networking.subnets.readView subnets.
networking.subnets.updateUpdate subnets.
networking.subnets.useUse subnets when creating or updating another resource.
networking.virtualPrivateClouds.createCreate virtual private clouds.
networking.virtualPrivateClouds.deleteDelete virtual private clouds.
networking.virtualPrivateClouds.listList VPCs.
networking.virtualPrivateClouds.readView VPCs.
networking.virtualPrivateClouds.updateUpdate virtual private clouds.
networking.virtualPrivateClouds.useUse VPCs when creating or updating another resource.

Quotas permissions

PermissionDescription
quotas.orgQuotas.readView organization quotas.
quotas.projectQuotas.readView project quotas.

Storage permissions

PermissionDescription
storage.bucketServiceAccountSecrets.readView bucket service account secrets.
storage.bucketServiceAccounts.createCreate bucket service accounts.
storage.bucketServiceAccounts.deleteDelete bucket service accounts.
storage.bucketServiceAccounts.listList bucket service accounts.
storage.bucketServiceAccounts.readView bucket service accounts.
storage.bucketServiceAccounts.updateUpdate bucket service accounts.
storage.buckets.createCreate buckets.
storage.buckets.deleteDelete buckets.
storage.buckets.enableObjectLockEnable object lock on buckets.
storage.buckets.enableVersioningEnable versioning on buckets.
storage.buckets.listList buckets.
storage.buckets.readView buckets.
storage.buckets.setAccessPolicySet bucket access policies.
storage.buckets.setEncryptionKeySet bucket encryption keys.
storage.buckets.setRetentionPolicySet bucket retention policies.
storage.buckets.setTagsSet tags on buckets or objects.
storage.buckets.updateUpdate buckets.
storage.fileStores.createCreate file stores.
storage.fileStores.deleteDelete file stores.
storage.fileStores.listList file stores.
storage.fileStores.readView file stores.
storage.fileStores.updateUpdate file stores.
storage.objects.clearLegalHoldClear legal holds from objects.
storage.objects.clearRetentionClear object retention settings.
storage.objects.createCreate objects.
storage.objects.deleteDelete objects.
storage.objects.listList objects.
storage.objects.listVersionsList object versions.
storage.objects.readView objects.
storage.objects.setLegalHoldSet legal holds on objects.
storage.objects.setRetentionSet object retention settings.
storage.objects.setTagsSet tags on buckets or objects.

Think permissions

PermissionDescription
think.apiKeys.createCreate API keys.
think.apiKeys.deleteDelete API keys.
think.apiKeys.listList API keys.
think.apiKeys.readView API keys.
think.chats.createCreate chats.
think.chats.deleteDelete chats.
think.chats.listList chats.
think.chats.readView chats.
think.chats.updateUpdate chats.
think.instances.createCreate Think instances.
think.instances.deleteDelete Think instances.
think.instances.listList Think instances.
think.instances.readView Think instances.
think.instances.startStart Think instances.
think.instances.stopStop Think instances.
think.instances.updateUpdate Think instances.
think.models.listList models.
think.models.readView models.
think.sharedModels.listList shared models.
think.sharedModels.readView shared models.
think.sizes.listList sizes.
think.sizes.readView sizes.

Next steps