Cloud Functions IAM Roles
Predefined roles
The following table describes Identity and Access Management (IAM) roles that are associated with Cloud Run functions (formerly known as Cloud Functions), and lists the permissions that are contained in each role.
Roles can be granted to users on an entire project or on individual functions. Read Managing Access via IAM to learn more.
Cloud Functions roles
Cloud Functions Admin
( roles/  
)
Full access to functions, operations and locations.
 artifactregistry.  
 artifactregistry.  
  artifactregistry.  
 
-  artifactregistry.dockerimages. get 
-  artifactregistry.dockerimages. list 
 artifactregistry.  
 artifactregistry.files.get 
 artifactregistry.files.list 
  artifactregistry.locations.* 
 
-  artifactregistry.locations.get
-  artifactregistry.locations. list 
  artifactregistry.  
 
-  artifactregistry.mavenartifacts. get 
-  artifactregistry.mavenartifacts. list 
  artifactregistry.npmpackages.* 
 
-  artifactregistry.npmpackages. get 
-  artifactregistry.npmpackages. list 
 artifactregistry.packages.get 
 artifactregistry.packages.list 
 artifactregistry.  
  artifactregistry.  
 
-  artifactregistry.pythonpackages. get 
-  artifactregistry.pythonpackages. list 
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.rules.get 
 artifactregistry.rules.list 
 artifactregistry.tags.get 
 artifactregistry.tags.list 
 artifactregistry.versions.get 
 artifactregistry.versions.list 
 cloudasset.  
 cloudbuild.builds.get 
 cloudbuild.builds.list 
  cloudbuild.locations.* 
 
-  cloudbuild.locations.get
-  cloudbuild.locations.list
  cloudbuild.operations.* 
 
-  cloudbuild.operations.get
-  cloudbuild.operations.list
  cloudfunctions.* 
 
-  cloudfunctions.functions.call
-  cloudfunctions.functions. create 
-  cloudfunctions.functions. delete 
-  cloudfunctions.functions. generationUpgrade 
-  cloudfunctions.functions.get
-  cloudfunctions.functions. getIamPolicy 
-  cloudfunctions.functions. invoke 
-  cloudfunctions.functions.list
-  cloudfunctions.functions. setIamPolicy 
-  cloudfunctions.functions. sourceCodeGet 
-  cloudfunctions.functions. sourceCodeSet 
-  cloudfunctions.functions. update 
-  cloudfunctions.locations.list
-  cloudfunctions.operations.get
-  cloudfunctions.operations.list
  eventarc.* 
 
-  eventarc.channelConnections. create 
-  eventarc.channelConnections. delete 
-  eventarc.channelConnections. get 
-  eventarc.channelConnections. getIamPolicy 
-  eventarc.channelConnections. list 
-  eventarc.channelConnections. publish 
-  eventarc.channelConnections. setIamPolicy 
-  eventarc.channels.attach
-  eventarc.channels.create
-  eventarc.channels.delete
-  eventarc.channels.get
-  eventarc.channels.getIamPolicy
-  eventarc.channels.list
-  eventarc.channels.publish
-  eventarc.channels.setIamPolicy
-  eventarc.channels.undelete
-  eventarc.channels.update
-  eventarc.enrollments.create
-  eventarc.enrollments.delete
-  eventarc.enrollments.get
-  eventarc.enrollments. getIamPolicy 
-  eventarc.enrollments.list
-  eventarc.enrollments. setIamPolicy 
-  eventarc.enrollments.update
-  eventarc.events. receiveAuditLogWritten 
-  eventarc.events.receiveEvent
-  eventarc.googleApiSources. create 
-  eventarc.googleApiSources. delete 
-  eventarc.googleApiSources.get
-  eventarc.googleApiSources. getIamPolicy 
-  eventarc.googleApiSources.list
-  eventarc.googleApiSources. setIamPolicy 
-  eventarc.googleApiSources. update 
-  eventarc.googleChannelConfigs. get 
-  eventarc.googleChannelConfigs. update 
-  eventarc.kafkaSources.create
-  eventarc.kafkaSources.delete
-  eventarc.kafkaSources.get
-  eventarc.kafkaSources. getIamPolicy 
-  eventarc.kafkaSources.list
-  eventarc.kafkaSources. setIamPolicy 
-  eventarc.locations.get
-  eventarc.locations.list
-  eventarc.messageBuses.create
-  eventarc.messageBuses.delete
-  eventarc.messageBuses.get
-  eventarc.messageBuses. getIamPolicy 
-  eventarc.messageBuses.list
-  eventarc.messageBuses.publish
-  eventarc.messageBuses. setIamPolicy 
-  eventarc.messageBuses.update
-  eventarc.messageBuses.use
-  eventarc.multiProjectSources. collectGoogleApiEvents 
-  eventarc.operations.cancel
-  eventarc.operations.delete
-  eventarc.operations.get
-  eventarc.operations.list
-  eventarc.pipelines.create
-  eventarc.pipelines.delete
-  eventarc.pipelines.get
-  eventarc.pipelines. getIamPolicy 
-  eventarc.pipelines.list
-  eventarc.pipelines. setIamPolicy 
-  eventarc.pipelines.update
-  eventarc.providers.get
-  eventarc.providers.list
-  eventarc.triggers.create
-  eventarc.triggers.delete
-  eventarc.triggers.get
-  eventarc.triggers.getIamPolicy
-  eventarc.triggers.list
-  eventarc.triggers.setIamPolicy
-  eventarc.triggers.undelete
-  eventarc.triggers.update
  recommender.  
 
-  recommender.cloudFunctionsPerformanceInsights. get 
-  recommender.cloudFunctionsPerformanceInsights. list 
-  recommender.cloudFunctionsPerformanceInsights. update 
  recommender.  
 
-  recommender.cloudFunctionsPerformanceRecommendations. get 
-  recommender.cloudFunctionsPerformanceRecommendations. list 
-  recommender.cloudFunctionsPerformanceRecommendations. update 
  recommender.locations.* 
 
-  recommender.locations.get
-  recommender.locations.list
  recommender.  
 
-  recommender.runServiceCostInsights. get 
-  recommender.runServiceCostInsights. list 
-  recommender.runServiceCostInsights. update 
  recommender.  
 
-  recommender.runServiceCostRecommendations. get 
-  recommender.runServiceCostRecommendations. list 
-  recommender.runServiceCostRecommendations. update 
  recommender.  
 
-  recommender.runServiceIdentityInsights. get 
-  recommender.runServiceIdentityInsights. list 
-  recommender.runServiceIdentityInsights. update 
  recommender.  
 
-  recommender.runServiceIdentityRecommendations. get 
-  recommender.runServiceIdentityRecommendations. list 
-  recommender.runServiceIdentityRecommendations. update 
  recommender.  
 
-  recommender.runServicePerformanceInsights. get 
-  recommender.runServicePerformanceInsights. list 
-  recommender.runServicePerformanceInsights. update 
  recommender.  
 
-  recommender.runServicePerformanceRecommendations. get 
-  recommender.runServicePerformanceRecommendations. list 
-  recommender.runServicePerformanceRecommendations. update 
  recommender.  
 
-  recommender.runServiceSecurityInsights. get 
-  recommender.runServiceSecurityInsights. list 
-  recommender.runServiceSecurityInsights. update 
  recommender.  
 
-  recommender.runServiceSecurityRecommendations. get 
-  recommender.runServiceSecurityRecommendations. list 
-  recommender.runServiceSecurityRecommendations. update 
 remotebuildexecution.blobs.get 
 resourcemanager.projects.get 
 resourcemanager.  
 resourcemanager.projects.list 
  run.* 
 
-  run.configurations.get
-  run.configurations.list
-  run.executions.cancel
-  run.executions.delete
-  run.executions.get
-  run.executions.list
-  run.jobs.create
-  run.jobs.createTagBinding
-  run.jobs.delete
-  run.jobs.deleteTagBinding
-  run.jobs.get
-  run.jobs.getIamPolicy
-  run.jobs.list
-  run.jobs.listEffectiveTags
-  run.jobs.listTagBindings
-  run.jobs.run
-  run.jobs.runWithOverrides
-  run.jobs.setIamPolicy
-  run.jobs.update
-  run.locations.list
-  run.operations.delete
-  run.operations.get
-  run.operations.list
-  run.revisions.delete
-  run.revisions.get
-  run.revisions.list
-  run.routes.get
-  run.routes.invoke
-  run.routes.list
-  run.services.create
-  run.services.createTagBinding
-  run.services.delete
-  run.services.deleteTagBinding
-  run.services.get
-  run.services.getIamPolicy
-  run.services.list
-  run.services.listEffectiveTags
-  run.services.listTagBindings
-  run.services.setIamPolicy
-  run.services.update
-  run.tasks.get
-  run.tasks.list
-  run.workerpools.create
-  run.workerpools.delete
-  run.workerpools.get
-  run.workerpools.getIamPolicy
-  run.workerpools.list
-  run.workerpools.setIamPolicy
-  run.workerpools.update
 serviceusage.quotas.get 
 serviceusage.services.get 
 serviceusage.services.list 
Cloud Functions Developer
( roles/  
)
Read and write access to all functions-related resources.
 artifactregistry.  
 artifactregistry.  
  artifactregistry.  
 
-  artifactregistry.dockerimages. get 
-  artifactregistry.dockerimages. list 
 artifactregistry.  
 artifactregistry.files.get 
 artifactregistry.files.list 
  artifactregistry.locations.* 
 
-  artifactregistry.locations.get
-  artifactregistry.locations. list 
  artifactregistry.  
 
-  artifactregistry.mavenartifacts. get 
-  artifactregistry.mavenartifacts. list 
  artifactregistry.npmpackages.* 
 
-  artifactregistry.npmpackages. get 
-  artifactregistry.npmpackages. list 
 artifactregistry.packages.get 
 artifactregistry.packages.list 
 artifactregistry.  
  artifactregistry.  
 
-  artifactregistry.pythonpackages. get 
-  artifactregistry.pythonpackages. list 
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.rules.get 
 artifactregistry.rules.list 
 artifactregistry.tags.get 
 artifactregistry.tags.list 
 artifactregistry.versions.get 
 artifactregistry.versions.list 
 cloudasset.  
 cloudbuild.builds.get 
 cloudbuild.builds.list 
  cloudbuild.locations.* 
 
-  cloudbuild.locations.get
-  cloudbuild.locations.list
  cloudbuild.operations.* 
 
-  cloudbuild.operations.get
-  cloudbuild.operations.list
 cloudfunctions.functions.call 
 cloudfunctions.  
 cloudfunctions.  
 cloudfunctions.  
 cloudfunctions.functions.get 
 cloudfunctions.  
 cloudfunctions.functions.list 
 cloudfunctions.  
 cloudfunctions.  
 cloudfunctions.  
 cloudfunctions.locations.list 
  cloudfunctions.operations.* 
 
-  cloudfunctions.operations.get
-  cloudfunctions.operations.list
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.channels.attach 
 eventarc.channels.create 
 eventarc.channels.delete 
 eventarc.channels.get 
 eventarc.channels.getIamPolicy 
 eventarc.channels.list 
 eventarc.channels.publish 
 eventarc.channels.undelete 
 eventarc.channels.update 
 eventarc.enrollments.create 
 eventarc.enrollments.delete 
 eventarc.enrollments.get 
 eventarc.  
 eventarc.enrollments.list 
 eventarc.enrollments.update 
 eventarc.  
 eventarc.  
 eventarc.googleApiSources.get 
 eventarc.  
 eventarc.googleApiSources.list 
 eventarc.  
  eventarc.  
 
-  eventarc.googleChannelConfigs. get 
-  eventarc.googleChannelConfigs. update 
 eventarc.kafkaSources.create 
 eventarc.kafkaSources.delete 
 eventarc.kafkaSources.get 
 eventarc.  
 eventarc.kafkaSources.list 
  eventarc.locations.* 
 
-  eventarc.locations.get
-  eventarc.locations.list
  eventarc.operations.* 
 
-  eventarc.operations.cancel
-  eventarc.operations.delete
-  eventarc.operations.get
-  eventarc.operations.list
 eventarc.pipelines.create 
 eventarc.pipelines.delete 
 eventarc.pipelines.get 
 eventarc.  
 eventarc.pipelines.list 
 eventarc.pipelines.update 
  eventarc.providers.* 
 
-  eventarc.providers.get
-  eventarc.providers.list
 eventarc.triggers.create 
 eventarc.triggers.delete 
 eventarc.triggers.get 
 eventarc.triggers.getIamPolicy 
 eventarc.triggers.list 
 eventarc.triggers.undelete 
 eventarc.triggers.update 
  recommender.  
 
-  recommender.cloudFunctionsPerformanceInsights. get 
-  recommender.cloudFunctionsPerformanceInsights. list 
-  recommender.cloudFunctionsPerformanceInsights. update 
  recommender.  
 
-  recommender.cloudFunctionsPerformanceRecommendations. get 
-  recommender.cloudFunctionsPerformanceRecommendations. list 
-  recommender.cloudFunctionsPerformanceRecommendations. update 
  recommender.locations.* 
 
-  recommender.locations.get
-  recommender.locations.list
  recommender.  
 
-  recommender.runServiceCostInsights. get 
-  recommender.runServiceCostInsights. list 
-  recommender.runServiceCostInsights. update 
  recommender.  
 
-  recommender.runServiceCostRecommendations. get 
-  recommender.runServiceCostRecommendations. list 
-  recommender.runServiceCostRecommendations. update 
  recommender.  
 
-  recommender.runServiceIdentityInsights. get 
-  recommender.runServiceIdentityInsights. list 
-  recommender.runServiceIdentityInsights. update 
  recommender.  
 
-  recommender.runServiceIdentityRecommendations. get 
-  recommender.runServiceIdentityRecommendations. list 
-  recommender.runServiceIdentityRecommendations. update 
  recommender.  
 
-  recommender.runServicePerformanceInsights. get 
-  recommender.runServicePerformanceInsights. list 
-  recommender.runServicePerformanceInsights. update 
  recommender.  
 
-  recommender.runServicePerformanceRecommendations. get 
-  recommender.runServicePerformanceRecommendations. list 
-  recommender.runServicePerformanceRecommendations. update 
  recommender.  
 
-  recommender.runServiceSecurityInsights. get 
-  recommender.runServiceSecurityInsights. list 
-  recommender.runServiceSecurityInsights. update 
  recommender.  
 
-  recommender.runServiceSecurityRecommendations. get 
-  recommender.runServiceSecurityRecommendations. list 
-  recommender.runServiceSecurityRecommendations. update 
 remotebuildexecution.blobs.get 
 resourcemanager.projects.get 
 resourcemanager.projects.list 
  run.configurations.* 
 
-  run.configurations.get
-  run.configurations.list
  run.executions.* 
 
-  run.executions.cancel
-  run.executions.delete
-  run.executions.get
-  run.executions.list
 run.jobs.create 
 run.jobs.delete 
 run.jobs.get 
 run.jobs.getIamPolicy 
 run.jobs.list 
 run.jobs.listEffectiveTags 
 run.jobs.listTagBindings 
 run.jobs.run 
 run.jobs.runWithOverrides 
 run.jobs.update 
 run.locations.list 
  run.operations.* 
 
-  run.operations.delete
-  run.operations.get
-  run.operations.list
  run.revisions.* 
 
-  run.revisions.delete
-  run.revisions.get
-  run.revisions.list
  run.routes.* 
 
-  run.routes.get
-  run.routes.invoke
-  run.routes.list
 run.services.create 
 run.services.delete 
 run.services.get 
 run.services.getIamPolicy 
 run.services.list 
 run.services.listEffectiveTags 
 run.services.listTagBindings 
 run.services.update 
  run.tasks.* 
 
-  run.tasks.get
-  run.tasks.list
 run.workerpools.create 
 run.workerpools.delete 
 run.workerpools.get 
 run.workerpools.getIamPolicy 
 run.workerpools.list 
 run.workerpools.update 
 serviceusage.quotas.get 
 serviceusage.services.get 
 serviceusage.services.list 
Cloud Functions Invoker
( roles/  
)
Ability to invoke 1st gen HTTP functions with restricted access. 2nd gen functions need the Cloud Run Invoker role instead.
 cloudfunctions.  
Cloud Functions Service Agent
( roles/  
)
Gives Cloud Functions service account access to managed resources.
 artifactregistry.  
  artifactregistry.attachments.* 
 
-  artifactregistry.attachments. create 
-  artifactregistry.attachments. delete 
-  artifactregistry.attachments. get 
-  artifactregistry.attachments. list 
  artifactregistry.  
 
-  artifactregistry.dockerimages. get 
-  artifactregistry.dockerimages. list 
  artifactregistry.files.* 
 
-  artifactregistry.files.delete
-  artifactregistry.files. download 
-  artifactregistry.files.get
-  artifactregistry.files.list
-  artifactregistry.files.update
-  artifactregistry.files.upload
 artifactregistry.  
  artifactregistry.locations.* 
 
-  artifactregistry.locations.get
-  artifactregistry.locations. list 
  artifactregistry.  
 
-  artifactregistry.mavenartifacts. get 
-  artifactregistry.mavenartifacts. list 
  artifactregistry.npmpackages.* 
 
-  artifactregistry.npmpackages. get 
-  artifactregistry.npmpackages. list 
  artifactregistry.packages.* 
 
-  artifactregistry.packages. delete 
-  artifactregistry.packages.get
-  artifactregistry.packages.list
-  artifactregistry.packages. update 
  artifactregistry.  
 
-  artifactregistry.projectsettings. get 
-  artifactregistry.projectsettings. update 
  artifactregistry.  
 
-  artifactregistry.pythonpackages. get 
-  artifactregistry.pythonpackages. list 
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
 artifactregistry.  
  artifactregistry.rules.* 
 
-  artifactregistry.rules.create
-  artifactregistry.rules.delete
-  artifactregistry.rules.get
-  artifactregistry.rules.list
-  artifactregistry.rules.update
  artifactregistry.tags.* 
 
-  artifactregistry.tags.create
-  artifactregistry.tags.delete
-  artifactregistry.tags.get
-  artifactregistry.tags.list
-  artifactregistry.tags.update
  artifactregistry.versions.* 
 
-  artifactregistry.versions. delete 
-  artifactregistry.versions.get
-  artifactregistry.versions.list
-  artifactregistry.versions. update 
 artifactregistry.  
 clientauthconfig.clients.list 
 cloudbuild.builds.create 
 cloudbuild.builds.get 
 cloudbuild.builds.list 
 cloudbuild.builds.update 
  cloudbuild.locations.* 
 
-  cloudbuild.locations.get
-  cloudbuild.locations.list
  cloudbuild.operations.* 
 
-  cloudbuild.operations.get
-  cloudbuild.operations.list
 cloudbuild.workerpools.use 
 cloudfunctions.functions.get 
 cloudfunctions.  
 cloudfunctions.functions.list 
  cloudfunctions.operations.* 
 
-  cloudfunctions.operations.get
-  cloudfunctions.operations.list
 compute.globalOperations.get 
 compute.networks.access 
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.channels.attach 
 eventarc.channels.create 
 eventarc.channels.delete 
 eventarc.channels.get 
 eventarc.channels.getIamPolicy 
 eventarc.channels.list 
 eventarc.channels.publish 
 eventarc.channels.undelete 
 eventarc.channels.update 
 eventarc.enrollments.create 
 eventarc.enrollments.delete 
 eventarc.enrollments.get 
 eventarc.  
 eventarc.enrollments.list 
 eventarc.enrollments.update 
 eventarc.  
 eventarc.  
 eventarc.googleApiSources.get 
 eventarc.  
 eventarc.googleApiSources.list 
 eventarc.  
  eventarc.  
 
-  eventarc.googleChannelConfigs. get 
-  eventarc.googleChannelConfigs. update 
 eventarc.kafkaSources.create 
 eventarc.kafkaSources.delete 
 eventarc.kafkaSources.get 
 eventarc.  
 eventarc.kafkaSources.list 
  eventarc.locations.* 
 
-  eventarc.locations.get
-  eventarc.locations.list
  eventarc.operations.* 
 
-  eventarc.operations.cancel
-  eventarc.operations.delete
-  eventarc.operations.get
-  eventarc.operations.list
 eventarc.pipelines.create 
 eventarc.pipelines.delete 
 eventarc.pipelines.get 
 eventarc.  
 eventarc.pipelines.list 
 eventarc.pipelines.update 
  eventarc.providers.* 
 
-  eventarc.providers.get
-  eventarc.providers.list
 eventarc.triggers.create 
 eventarc.triggers.delete 
 eventarc.triggers.get 
 eventarc.triggers.getIamPolicy 
 eventarc.triggers.list 
 eventarc.triggers.undelete 
 eventarc.triggers.update 
 firebasedatabase.instances.get 
 firebasedatabase.  
 iam.serviceAccounts.actAs 
 iam.  
 iam.  
 iam.serviceAccounts.signBlob 
 pubsub.subscriptions.consume 
 pubsub.subscriptions.create 
 pubsub.subscriptions.delete 
 pubsub.subscriptions.get 
 pubsub.  
 pubsub.subscriptions.list 
 pubsub.  
 pubsub.  
 pubsub.  
 pubsub.subscriptions.update 
 pubsub.  
 pubsub.topics.create 
 pubsub.topics.get 
 pubsub.topics.list 
  recommender.locations.* 
 
-  recommender.locations.get
-  recommender.locations.list
  recommender.  
 
-  recommender.runServiceCostInsights. get 
-  recommender.runServiceCostInsights. list 
-  recommender.runServiceCostInsights. update 
  recommender.  
 
-  recommender.runServiceCostRecommendations. get 
-  recommender.runServiceCostRecommendations. list 
-  recommender.runServiceCostRecommendations. update 
  recommender.  
 
-  recommender.runServiceIdentityInsights. get 
-  recommender.runServiceIdentityInsights. list 
-  recommender.runServiceIdentityInsights. update 
  recommender.  
 
-  recommender.runServiceIdentityRecommendations. get 
-  recommender.runServiceIdentityRecommendations. list 
-  recommender.runServiceIdentityRecommendations. update 
  recommender.  
 
-  recommender.runServicePerformanceInsights. get 
-  recommender.runServicePerformanceInsights. list 
-  recommender.runServicePerformanceInsights. update 
  recommender.  
 
-  recommender.runServicePerformanceRecommendations. get 
-  recommender.runServicePerformanceRecommendations. list 
-  recommender.runServicePerformanceRecommendations. update 
  recommender.  
 
-  recommender.runServiceSecurityInsights. get 
-  recommender.runServiceSecurityInsights. list 
-  recommender.runServiceSecurityInsights. update 
  recommender.  
 
-  recommender.runServiceSecurityRecommendations. get 
-  recommender.runServiceSecurityRecommendations. list 
-  recommender.runServiceSecurityRecommendations. update 
 remotebuildexecution.blobs.get 
 resourcemanager.projects.get 
 resourcemanager.  
 resourcemanager.projects.list 
  run.configurations.* 
 
-  run.configurations.get
-  run.configurations.list
  run.executions.* 
 
-  run.executions.cancel
-  run.executions.delete
-  run.executions.get
-  run.executions.list
 run.jobs.create 
 run.jobs.delete 
 run.jobs.get 
 run.jobs.getIamPolicy 
 run.jobs.list 
 run.jobs.listEffectiveTags 
 run.jobs.listTagBindings 
 run.jobs.run 
 run.jobs.runWithOverrides 
 run.jobs.update 
 run.locations.list 
  run.operations.* 
 
-  run.operations.delete
-  run.operations.get
-  run.operations.list
  run.revisions.* 
 
-  run.revisions.delete
-  run.revisions.get
-  run.revisions.list
  run.routes.* 
 
-  run.routes.get
-  run.routes.invoke
-  run.routes.list
 run.services.create 
 run.services.delete 
 run.services.get 
 run.services.getIamPolicy 
 run.services.list 
 run.services.listEffectiveTags 
 run.services.listTagBindings 
 run.services.update 
  run.tasks.* 
 
-  run.tasks.get
-  run.tasks.list
 run.workerpools.create 
 run.workerpools.delete 
 run.workerpools.get 
 run.workerpools.getIamPolicy 
 run.workerpools.list 
 run.workerpools.update 
 serviceusage.quotas.get 
 serviceusage.services.disable 
 serviceusage.services.enable 
 serviceusage.services.get 
 serviceusage.services.use 
 source.repos.get 
 source.repos.list 
 storage.buckets.create 
 storage.buckets.delete 
 storage.buckets.get 
 storage.buckets.update 
 storage.objects.create 
 storage.objects.delete 
 storage.objects.get 
 storage.objects.list 
 vpcaccess.connectors.get 
 vpcaccess.connectors.use 
Cloud Functions Viewer
( roles/  
)
Read-only access to functions and locations.
 cloudasset.  
 cloudbuild.builds.get 
 cloudbuild.builds.list 
  cloudbuild.locations.* 
 
-  cloudbuild.locations.get
-  cloudbuild.locations.list
  cloudbuild.operations.* 
 
-  cloudbuild.operations.get
-  cloudbuild.operations.list
 cloudfunctions.functions.get 
 cloudfunctions.  
 cloudfunctions.functions.list 
 cloudfunctions.locations.list 
  cloudfunctions.operations.* 
 
-  cloudfunctions.operations.get
-  cloudfunctions.operations.list
 eventarc.  
 eventarc.  
 eventarc.  
 eventarc.channels.get 
 eventarc.channels.getIamPolicy 
 eventarc.channels.list 
 eventarc.enrollments.get 
 eventarc.  
 eventarc.enrollments.list 
 eventarc.googleApiSources.get 
 eventarc.  
 eventarc.googleApiSources.list 
 eventarc.  
 eventarc.kafkaSources.get 
 eventarc.  
 eventarc.kafkaSources.list 
  eventarc.locations.* 
 
-  eventarc.locations.get
-  eventarc.locations.list
 eventarc.messageBuses.get 
 eventarc.  
 eventarc.messageBuses.list 
 eventarc.messageBuses.use 
 eventarc.  
 eventarc.operations.get 
 eventarc.operations.list 
 eventarc.pipelines.get 
 eventarc.  
 eventarc.pipelines.list 
  eventarc.providers.* 
 
-  eventarc.providers.get
-  eventarc.providers.list
 eventarc.triggers.get 
 eventarc.triggers.getIamPolicy 
 eventarc.triggers.list 
 recommender.  
 recommender.  
 recommender.  
 recommender.  
  recommender.locations.* 
 
-  recommender.locations.get
-  recommender.locations.list
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 recommender.  
 remotebuildexecution.blobs.get 
 resourcemanager.projects.get 
 resourcemanager.projects.list 
  run.configurations.* 
 
-  run.configurations.get
-  run.configurations.list
 run.executions.get 
 run.executions.list 
 run.jobs.get 
 run.jobs.getIamPolicy 
 run.jobs.list 
 run.jobs.listEffectiveTags 
 run.jobs.listTagBindings 
 run.locations.list 
 run.operations.get 
 run.operations.list 
 run.revisions.get 
 run.revisions.list 
 run.routes.get 
 run.routes.list 
 run.services.get 
 run.services.getIamPolicy 
 run.services.list 
 run.services.listEffectiveTags 
 run.services.listTagBindings 
  run.tasks.* 
 
-  run.tasks.get
-  run.tasks.list
 run.workerpools.get 
 run.workerpools.getIamPolicy 
 run.workerpools.list 
 serviceusage.quotas.get 
 serviceusage.services.get 
 serviceusage.services.list 
Custom roles
For developers that want to define their own roles containing bundles of permissions that they specify, IAM offers custom roles .
If the role contains permissions that let a developer deploy functions, then you must perform the additional configuration in the next section.
Additional configuration for deployment
You use Identity and Access Management 
to authorize identities to perform
administrative actions on functions created using the Cloud Functions v2 API 
—for example, using gcloud functions 
, the REST API, or Terraform. Administration actions include
creating, updating, and deleting functions. For more information, see Authorize access with IAM 
.
To deploy Cloud Run functions that were created with the Cloud Functions v1 API or v2 API, ask your administrator to grant you one of the following IAM roles:
-  Cloud Functions
Admin role 
( roles/cloudfunctions.admin)
-  Cloud Functions
Developer role 
( roles/cloudfunctions.developer)
- A custom role that has the required permissions for deploying functions
You must also grant the runtime service account and the Cloud Build service account the following role:
- Service Account User
IAM role  (roles/iam.serviceAccountUser)
These configurations don't impact the custom Cloud Build service account or the permissions required to build a function. For more information, see Build process overview .
Console
-  Go to the Google Cloud console: 
-  Select a project to display the runtime service accounts associated with it. 
-  Select a runtime service account from the Emailcolumn in the table: - For Cloud Run functions (1st gen), the default runtime service account is PROJECT_ID@appspot.gserviceaccount.com.
- For Cloud Run functions, the default runtime service account is PROJECT_NUMBER-compute@developer.gserviceaccount.com.
 
- For Cloud Run functions (1st gen), the default runtime service account is 
-  Display the Principals with accesstab. 
-  Click Grant Access. 
-  Enter the member (for example, user or group email) that you're granting the Admin or Developer role to. 
-  Under Assign Roles > Role, choose Service Accounts > Service Account User. 
-  Click Save. 
gcloud
Cloud Run functions (1st gen):
gcloud iam service-accounts add-iam-policy-binding \ PROJECT_ID @appspot.gserviceaccount.com \ --member MEMBER \ --role roles/iam.serviceAccountUser
Cloud Run functions:
gcloud iam service-accounts add-iam-policy-binding \ PROJECT_NUMBER -compute@developer.gserviceaccount.com \ --member MEMBER \ --role roles/iam.serviceAccountUser
Optional permissions
The following optional permissions can be considered when configuring accounts with a minimal permission set:
-  monitoring.timeSeries.liston the project level. Typically assigned through theroles/monitoring.viewerrole. It allows user to access metrics generated by their function. For more information, go to the Stackdriver documentation for Access Control .
-  logging.logEntries.liston the project level. Typically assigned through theroles/logging.viewerrole. It allows user to access logs generated by their function. For more information, go to the Access Control guide in the Stackdriver Logging documentation.

