NAME

gcloud beta kms keys remove-iam-policy-binding - remove IAM policy binding for a kms key

SYNOPSIS

gcloud beta kms keys remove-iam-policy-binding (KEY : --keyring=KEYRING --location=LOCATION) --member=PRINCIPAL --role=ROLE [--all | --condition=[KEY=VALUE,...] | --condition-from-file=CONDITION_FROM_FILE] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION

(BETA) Removes a policy binding from the IAM policy of a kms key. A binding consists of at least one member, a role, and an optional condition.

EXAMPLES

To remove an IAM policy binding for the role of 'roles/editor' for the user 'test-user@gmail.com' on the key frodo with the keyring fellowship and location global, run:

$ gcloud beta kms keys remove-iam-policy-binding frodo \ --keyring='fellowship' --location='global' \ --member='user:test-user@gmail.com' --role='roles/editor'

To remove an IAM policy binding with a condition of expression='request.time < timestamp("2019-01-01T00:00:00Z")', title='expires_end_of_2018', and description='Expires at midnight on 2018-12-31' for the role of 'roles/cloudkms.signer' for the user 'test-user@gmail.com' on a the key frodo with the keyring fellowship and location global, run:

$ gcloud beta kms keys remove-iam-policy-binding frodo \ --keyring='fellowship' --location='global' \ --member='user:test-user@gmail.com' \ --role='roles/cloudkms.signer' \ --condition='expression=request.time < timestamp("2019-01-01T00:00:00Z"),title=expires_end_of_2018,descrip\ tion=Expires at midnight on 2018-12-31'

To remove all IAM policy bindings regardless of the condition for the role of 'roles/cloudkms.signer' and for the user 'test-user@gmail.com' on a the key frodo with the keyring fellowship and location global, run:

$ gcloud beta kms keys remove-iam-policy-binding frodo \ --keyring='fellowship' --location='global' \ --member='user:test-user@gmail.com' \ --role='roles/cloudkms.signer' --all

See https://cloud.google.com/iam/docs/managing-policies for details of policy role and member types.

POSITIONAL ARGUMENTS

Key resource - The key to remove the IAM policy binding. The arguments in this

group can be used to specify the attributes of this 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 key on the command line with a fully specified name;

provide the argument --project on the command line;

set the property core/project.

This must be specified.

KEY

ID of the key or fully qualified identifier for the key. To set the key attribute:

  • provide the argument key on the command line.

This positional argument must be specified if any of the other arguments in this group are specified.

--keyring=KEYRING

The containing keyring. To set the keyring attribute:

  • provide the argument key on the command line with a fully specified name;

  • provide the argument --keyring on the command line.

--location=LOCATION

The location of the resource. To set the location attribute:

  • provide the argument key on the command line with a fully specified name;

  • provide the argument --location on the command line.

REQUIRED FLAGS

--member=PRINCIPAL

The principal to remove 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.

Deleted principals have an additional deleted: prefix and a ?uid=UID suffix, where UID is a unique identifier for the principal. Example: deleted:user:test-user@gmail.com?uid=123456789012345678901.

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

The role to remove the principal from.

OPTIONAL FLAGS

At most one of these can be specified:
--all

Remove all bindings with this role and principal, irrespective of any conditions.

--condition=[KEY=VALUE,...]

The condition of the binding that you want to remove. When the condition is explicitly specified as None (--condition=None), a binding without a condition is removed. Otherwise, only a binding with a condition that exactly matches the specified condition (including the optional description) is removed. 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.

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.

API REFERENCE

This command uses the cloudkms/v1 API. The full documentation for this API can be found at: https://cloud.google.com/kms/

NOTES

This command is currently in beta and might change without notice. These variants are also available:

$ gcloud kms keys remove-iam-policy-binding

$ gcloud alpha kms keys remove-iam-policy-binding