gcloud alpha iap tcp add-iam-policy-binding

NAME
gcloud alpha iap tcp add-iam-policy-binding - add IAM policy binding to an IAP TCP IAM resource
SYNOPSIS
gcloud alpha iap tcp add-iam-policy-binding --member=PRINCIPAL --role=ROLE [--condition=[KEY=VALUE,…]     | --condition-from-file=PATH_TO_FILE] [--region=REGION --resource-type=RESOURCE_TYPE --instance=INSTANCE     | --service=SERVICE] [GCLOUD_WIDE_FLAG …]
DESCRIPTION
(ALPHA) Adds a policy binding to the IAM policy of an IAP TCP IAM resource. One binding consists of a member, a role, and an optional condition. See $ gcloud alpha iap tcp get-iam-policy for examples of how to specify an IAP TCP IAM resource.
EXAMPLES
See $ gcloud alpha iap tcp get-iam-policy for examples of how to specify an IAP TCP IAM resource.

To add an IAM policy binding for the role of 'roles/iap.tunnelResourceAccessor' for the user 'test-user@gmail.com' to all the Cloud Run services located in the project, run:

gcloud alpha iap tcp add-iam-policy-binding --member='user:test-user@gmail.com' --role='roles/iap.tunnelResourceAccessor' --resource-type=cloud-run

To add an IAM policy binding for the role of 'roles/iap.tunnelResourceAccessor' for the user 'test-user@gmail.com' to all the Cloud Run services located in the region 'us-west1', run:

gcloud alpha iap tcp add-iam-policy-binding --member='user:test-user@gmail.com' --role='roles/iap.tunnelResourceAccessor' --resource-type=cloud-run --region=us-west1

To add an IAM policy binding for the role of 'roles/iap.tunnelResourceAccessor' for the user 'test-user@gmail.com' in the resource 'test-resource' located in the region 'us-west1', run:

gcloud alpha iap tcp add-iam-policy-binding --member='user:test-user@gmail.com' --role='roles/iap.tunnelResourceAccessor' --resource-type=cloud-run --service=test-service --region=us-west1

To add an IAM policy binding for the role of 'roles/iap.tunnelResourceAccessor' for the user 'test-user@gmail.com' in the resource 'test-resource' located in the region 'us-west1' with a condition of expression='request.time < timestamp("2025-01-01T00:00:00Z")', title='expires_end_of_2024', and description='Expires at midnight on 2024-12-31' run:

gcloud alpha iap tcp add-iam-policy-binding --member='user:test-user@gmail.com' --role='roles/iap.tunnelResourceAccessor' --resource-type=cloud-run --service=test-service --region=us-west1 --condition='expression=request.time <
 timestamp("2025-01-01T00:00:00Z"),title=expires_end_of_2024,descrip\
tion=Expires at midnight on 2024-12-31'
REQUIRED FLAGS
--member=PRINCIPAL
The principal to add the binding for. Should be of the form user|group|serviceAccount:email or domain:domain.

Examples: user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com, or domain:example.domain.com.

Some resources also accept 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
Role name to assign to the principal. The role name is the complete path of a predefined role, such as roles/logging.viewer, or the role ID for a custom role, such as organizations/{ORGANIZATION_ID}/roles/logging.viewer.
OPTIONAL FLAGS
At most one of these can be specified:
--condition=[KEY=VALUE,…]
A condition to include in the binding. When the condition is explicitly specified as None (--condition=None), a binding without a condition is added. When the condition is specified and is not None, --role cannot be a basic role. Basic roles are roles/editor, roles/owner, and roles/viewer. For more on conditions, refer to the conditions overview guide: https://cloud.google.com/iam/docs/conditions-overview

When using the --condition flag, include the following key-value pairs:

expression
(Required) Condition expression that evaluates to True or False. This uses a subset of Common Expression Language syntax.

If the condition expression includes a comma, use a different delimiter to separate the key-value pairs. Specify the delimiter before listing the key-value pairs. For example, to specify a colon (:) as the delimiter, do the following: --condition=^:^title=TITLE:expression=EXPRESSION. For more information, see https://cloud.google.com/sdk/gcloud/reference/topic/escaping.

title
(Required) A short string describing the purpose of the expression.
description
(Optional) Additional description for the expression.
--condition-from-file=PATH_TO_FILE
Path to a local JSON or YAML file that defines the condition. To see available fields, see the help for --condition. Use a full or relative path to a local file containing the value of condition.
--region=REGION
Region name. Required when --service or --instance is specified for resource-type=cloud-run.
--resource-type=RESOURCE_TYPE
Resource type of the IAP resource. RESOURCE_TYPE must be (only one value is supported): cloud-run.
At most one of these can be specified:
--instance=INSTANCE
Instance ID.
--service=SERVICE
Service name.
GCLOUD WIDE FLAGS
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.

NOTES
This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. This variant is also available:
gcloud beta iap tcp add-iam-policy-binding