mirror of
https://github.com/imjasonh/gcloud-help
synced 2026-07-08 10:35:03 +00:00
236 lines
8.9 KiB
Text
236 lines
8.9 KiB
Text
NAME
|
|
gcloud iam policy-bindings create - create PolicyBinding instance
|
|
|
|
SYNOPSIS
|
|
gcloud iam policy-bindings create
|
|
(POLICY_BINDING
|
|
: --folder=FOLDER --location=LOCATION --organization=ORGANIZATION)
|
|
--policy=POLICY --target-principal-set=TARGET_PRINCIPAL_SET
|
|
[--annotations=[ANNOTATIONS,...]] [--async]
|
|
[--display-name=DISPLAY_NAME] [--etag=ETAG] [--policy-kind=POLICY_KIND]
|
|
[--condition-description=CONDITION_DESCRIPTION
|
|
--condition-expression=CONDITION_EXPRESSION
|
|
--condition-location=CONDITION_LOCATION
|
|
--condition-title=CONDITION_TITLE] [GCLOUD_WIDE_FLAG ...]
|
|
|
|
DESCRIPTION
|
|
Create PolicyBinding instance.
|
|
|
|
EXAMPLES
|
|
To create a policy binding instance called my-binding that references a
|
|
principal access boundary policy run:
|
|
|
|
$ gcloud iam policy-bindings create my-binding --organization=123 \
|
|
--location=global \
|
|
--policy=organizations/123/locations/global/\
|
|
principalAccessBoundaryPolicies/my-policy \
|
|
--target-principal-set=//cloudresourcemanager.googleapis.com/\
|
|
organizations/123
|
|
|
|
POSITIONAL ARGUMENTS
|
|
PolicyBinding resource - Identifier. The name of the policy binding, in
|
|
the format
|
|
{binding_parent/locations/{location}/policyBindings/{policy_binding_id}.
|
|
The binding parent is the closest Resource Manager resource (i.e.,
|
|
Project, Folder or Organization) to the binding target.
|
|
|
|
Format:
|
|
|
|
◆ projects/{project_id}/locations/{location}/policyBindings/{policy_binding_id}
|
|
◆ projects/{project_number}/locations/{location}/policyBindings/{policy_binding_id}
|
|
◆ folders/{folder_id}/locations/{location}/policyBindings/{policy_binding_id}
|
|
◆ organizations/{organization_id}/locations/{location}/policyBindings/{policy_binding_id}
|
|
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 policy_binding on the command line with a fully
|
|
specified name;
|
|
◆ provide the argument --project on the command line;
|
|
◆ set the property core/project. This resource can be one of the
|
|
following types: [iam.folders.locations.policyBindings,
|
|
iam.organizations.locations.policyBindings,
|
|
iam.projects.locations.policyBindings].
|
|
|
|
This must be specified.
|
|
|
|
POLICY_BINDING
|
|
ID of the policyBinding or fully qualified identifier for the
|
|
policyBinding.
|
|
|
|
To set the policy_binding attribute:
|
|
▸ provide the argument policy_binding on the command line.
|
|
|
|
This positional argument must be specified if any of the other
|
|
arguments in this group are specified.
|
|
|
|
--folder=FOLDER
|
|
The folder id of the policyBinding resource.
|
|
|
|
To set the folder attribute:
|
|
▸ provide the argument policy_binding on the command line with a
|
|
fully specified name;
|
|
▸ provide the argument --folder on the command line. Must be
|
|
specified for resource of type
|
|
[iam.folders.locations.policyBindings].
|
|
|
|
--location=LOCATION
|
|
The location id of the policyBinding resource.
|
|
|
|
To set the location attribute:
|
|
▸ provide the argument policy_binding on the command line with a
|
|
fully specified name;
|
|
▸ provide the argument --location on the command line.
|
|
|
|
--organization=ORGANIZATION
|
|
The organization id of the policyBinding resource.
|
|
|
|
To set the organization attribute:
|
|
▸ provide the argument policy_binding on the command line with a
|
|
fully specified name;
|
|
▸ provide the argument --organization on the command line. Must be
|
|
specified for resource of type
|
|
[iam.organizations.locations.policyBindings].
|
|
|
|
REQUIRED FLAGS
|
|
--policy=POLICY
|
|
The resource name of the policy to be bound. The binding parent and
|
|
policy must belong to the same Organization (or Project).
|
|
|
|
Target is the full resource name of the resource to which the policy will
|
|
be bound. Immutable once set.
|
|
|
|
This must be specified.
|
|
|
|
Arguments for the target.
|
|
|
|
--target-principal-set=TARGET_PRINCIPAL_SET
|
|
Full Resource Name used for principal access boundary policy
|
|
bindings Examples:
|
|
|
|
▫ Organization:
|
|
//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
|
|
▫ Folder: //cloudresourcemanager.googleapis.com/folders/FOLDER_ID
|
|
▫ Project:
|
|
◇ //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
|
|
◇ //cloudresourcemanager.googleapis.com/projects/PROJECT_ID
|
|
▫ Workload Identity Pool:
|
|
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID
|
|
▫ Workforce Identity:
|
|
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
|
|
▫ Workspace Identity:
|
|
//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID
|
|
|
|
OPTIONAL FLAGS
|
|
--annotations=[ANNOTATIONS,...]
|
|
User defined annotations. See https://google.aip.dev/148#annotations
|
|
for more details such as format and size limitations.
|
|
|
|
KEY
|
|
Sets KEY value.
|
|
|
|
VALUE
|
|
Sets VALUE value.
|
|
|
|
Shorthand Example:
|
|
|
|
--annotations=string=string
|
|
|
|
JSON Example:
|
|
|
|
--annotations='{"string": "string"}'
|
|
|
|
File Example:
|
|
|
|
--annotations=path_to_file.(yaml|json)
|
|
|
|
--async
|
|
Return immediately, without waiting for the operation in progress to
|
|
complete.
|
|
|
|
--display-name=DISPLAY_NAME
|
|
The description of the policy binding. Must be less than or equal to 63
|
|
characters.
|
|
|
|
--etag=ETAG
|
|
The etag for the policy binding. If this is provided on update, it must
|
|
match the server's etag.
|
|
|
|
--policy-kind=POLICY_KIND
|
|
The kind of the policy to attach in this binding. This field must be
|
|
one of the following:
|
|
|
|
◆ Left empty (will be automatically set to the policy kind)
|
|
◆ The input policy kind.
|
|
|
|
POLICY_KIND must be (only one value is supported):
|
|
|
|
principal-access-boundary
|
|
Principal access boundary policy kind
|
|
|
|
Represents a textual expression in the Common Expression Language (CEL)
|
|
syntax. CEL is a C-like expression language. The syntax and semantics of
|
|
CEL are documented at https://github.com/google/cel-spec.
|
|
|
|
Example (Comparison):
|
|
|
|
title: "Summary size limit"
|
|
description: "Determines if a summary is less than 100 chars"
|
|
expression: "document.summary.size() < 100"
|
|
|
|
Example (Equality):
|
|
|
|
title: "Requestor is owner"
|
|
description: "Determines if requestor is the document owner"
|
|
expression: "document.owner == request.auth.claims.email"
|
|
|
|
Example (Logic):
|
|
|
|
title: "Public documents"
|
|
description: "Determine whether the document should be publicly visible"
|
|
expression: "document.type != 'private' && document.type != 'internal'"
|
|
|
|
Example (Data Manipulation):
|
|
|
|
title: "Notification string"
|
|
description: "Create a notification string with a timestamp."
|
|
expression: "'New message received at ' + string(document.create_time)"
|
|
|
|
The exact variables and functions that may be referenced within an
|
|
expression are determined by the service that evaluates it. See the
|
|
service documentation for additional information.
|
|
|
|
--condition-description=CONDITION_DESCRIPTION
|
|
Description of the expression. This is a longer text which describes
|
|
the expression, e.g. when hovered over it in a UI.
|
|
|
|
--condition-expression=CONDITION_EXPRESSION
|
|
Textual representation of an expression in Common Expression Language
|
|
syntax.
|
|
|
|
--condition-location=CONDITION_LOCATION
|
|
String indicating the location of the expression for error reporting,
|
|
e.g. a file name and a position in the file.
|
|
|
|
--condition-title=CONDITION_TITLE
|
|
Title for the expression, i.e. a short string describing its purpose.
|
|
This can be used e.g. in UIs which allow to enter the expression.
|
|
|
|
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 iam/v3 API. The full documentation for this API can
|
|
be found at: https://cloud.google.com/iam/
|
|
|
|
NOTES
|
|
This variant is also available:
|
|
|
|
$ gcloud beta iam policy-bindings create
|
|
|