Google Cloud Platform
Compute Engine

Authorizing Requests to Google Compute Engine

About authorization protocols

Your application must use OAuth 2.0 to authorize requests. No other authorization protocols are supported. If your application uses Google Sign-In, some aspects of authorization are handled for you.

Authorizing requests with OAuth 2.0

The details of the authorization process, or "flow," for OAuth 2.0 vary somewhat depending on what kind of application you're writing. The following general process applies to all application types:

  1. When you create your application, you register it using the Google Developers Console. Google then provides information you'll need later, such as a client ID and a client secret.
  2. Activate the Google Compute Engine API in the Google Developers Console. (If the API isn't listed in the Developers Console, then skip this step.)
  3. When your application needs access to user data, it asks Google for a particular scope of access.
  4. Google displays a consent screen to the user, asking them to authorize your application to request some of their data.
  5. If the user approves, then Google gives your application a short-lived access token.
  6. Your application requests user data, attaching the access token to the request.
  7. If Google determines that your request and the token are valid, it returns the requested data.

Some flows include additional steps, such as using refresh tokens to acquire new access tokens. For detailed information about flows for various types of applications, see Google's OAuth 2.0 documentation.

Here's the OAuth 2.0 scope information for the Google Compute Engine API:

Scope Meaning Read-write access to Google Compute Engine methods. Read-only access to Google Compute Engine methods.

To request access using OAuth 2.0, your application needs the scope information, as well as information that Google supplies when you register your application (such as the client ID and the client secret).

Tip: The Google APIs client libraries can handle some of the authorization process for you. They are available for a variety of programming languages; check the page with libraries and samples for more details.

If you need to create and add custom images from a file stored in Google Cloud Storage, you also need to provide Google Compute Engine with the scopes to the Google Cloud Storage service. Google Compute Engine uses Google Cloud Storage to store and retrieve tar files that are used to create custom images and can only do so using the proper Google Cloud Storage scopes.

The following is a list of available Google Cloud Storage scopes. See the specific API method to determine which scope is required for that method:

Scope Meaning Full control access to Google Cloud Storage. Read and write access to Google Cloud Storage. Read-only access to Google Cloud Storage.