Public and Private Services
This page compares the concepts of public and private services on Google Cloud.
Public APIs and services
Public APIs and services are globally visible across all Google Cloud projects. Examples of public Google Cloud APIs and services include:
You need the appropriate permissions to list or use public
APIs and services in a Google Cloud project. For example, to enable a service,
you need the serviceusage.services.enable
Identity and Access Management permission. To
learn about the required IAM permissions for
Service Usage, see
Access Control.
Private APIs and services
Private services are typically APIs implemented using Cloud Endpoints running in another Google Cloud project. To discover or use private APIs and services, you must be first be granted access by a principal with the necessary permissions. To learn how to grant access to enable Cloud Endpoints APIs from a Google Cloud project, see the following pages for each of the respective Cloud Endpoints API frameworks:
- Controlling Who Can Enable Your API for the OpenAPI Specification.
- Controlling Who Can Enable Your API for Endpoints Frameworks.
- Controlling Who Can Enable Your API for gRPC.
You must also have the appropriate IAM permissions to list or use
private APIs and services. For example, to call the
services.enable
method for a private service, the servicemanagement.services.bind
permission
is required. To learn about the necessary permissions for
Service Usage, see Access Control.
When you list available or enabled APIs and services in a Google Cloud project , the results include any public and private APIs you have access to. To learn more about listing enabled and available services in your Google Cloud projects, see Listing Services.