Method: projects.serviceAccounts.setIamPolicy

Sets the IAM policy that is attached to aServiceAccount.

Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account.

This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps:

  1. Call the resource'sgetIamPolicy method to get its current IAM policy.
  2. Edit the policy so that it binds the service account to an IAM role for the resource.
  3. Call the resource'ssetIamPolicy method to update its IAM policy.

For detailed instructions, seeManage access to project, folders, and organizations orManage access to other resources.

HTTP request

POST https://iam.googleapis.com/v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy

The URL usesgRPC Transcoding syntax.

Path parameters

Parameters
resource

string

REQUIRED: The resource for which the policy is being specified. SeeResource names for the appropriate value for this field.

Request body

The request body contains data with the following structure:

JSON representation
{"policy":{object (Policy)},"updateMask":string}
Fields
policy

object (Policy)

REQUIRED: The complete policy to be applied to theresource. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.

updateMask

string (FieldMask format)

OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:

paths: "bindings, etag"

This is a comma-separated list of fully qualified names of fields. Example:"user.displayName,photo".

Response body

If successful, the response body contains an instance ofPolicy.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/iam
  • https://www.googleapis.com/auth/cloud-platform

For more information, see theAuthentication Overview.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-05-21 UTC.