gcloud iap web add-iam-policy-binding - add IAM policy binding to an IAP IAM resource
gcloud iap web add-iam-policy-binding --member=PRINCIPAL --role=ROLE [--condition=[KEY=VALUE,...] | --condition-from-file=CONDITION_FROM_FILE] [--resource-type=RESOURCE_TYPE : --service=SERVICE --version=VERSION] [GCLOUD_WIDE_FLAG ...]
Adds a policy binding to the IAM policy of an IAP IAM resource. One binding consists of a member, a role, and an optional condition. See $ gcloud iap web get-iam-policy for examples of how to specify an IAP IAM resource.
See $ gcloud iap web get-iam-policy for examples of how to specify an IAP IAM resource.
To add an IAM policy binding for the role of 'roles/editor' for the user 'test-user@gmail.com' on IAP IAM resource IAP_IAM_RESOURCE, run:
$ gcloud iap web add-iam-policy-binding \ --resource-type=IAP_IAM_RESOURCE \ --member='user:test-user@gmail.com' --role='roles/editor'
To add an IAM policy binding for the role of 'roles/editor' for all authenticated users on IAP IAM resource IAP_IAM_RESOURCE, run:
$ gcloud iap web add-iam-policy-binding \ --resource-type=IAP_IAM_RESOURCE \ --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/browser' and the user 'test-user@gmail.com' on IAP IAM resource IAP_IAM_RESOURCE, run:
$ gcloud iap web add-iam-policy-binding \ --resource-type=IAP_IAM_RESOURCE \ --member='user:test-user@gmail.com' --role='roles/browser' \ --condition='expression=request.time < timestamp("2019-01-01T00:00:00Z"),title=expires_end_of_2018, description=Expires at midnight on 2018-12-31'
See https://cloud.google.com/iam/docs/managing-policies for details of policy role and member types.
- --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.
- 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=CONDITION_FROM_FILE
Path to a local JSON or YAML file that defines the condition. To see available fields, see the help for --condition.
- --resource-type=RESOURCE_TYPE
Resource type of the IAP resource. RESOURCE_TYPE must be one of: app-engine, backend-services.
- --service=SERVICE
Service name.
- --version=VERSION
Service version. Should only be specified with --resource-type=app-engine.
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 iap web add-iam-policy-binding
$ gcloud beta iap web add-iam-policy-binding