- NAME
-
- gcloud iam service-accounts add-iam-policy-binding - add an IAM policy binding to an IAM service account
- SYNOPSIS
-
-
gcloud iam service-accounts add-iam-policy-bindingSERVICE_ACCOUNT--member=MEMBER--role=ROLE[--condition=[KEY=VALUE,…] |--condition-from-file=CONDITION_FROM_FILE] [GCLOUD_WIDE_FLAG …]
-
- DESCRIPTION
-
Add an IAM policy binding to an IAM service account. A binding consists of at
least one member, a role, and an optional condition.
When managing IAM roles, you can treat a service account either as a resource or as an identity. This command adds an IAM policy binding to 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.
- POSITIONAL ARGUMENTS
-
-
ServiceAccount resource - The Service Account to which to add the IAM policy
binding. This represents a Cloud resource. (NOTE) Some attributes are not given
arguments in this group but can be set in other ways. To set the [project]
attribute: provide the argument [service_account] on the command line with a
fully specified name; set the property [core/project]; provide the argument
[--project] on the command line. This must be specified.
SERVICE_ACCOUNT- ID of the serviceAccount or fully qualified identifier for the serviceAccount.
-
ServiceAccount resource - The Service Account to which to add the IAM policy
binding. This represents a Cloud resource. (NOTE) Some attributes are not given
arguments in this group but can be set in other ways. To set the [project]
attribute: provide the argument [service_account] on the command line with a
fully specified name; set the property [core/project]; provide the argument
[--project] on the command line. This must be specified.
- REQUIRED FLAGS
-
--member=MEMBER-
The member to add the binding for. Should be of the form
user|group|serviceAccount:emailordomain:domain.Examples:
user:test-user@gmail.com,group:admins@example.com,serviceAccount:test123@example.domain.com, ordomain:example.domain.com.Can also be one of the following special values:
-
allUsers- Special identifier that represents anyone who is on the internet, with or without a Google account. -
allAuthenticatedUsers- Special identifier that represents anyone who is authenticated with a Google account or a service account.
-
--role=ROLE- Define the role of the member.
- OPTIONAL FLAGS
-
-
At most one of these may be specified:
--condition=[KEY=VALUE,…]-
The condition of the binding to be added. When the condition is explicitly
specified as
None(--condition=None), a binding without a condition is added. When the condition is specified and is notNone,--rolecannot be a primitive role. Primitive roles areroles/editor,roles/owner, androles/viewer. expression- (Required) Expression of the condition which evaluates to True or False. This uses a subset of Common Expression Language syntax.
title- (Required) A short string describing the purpose of the expression.
description-
(Optional) Additional description for the expression.
NOTE: An unsatisfied condition will not allow access via this binding.
--condition-from-file=CONDITION_FROM_FILE-
Path to a local JSON or YAML file that defines the condition. To see available
fields, see the help for
--condition.
-
At most one of these may be specified:
- GCLOUD WIDE FLAGS
-
These flags are available to all commands: --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account,
--log-http, --project, --quiet, --trace-token, --user-output-enabled,
--verbosity.
Run
$ gcloud helpfor details. - API REFERENCE
-
This command uses the
iam/v1API. The full documentation for this API can be found at: https://cloud.google.com/iam/ - EXAMPLES
-
To add an IAM policy binding for the role of 'roles/editor' for the user
'test-user@gmail.com' on a service account with identifier
'my-iam-account@somedomain.com', run:
gcloud iam service-accounts add-iam-policy-binding my-iam-account@somedomain.com --member='user:test-user@gmail.com' --role='roles/editor'To add an IAM policy binding for the role of 'roles/editor' to the service account 'test-proj1@example.domain.com', run:
gcloud iam service-accounts add-iam-policy-binding test-proj1@example.domain.com --member='serviceAccount:test-proj1@example.domain.com' --role='roles/editor'To add an IAM policy binding for the role of 'roles/editor' for all authenticated users on a service account with identifier 'my-iam-account@somedomain.com', run:
gcloud iam service-accounts add-iam-policy-binding my-iam-account@somedomain.com --member='allAuthenticatedUsers' --role='roles/editor'To add an IAM policy binding which expires at the end of the year 2018 for the role of 'roles/iam.serviceAccountAdmin' and the user 'test-user@gmail.com' on a service account with identifier 'my-iam-account@somedomain.com', run:
gcloud iam service-accounts add-iam-policy-binding my-iam-account@somedomain.com --member='user:test-user@gmail.com' --role='roles/iam.serviceAccountAdmin' --condition='expression=request.time <timestamp("2019-01-01T00:00:00Z"),title=expires_end_of_2018,descrip\ tion=Expires at midnight on 2018-12-31'See https://cloud.google.com/iam/docs/managing-policies for details of policy role and member types.
- NOTES
-
These variants are also available:
gcloud alpha iam service-accounts add-iam-policy-bindinggcloud beta iam service-accounts add-iam-policy-binding
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-11-10 UTC.