API Gateway API access overview

This page describes the API access control options available to you in API Gateway.

Overview

API Gateway uses Identity and Access Management (IAM) to control access to your API. You can grant access to your API at the project level and at the service consumer level. For example, you can:

  • Grant access to your API users so they can enable your API in their own Google Cloud project.
  • Allow principals to view all API Gateway resources.
  • Allow principals to create, update, or delete API Gateway resources.

Roles that control access to services and resources

You can view and grant roles using the permissions panel on the API Gateway > APIs or Gateways detail pages in the Google Cloud console. Roles can also be granted using the API, or with the Google Cloud CLI.

IAM role name Role title Description
roles/servicemanagement.serviceConsumer Service Consumer Permissions for a Google Account, Google group, or service account to view and enable the API in their own project. See the Service Management API access control topic for information about this role.
roles/apigateway.viewer API Gateway Viewer Read-only access to an API gateway and its related resources. This role includes permissions to get and list APIs, API configs, gateways, and locations.
roles/apigateway.admin API Gateway Admin Full access to an API gateway and its related resources. This role includes permissions to get, create, update, and delete APIs, API configs, gateways, and locations.

API Gateway permissions and roles

The following table lists the project-level roles that grant access to API Gateway resources and their associated permissions:

Role Permissions
API Gateway Viewer apigateway.apiconfigs.get
apigateway.apiconfigs.getIamPolicy
apigateway.apiconfigs.list
apigateway.apis.get
apigateway.apis.getIamPolicy
apigateway.apis.list
apigateway.gateways.get
apigateway.gateways.getIamPolicy
apigateway.gateways.list
apigateway.locations.get
apigateway.locations.list
apigateway.operations.get
apigateway.operations.list
resourcemanager.projects.get
resourcemanager.projects.list
API Gateway Admin All permissions included in the API Gateway Viewer role, plus:
apigateway.apiconfigs.create
apigateway.apiconfigs.delete
apigateway.apiconfigs.setIamPolicy
apigateway.apiconfigs.update
apigateway.apis.create
apigateway.apis.delete
apigateway.apis.setIamPolicy
apigateway.apis.update
apigateway.gateways.create
apigateway.gateways.delete
apigateway.gateways.setIamPolicy
apigateway.gateways.update
apigateway.operations.cancel
apigateway.operations.delete

Custom roles

If basic or predefined roles do not meet your specific needs, API Gateway supports the use of custom roles. You can use IAM to create custom roles for API Gateway.