Index
-
Policies
(interface) -
CreatePolicyRequest
(message) -
DeletePolicyRequest
(message) -
DenyRule
(message) -
GetPolicyRequest
(message) -
ListPoliciesRequest
(message) -
ListPoliciesResponse
(message) -
Policy
(message) -
PolicyOperationMetadata
(message) -
PolicyRule
(message) -
UpdatePolicyRequest
(message)
Policies
An interface for managing Identity and Access Management (IAM) policies.
rpc CreatePolicy(
CreatePolicyRequest
) returns ( Operation
)
Creates a policy.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
rpc DeletePolicy(
DeletePolicyRequest
) returns ( Operation
)
Deletes a policy. This action is permanent.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
rpc GetPolicy(
GetPolicyRequest
) returns ( Policy
)
Gets a policy.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
rpc ListPolicies(
ListPoliciesRequest
) returns ( ListPoliciesResponse
)
Retrieves the policies of the specified kind that are attached to a resource.
The response lists only policy metadata. In particular, policy rules are omitted.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
rpc UpdatePolicy(
UpdatePolicyRequest
) returns ( Operation
)
Updates the specified policy.
You can update only the rules and the display name for the policy.
To update a policy, you should use a read-modify-write loop:
- Use
GetPolicy
to read the current version of the policy. - Modify the policy as needed.
- Use
UpdatePolicy
to write the updated policy.
This pattern helps prevent conflicts between concurrent updates.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/cloud-platform
-
https://www.googleapis.com/auth/iam
For more information, see the Authentication Overview .
-
CreatePolicyRequest
Request message for CreatePolicy
.
Fields | |
---|---|
parent
|
Required. The resource that the policy is attached to, along with the kind of policy to create. Format: The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID. |
policy
|
Required. The policy to create. |
policy_id
|
The ID to use for this policy, which will become the final component of the policy's resource name. The ID must contain 3 to 63 characters. It can contain lowercase letters and numbers, as well as dashes ( |
DeletePolicyRequest
Request message for DeletePolicy
.
Fields | |
---|---|
name
|
Required. The resource name of the policy to delete. Format: Use the URL-encoded full resource name, which means that the forward-slash character, For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID. |
etag
|
Optional. The expected If you omit this field, the policy is deleted regardless of its current |
DenyRule
A deny rule in an IAM deny policy.
denied_principals[]
string
The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values:
-
principal://goog/subject/{email_id}
: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example,principal://goog/subject/alice@example.com
. -
principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}
: A Google Cloud service account. For example,principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com
. -
principalSet://goog/group/{group_id}
: A Google group. For example,principalSet://goog/group/admins@example.com
. -
principalSet://goog/public:all
: A special identifier that represents any principal that is on the internet, even if they do not have a Google Account or are not logged in. -
principalSet://goog/cloudIdentityCustomerId/{customer_id}
: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example,principalSet://goog/cloudIdentityCustomerId/C01Abc35
. -
principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}
: A single identity in a workforce identity pool. -
principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}
: All workforce identities in a group. -
principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}
: All workforce identities with a specific attribute value. -
principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*
: All identities in a workforce identity pool. -
principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}
: A single identity in a workload identity pool. -
principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}
: A workload identity pool group. -
principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}
: All identities in a workload identity pool with a certain attribute. -
principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*
: All identities in a workload identity pool. -
principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAccount
: All service accounts grouped under a resource (project, folder, or organization). -
principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAgent
: All service agents grouped under a resource (project, folder, or organization). -
deleted:principal://goog/subject/{email_id}?uid={uid}
: A specific Google Account that was deleted recently. For example,deleted:principal://goog/subject/alice@example.com?uid=1234567890
. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. -
deleted:principalSet://goog/group/{group_id}?uid={uid}
: A Google group that was deleted recently. For example,deleted:principalSet://goog/group/admins@example.com?uid=1234567890
. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. -
deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}
: A Google Cloud service account that was deleted recently. For example,deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890
. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. -
deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}
: Deleted single identity in a workforce identity pool. For example,deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value
.
exception_principals[]
string
The identities that are excluded from the deny rule, even if they are listed in the denied_principals
. For example, you could add a Google group to the denied_principals
, then exclude specific users who belong to that group.
This field can contain the same values as the denied_principals
field, excluding principalSet://goog/public:all
, which represents all users on the internet.
denial_condition
The condition that determines whether this deny rule applies to a request. If the condition expression evaluates to true
, then the deny rule is applied; otherwise, the deny rule is not applied.
Each deny rule is evaluated independently. If this deny rule does not apply to a request, other deny rules might still apply.
The condition can use CEL functions that evaluate resource tags . Other functions and operators are not supported.
GetPolicyRequest
Request message for GetPolicy
.
Fields | |
---|---|
name
|
Required. The resource name of the policy to retrieve. Format: Use the URL-encoded full resource name, which means that the forward-slash character, For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID. |
ListPoliciesRequest
Request message for ListPolicies
.
Fields | |
---|---|
parent
|
Required. The resource that the policy is attached to, along with the kind of policy to list. Format: The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID. |
page_size
|
The maximum number of policies to return. IAM ignores this value and uses the value 1000. |
page_token
|
A page token received in a |
ListPoliciesResponse
Response message for ListPolicies
.
Fields | |
---|---|
policies[]
|
Metadata for the policies that are attached to the resource. |
next_page_token
|
A page token that you can use in a |
Policy
Data for an IAM policy.
Fields | |
---|---|
name
|
Immutable. The resource name of the The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID. |
uid
|
Immutable. The globally unique ID of the |
kind
|
Output only. The kind of the |
display_name
|
A user-specified description of the |
annotations
|
A key-value map to store arbitrary metadata for the |
etag
|
An opaque tag that identifies the current version of the If this field is present in a |
create_time
|
Output only. The time when the |
update_time
|
Output only. The time when the |
delete_time
|
Output only. The time when the |
rules[]
|
A list of rules that specify the behavior of the |
PolicyOperationMetadata
Metadata for long-running Policy
operations.
Fields | |
---|---|
create_time
|
Timestamp when the |
PolicyRule
A single rule in a Policy
.
description
string
A user-specified description of the rule. This value can be up to 256 characters.
Union field kind
.
kind
can be only one of the following:
deny_rule
A rule for a deny policy.
UpdatePolicyRequest
Request message for UpdatePolicy
.
Fields | |
---|---|
policy
|
Required. The policy to update. To prevent conflicting updates, the |