GCP IAM Role Finder
Search and browse GCP predefined IAM roles by permission or service.
Prerequisites
Search GCP IAM Roles
Matching Roles
28 roles foundOwner
BasicGAroles/owner
Full access to all resources. Can manage roles and permissions, and set up billing for a project.
Editor
BasicGAroles/editor
View and edit access to all resources. Cannot manage roles and permissions.
Viewer
BasicGAroles/viewer
Read-only access to all resources. Cannot make any changes.
IAM Admin
IAMGAroles/iam.admin
Full access to manage IAM policies, roles, and service accounts.
Service Account Admin
IAMGAroles/iam.serviceAccountAdmin
Create and manage service accounts, keys, and IAM policies on service accounts.
Compute Admin
Compute EngineGAroles/compute.admin
Full control of all Compute Engine resources including instances, disks, networks, and firewalls.
Compute Viewer
Compute EngineGAroles/compute.viewer
Read-only access to Compute Engine resources. Cannot start, stop, or modify instances.
Storage Admin
Cloud StorageGAroles/storage.admin
Full control of Cloud Storage buckets and objects, including setting IAM policies.
Storage Object Viewer
Cloud StorageGAroles/storage.objectViewer
Read-only access to Cloud Storage objects. Can view objects and their metadata.
Storage Object Creator
Cloud StorageGAroles/storage.objectCreator
Allows users to create objects in Cloud Storage buckets. Does not grant read or delete access.
BigQuery Admin
BigQueryGAroles/bigquery.admin
Full access to BigQuery resources including datasets, tables, jobs, and data transfers.
BigQuery Data Viewer
BigQueryGAroles/bigquery.dataViewer
Read access to BigQuery datasets and table data. Cannot create or modify resources.
Cloud SQL Admin
Cloud SQLGAroles/cloudsql.admin
Full control of Cloud SQL instances, databases, users, and backups.
Kubernetes Engine Admin
Kubernetes EngineGAroles/container.admin
Full access to GKE clusters, node pools, and workloads.
Kubernetes Engine Cluster Viewer
Kubernetes EngineGAroles/container.clusterViewer
Read-only access to GKE clusters. Can view cluster configurations but not modify them.
Logging Admin
Cloud LoggingGAroles/logging.admin
Full control of Cloud Logging resources including log entries, sinks, metrics, and exclusions.
Logs Viewer
Cloud LoggingGAroles/logging.viewer
Read-only access to Cloud Logging log entries and log-based metrics.
Monitoring Admin
Cloud MonitoringGAroles/monitoring.admin
Full control of Cloud Monitoring resources including dashboards, alerting policies, and uptime checks.
Monitoring Viewer
Cloud MonitoringGAroles/monitoring.viewer
Read-only access to Cloud Monitoring data including time series, dashboards, and alert policies.
Cloud Functions Admin
Cloud FunctionsGAroles/cloudfunctions.admin
Full access to Cloud Functions, including creating, updating, deleting, and invoking functions.
Cloud Run Admin
Cloud RunGAroles/run.admin
Full access to Cloud Run services, revisions, jobs, and their IAM policies.
Pub/Sub Admin
Pub/SubGAroles/pubsub.admin
Full access to Pub/Sub topics, subscriptions, snapshots, and schemas.
Secret Manager Admin
Secret ManagerGAroles/secretmanager.admin
Full access to Secret Manager secrets, versions, and their IAM policies.
Secret Manager Secret Accessor
Secret ManagerGAroles/secretmanager.secretAccessor
Allows accessing the payload of secrets. Cannot create, update, or delete secrets.
DNS Administrator
Cloud DNSGAroles/dns.admin
Full access to Cloud DNS managed zones, record sets, and DNS policies.
Network Management Admin
Network ManagementGAroles/networkmanagement.admin
Full access to Network Intelligence Center resources, including connectivity tests.
Cloud Build Editor
Cloud BuildGAroles/cloudbuild.builds.editor
Can create and cancel builds, view build details, and manage build triggers.
Artifact Registry Administrator
Artifact RegistryGAroles/artifactregistry.admin
Full access to Artifact Registry repositories, packages, and their IAM policies.
Raw JSON
[
{
"name": "roles/owner",
"title": "Owner",
"description": "Full access to all resources. Can manage roles and permissions, and set up billing for a project.",
"service": "Basic",
"stage": "GA",
"permissions": [
"resourcemanager.projects.get",
"resourcemanager.projects.update",
"resourcemanager.projects.delete",
"resourcemanager.projects.setIamPolicy",
"resourcemanager.projects.getIamPolicy",
"billing.accounts.get"
]
},
{
"name": "roles/editor",
"title": "Editor",
"description": "View and edit access to all resources. Cannot manage roles and permissions.",
"service": "Basic",
"stage": "GA",
"permissions": [
"resourcemanager.projects.get",
"resourcemanager.projects.update",
"serviceusage.services.use",
"serviceusage.services.list"
]
},
{
"name": "roles/viewer",
"title": "Viewer",
"description": "Read-only access to all resources. Cannot make any changes.",
"service": "Basic",
"stage": "GA",
"permissions": [
"resourcemanager.projects.get",
"serviceusage.services.list",
"monitoring.timeSeries.list"
]
},
{
"name": "roles/iam.admin",
"title": "IAM Admin",
"description": "Full access to manage IAM policies, roles, and service accounts.",
"service": "IAM",
"stage": "GA",
"permissions": [
"iam.roles.create",
"iam.roles.delete",
"iam.roles.get",
"iam.roles.list",
"iam.roles.update",
"iam.serviceAccounts.create",
"iam.serviceAccounts.delete",
"iam.serviceAccounts.get",
"iam.serviceAccounts.list",
"iam.serviceAccounts.update",
"resourcemanager.projects.getIamPolicy",
"resourcemanager.projects.setIamPolicy"
]
},
{
"name": "roles/iam.serviceAccountAdmin",
"title": "Service Account Admin",
"description": "Create and manage service accounts, keys, and IAM policies on service accounts.",
"service": "IAM",
"stage": "GA",
"permissions": [
"iam.serviceAccounts.create",
"iam.serviceAccounts.delete",
"iam.serviceAccounts.get",
"iam.serviceAccounts.getIamPolicy",
"iam.serviceAccounts.list",
"iam.serviceAccounts.setIamPolicy",
"iam.serviceAccounts.update",
"iam.serviceAccountKeys.create",
"iam.serviceAccountKeys.delete",
"iam.serviceAccountKeys.get",
"iam.serviceAccountKeys.list"
]
},
{
"name": "roles/compute.admin",
"title": "Compute Admin",
"description": "Full control of all Compute Engine resources including instances, disks, networks, and firewalls.",
"service": "Compute Engine",
"stage": "GA",
"permissions": [
"compute.instances.create",
"compute.instances.delete",
"compute.instances.get",
"compute.instances.list",
"compute.instances.start",
"compute.instances.stop",
"compute.instances.setMachineType",
"compute.disks.create",
"compute.disks.delete",
"compute.networks.create",
"compute.firewalls.create",
"compute.firewalls.delete"
]
},
{
"name": "roles/compute.viewer",
"title": "Compute Viewer",
"description": "Read-only access to Compute Engine resources. Cannot start, stop, or modify instances.",
"service": "Compute Engine",
"stage": "GA",
"permissions": [
"compute.instances.get",
"compute.instances.list",
"compute.disks.get",
"compute.disks.list",
"compute.networks.get",
"compute.networks.list",
"compute.firewalls.get",
"compute.firewalls.list",
"compute.zones.get",
"compute.zones.list"
]
},
{
"name": "roles/storage.admin",
"title": "Storage Admin",
"description": "Full control of Cloud Storage buckets and objects, including setting IAM policies.",
"service": "Cloud Storage",
"stage": "GA",
"permissions": [
"storage.buckets.create",
"storage.buckets.delete",
"storage.buckets.get",
"storage.buckets.list",
"storage.buckets.update",
"storage.buckets.setIamPolicy",
"storage.buckets.getIamPolicy",
"storage.objects.create",
"storage.objects.delete",
"storage.objects.get",
"storage.objects.list",
"storage.objects.update"
]
},
{
"name": "roles/storage.objectViewer",
"title": "Storage Object Viewer",
"description": "Read-only access to Cloud Storage objects. Can view objects and their metadata.",
"service": "Cloud Storage",
"stage": "GA",
"permissions": [
"storage.objects.get",
"storage.objects.list"
]
},
{
"name": "roles/storage.objectCreator",
"title": "Storage Object Creator",
"description": "Allows users to create objects in Cloud Storage buckets. Does not grant read or delete access.",
"service": "Cloud Storage",
"stage": "GA",
"permissions": [
"storage.objects.create"
]
},
{
"name": "roles/bigquery.admin",
"title": "BigQuery Admin",
"description": "Full access to BigQuery resources including datasets, tables, jobs, and data transfers.",
"service": "BigQuery",
"stage": "GA",
"permissions": [
"bigquery.datasets.create",
"bigquery.datasets.delete",
"bigquery.datasets.get",
"bigquery.datasets.update",
"bigquery.tables.create",
"bigquery.tables.delete",
"bigquery.tables.get",
"bigquery.tables.getData",
"bigquery.tables.list",
"bigquery.tables.update",
"bigquery.jobs.create",
"bigquery.jobs.list"
]
},
{
"name": "roles/bigquery.dataViewer",
"title": "BigQuery Data Viewer",
"description": "Read access to BigQuery datasets and table data. Cannot create or modify resources.",
"service": "BigQuery",
"stage": "GA",
"permissions": [
"bigquery.datasets.get",
"bigquery.tables.get",
"bigquery.tables.getData",
"bigquery.tables.list"
]
},
{
"name": "roles/cloudsql.admin",
"title": "Cloud SQL Admin",
"description": "Full control of Cloud SQL instances, databases, users, and backups.",
"service": "Cloud SQL",
"stage": "GA",
"permissions": [
"cloudsql.instances.create",
"cloudsql.instances.delete",
"cloudsql.instances.get",
"cloudsql.instances.list",
"cloudsql.instances.update",
"cloudsql.instances.restart",
"cloudsql.databases.create",
"cloudsql.databases.delete",
"cloudsql.databases.get",
"cloudsql.databases.list",
"cloudsql.backupRuns.create",
"cloudsql.backupRuns.get",
"cloudsql.backupRuns.list"
]
},
{
"name": "roles/container.admin",
"title": "Kubernetes Engine Admin",
"description": "Full access to GKE clusters, node pools, and workloads.",
"service": "Kubernetes Engine",
"stage": "GA",
"permissions": [
"container.clusters.create",
"container.clusters.delete",
"container.clusters.get",
"container.clusters.list",
"container.clusters.update",
"container.nodes.get",
"container.nodes.list",
"container.pods.get",
"container.pods.list",
"container.services.get",
"container.services.list",
"container.operations.get",
"container.operations.list"
]
},
{
"name": "roles/container.clusterViewer",
"title": "Kubernetes Engine Cluster Viewer",
"description": "Read-only access to GKE clusters. Can view cluster configurations but not modify them.",
"service": "Kubernetes Engine",
"stage": "GA",
"permissions": [
"container.clusters.get",
"container.clusters.list"
]
},
{
"name": "roles/logging.admin",
"title": "Logging Admin",
"description": "Full control of Cloud Logging resources including log entries, sinks, metrics, and exclusions.",
"service": "Cloud Logging",
"stage": "GA",
"permissions": [
"logging.logEntries.list",
"logging.logEntries.create",
"logging.logs.list",
"logging.logs.delete",
"logging.sinks.create",
"logging.sinks.delete",
"logging.sinks.get",
"logging.sinks.list",
"logging.sinks.update",
"logging.logMetrics.create",
"logging.logMetrics.delete",
"logging.logMetrics.get",
"logging.logMetrics.list",
"logging.logMetrics.update"
]
},
{
"name": "roles/logging.viewer",
"title": "Logs Viewer",
"description": "Read-only access to Cloud Logging log entries and log-based metrics.",
"service": "Cloud Logging",
"stage": "GA",
"permissions": [
"logging.logEntries.list",
"logging.logs.list",
"logging.logMetrics.get",
"logging.logMetrics.list",
"logging.logServiceIndexes.list",
"logging.logServices.list"
]
},
{
"name": "roles/monitoring.admin",
"title": "Monitoring Admin",
"description": "Full control of Cloud Monitoring resources including dashboards, alerting policies, and uptime checks.",
"service": "Cloud Monitoring",
"stage": "GA",
"permissions": [
"monitoring.alertPolicies.create",
"monitoring.alertPolicies.delete",
"monitoring.alertPolicies.get",
"monitoring.alertPolicies.list",
"monitoring.alertPolicies.update",
"monitoring.dashboards.create",
"monitoring.dashboards.delete",
"monitoring.dashboards.get",
"monitoring.dashboards.list",
"monitoring.dashboards.update",
"monitoring.timeSeries.create",
"monitoring.timeSeries.list",
"monitoring.uptimeCheckConfigs.create",
"monitoring.uptimeCheckConfigs.delete",
"monitoring.uptimeCheckConfigs.get",
"monitoring.uptimeCheckConfigs.list"
]
},
{
"name": "roles/monitoring.viewer",
"title": "Monitoring Viewer",
"description": "Read-only access to Cloud Monitoring data including time series, dashboards, and alert policies.",
"service": "Cloud Monitoring",
"stage": "GA",
"permissions": [
"monitoring.alertPolicies.get",
"monitoring.alertPolicies.list",
"monitoring.dashboards.get",
"monitoring.dashboards.list",
"monitoring.timeSeries.list",
"monitoring.uptimeCheckConfigs.get",
"monitoring.uptimeCheckConfigs.list"
]
},
{
"name": "roles/cloudfunctions.admin",
"title": "Cloud Functions Admin",
"description": "Full access to Cloud Functions, including creating, updating, deleting, and invoking functions.",
"service": "Cloud Functions",
"stage": "GA",
"permissions": [
"cloudfunctions.functions.create",
"cloudfunctions.functions.delete",
"cloudfunctions.functions.get",
"cloudfunctions.functions.list",
"cloudfunctions.functions.update",
"cloudfunctions.functions.call",
"cloudfunctions.functions.getIamPolicy",
"cloudfunctions.functions.setIamPolicy",
"cloudfunctions.locations.list",
"cloudfunctions.operations.get",
"cloudfunctions.operations.list"
]
},
{
"name": "roles/run.admin",
"title": "Cloud Run Admin",
"description": "Full access to Cloud Run services, revisions, jobs, and their IAM policies.",
"service": "Cloud Run",
"stage": "GA",
"permissions": [
"run.services.create",
"run.services.delete",
"run.services.get",
"run.services.list",
"run.services.update",
"run.services.getIamPolicy",
"run.services.setIamPolicy",
"run.revisions.get",
"run.revisions.list",
"run.revisions.delete",
"run.jobs.create",
"run.jobs.delete",
"run.jobs.get",
"run.jobs.list",
"run.jobs.run"
]
},
{
"name": "roles/pubsub.admin",
"title": "Pub/Sub Admin",
"description": "Full access to Pub/Sub topics, subscriptions, snapshots, and schemas.",
"service": "Pub/Sub",
"stage": "GA",
"permissions": [
"pubsub.topics.create",
"pubsub.topics.delete",
"pubsub.topics.get",
"pubsub.topics.list",
"pubsub.topics.publish",
"pubsub.topics.update",
"pubsub.topics.getIamPolicy",
"pubsub.topics.setIamPolicy",
"pubsub.subscriptions.create",
"pubsub.subscriptions.delete",
"pubsub.subscriptions.get",
"pubsub.subscriptions.list",
"pubsub.subscriptions.consume",
"pubsub.subscriptions.update"
]
},
{
"name": "roles/secretmanager.admin",
"title": "Secret Manager Admin",
"description": "Full access to Secret Manager secrets, versions, and their IAM policies.",
"service": "Secret Manager",
"stage": "GA",
"permissions": [
"secretmanager.secrets.create",
"secretmanager.secrets.delete",
"secretmanager.secrets.get",
"secretmanager.secrets.list",
"secretmanager.secrets.update",
"secretmanager.secrets.getIamPolicy",
"secretmanager.secrets.setIamPolicy",
"secretmanager.versions.add",
"secretmanager.versions.destroy",
"secretmanager.versions.enable",
"secretmanager.versions.disable",
"secretmanager.versions.get",
"secretmanager.versions.list",
"secretmanager.versions.access"
]
},
{
"name": "roles/secretmanager.secretAccessor",
"title": "Secret Manager Secret Accessor",
"description": "Allows accessing the payload of secrets. Cannot create, update, or delete secrets.",
"service": "Secret Manager",
"stage": "GA",
"permissions": [
"secretmanager.versions.access",
"resourcemanager.projects.get"
]
},
{
"name": "roles/dns.admin",
"title": "DNS Administrator",
"description": "Full access to Cloud DNS managed zones, record sets, and DNS policies.",
"service": "Cloud DNS",
"stage": "GA",
"permissions": [
"dns.managedZones.create",
"dns.managedZones.delete",
"dns.managedZones.get",
"dns.managedZones.list",
"dns.managedZones.update",
"dns.resourceRecordSets.create",
"dns.resourceRecordSets.delete",
"dns.resourceRecordSets.get",
"dns.resourceRecordSets.list",
"dns.resourceRecordSets.update",
"dns.policies.create",
"dns.policies.delete",
"dns.policies.get",
"dns.policies.list",
"dns.policies.update"
]
},
{
"name": "roles/networkmanagement.admin",
"title": "Network Management Admin",
"description": "Full access to Network Intelligence Center resources, including connectivity tests.",
"service": "Network Management",
"stage": "GA",
"permissions": [
"networkmanagement.connectivitytests.create",
"networkmanagement.connectivitytests.delete",
"networkmanagement.connectivitytests.get",
"networkmanagement.connectivitytests.list",
"networkmanagement.connectivitytests.update",
"networkmanagement.connectivitytests.rerun",
"networkmanagement.connectivitytests.getIamPolicy",
"networkmanagement.connectivitytests.setIamPolicy"
]
},
{
"name": "roles/cloudbuild.builds.editor",
"title": "Cloud Build Editor",
"description": "Can create and cancel builds, view build details, and manage build triggers.",
"service": "Cloud Build",
"stage": "GA",
"permissions": [
"cloudbuild.builds.create",
"cloudbuild.builds.get",
"cloudbuild.builds.list",
"cloudbuild.builds.update",
"cloudbuild.triggers.create",
"cloudbuild.triggers.delete",
"cloudbuild.triggers.get",
"cloudbuild.triggers.list",
"cloudbuild.triggers.run",
"cloudbuild.triggers.update",
"cloudbuild.workerpools.get",
"cloudbuild.workerpools.list"
]
},
{
"name": "roles/artifactregistry.admin",
"title": "Artifact Registry Administrator",
"description": "Full access to Artifact Registry repositories, packages, and their IAM policies.",
"service": "Artifact Registry",
"stage": "GA",
"permissions": [
"artifactregistry.repositories.create",
"artifactregistry.repositories.delete",
"artifactregistry.repositories.get",
"artifactregistry.repositories.list",
"artifactregistry.repositories.update",
"artifactregistry.repositories.getIamPolicy",
"artifactregistry.repositories.setIamPolicy",
"artifactregistry.packages.delete",
"artifactregistry.packages.get",
"artifactregistry.packages.list",
"artifactregistry.versions.delete",
"artifactregistry.versions.get",
"artifactregistry.versions.list",
"artifactregistry.tags.create",
"artifactregistry.tags.delete",
"artifactregistry.tags.get",
"artifactregistry.tags.list",
"artifactregistry.tags.update"
]
}
]Key Takeaways
- 1GCP has three role types: basic (primitive), predefined, and custom.
- 2Predefined roles are the recommended choice for most production workloads.
- 3Always prefer the most specific predefined role over basic roles like Editor.
- 4Custom roles let you pick exact permissions when predefined roles are too broad.
- 5Use IAM Recommender to identify and remove unused permissions from bindings.
Frequently Asked Questions
How many predefined IAM roles does GCP have?
What is the difference between roles/editor and a predefined role?
Can I see which permissions a role includes?
How do I find which role grants a specific permission?
When should I create a custom IAM role?
Written by CloudToolStack Editorial
Written and reviewed by the CloudToolStack editorial team. Every guide is verified against current provider documentation and revised in place when providers change pricing, deprecate services, or release meaningfully better alternatives.
Disclaimer: This guide is for educational purposes. Cloud services change frequently; always refer to official documentation for the latest information. AWS, Azure, and GCP are trademarks of their respective owners.