gcloud iam service-accounts set-iam-policy - set IAM policy for a service account
gcloud iam service-accounts set-iam-policy SERVICE_ACCOUNT POLICY_FILE [GCLOUD_WIDE_FLAG ...]
This command replaces the existing IAM policy for a service account, given an IAM_ACCOUNT and a file encoded in JSON or YAML that contains the IAM policy. If the given policy file specifies an "etag" value, then the replacement will succeed only if the policy already in place matches that etag. (An etag obtained via $ gcloud iam service-accounts get-iam-policy will prevent the replacement if the policy for the service account has been subsequently updated.) A policy file that does not contain an etag value will replace any existing policy for the service account.
If the service account does not exist, this command returns a PERMISSION_DENIED error.
When managing IAM roles, you can treat a service account either as a resource or as an identity. This command is to set the iam policy of a service account resource. There are other gcloud commands to manage IAM policies for other types of resources. For example, to manage IAM policies on a project, use the $ gcloud projects commands.
The following command will read an IAM policy from 'policy.json' and set it for a service account with 'my-iam-account@my-project.iam.gserviceaccount.com' as the identifier:
$ gcloud iam service-accounts set-iam-policy \ my-iam-account@my-project.iam.gserviceaccount.com policy.json
See https://cloud.google.com/iam/docs/managing-policies for details of the policy file format and contents.
- SERVICE_ACCOUNT
The service account whose policy to set. The account should be formatted either as a numeric service account ID or as an email, like this: 123456789876543212345 or my-iam-account@somedomain.com.
- POLICY_FILE
Path to a local JSON or YAML formatted file containing a valid policy.
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
These variants are also available:
$ gcloud alpha iam service-accounts set-iam-policy
$ gcloud beta iam service-accounts set-iam-policy