GCP IAM Predefined Roles Reference

Common GCP predefined IAM roles by service with included permissions summary.

Searchable reference for Google Cloud predefined IAM roles covering Compute, Storage, BigQuery, GKE and project basic roles with their role IDs and permission scope.

What are basic, predefined and custom roles in GCP?

Basic roles (Owner, Editor, Viewer) are broad legacy roles that span all services and are discouraged for production. Predefined roles are curated by Google for a specific service with a least-privilege permission set. Custom roles let you assemble an exact list of permissions you define.

GCP IAM predefined roles

Google Cloud IAM grants access by binding a role (a bundle of permissions) to a member on a resource. Predefined roles are Google-curated, least-privilege bundles scoped to a single service. This reference lists the most common predefined roles across Storage, Compute, BigQuery, GKE and project basics with their roles/* IDs and what each grants.

How it works

A role is bound with an IAM policy. The role ID is the canonical identifier you pass to tooling:

gcloud projects add-iam-policy-binding my-project \
  --member="user:[email protected]" \
  --role="roles/storage.objectViewer"

Predefined roles follow a naming pattern of roles/<service>.<scope> where the scope is usually one of viewer (read), user/writer (use/write), admin (full control of resources) or <resource>Admin (manage one resource type). Bindings can be set at organization, folder, project or resource level and are inherited downward.

Tips and notes

  • Avoid the basic roles roles/owner, roles/editor, roles/viewer in production — they span every API.
  • Bind roles at the narrowest resource scope possible (a single bucket or dataset) rather than project-wide.
  • Pair data and job roles in BigQuery: dataViewer to read, jobUser to run queries.
  • Use gcloud iam roles describe roles/<id> to see the exact permission list behind any predefined role.