Package google.iam.v1 Stay organized with collections Save and categorize content based on your preferences.
Index
AuditConfig
(message)AuditLogConfig
(message)AuditLogConfig.LogType
(enum)Binding
(message)GetIamPolicyRequest
(message)GetPolicyOptions
(message)Policy
(message)SetIamPolicyRequest
(message)TestIamPermissionsRequest
(message)TestIamPermissionsResponse
(message)
AuditConfig
Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs.
If there are AuditConfigs for bothallServices
and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted.
Example Policy with multiple AuditConfigs:
{ "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ]}
For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exemptsjose@example.com
from DATA_READ logging, andaliya@example.com
from DATA_WRITE logging.
Fields | |
---|---|
service |
Specifies a service that will be enabled for audit logging. For example, |
audit_log_configs[] | The configuration for logging of each type of permission. |
AuditLogConfig
Provides the configuration for logging a type of permissions. Example:
{ "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ]}
This enables 'DATA_READ' and 'DATA_WRITE' logging, while exemptingjose@example.com from DATA_READ logging.
Fields | |
---|---|
log_type | The log type that this config enables. |
exempted_members[] |
Specifies the identities that do not cause logging for this type of permission. Follows the same format of |
LogType
The list of valid permission types for which logging can be configured. Admin writes are always logged, and are not configurable.
Enums | |
---|---|
LOG_TYPE_UNSPECIFIED | Default case. Should never be this. |
ADMIN_READ | Admin reads. Example: CloudIAM getIamPolicy |
DATA_WRITE | Data writes. Example: CloudSQL Users create |
DATA_READ | Data reads. Example: CloudSQL Users list |
Binding
Associatesmembers
, or principals, with arole
.
Fields | |
---|---|
role |
Role that is assigned to the list of For an overview of the IAM roles and permissions, see theIAM documentation. For a list of the available pre-defined roles, seehere. |
members[] |
Specifies the principals requesting access for a Google Cloud resource.
|
condition | The condition that is associated with this binding. If the condition evaluates to If the condition evaluates to To learn which resources support conditions in their IAM policies, see theIAM documentation. |
GetIamPolicyRequest
Request message forGetIamPolicy
method.
Fields | |
---|---|
resource |
REQUIRED: The resource for which the policy is being requested. SeeResource names for the appropriate value for this field. |
options | OPTIONAL: A |
GetPolicyOptions
Encapsulates settings provided to GetIamPolicy.
Fields | |
---|---|
requested_policy_version |
Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see theIAM documentation. |
Policy
An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.
APolicy
is a collection ofbindings
. Abinding
binds one or moremembers
, or principals, to a singlerole
. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). Arole
is a named list of permissions; eachrole
can be an IAM predefined role or a user-created custom role.
For some types of Google Cloud resources, abinding
can also specify acondition
, which is a logical expression that allows access to a resource only if the expression evaluates totrue
. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see theIAM documentation.
JSON example:
{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }
YAML example:
bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3
For a description of IAM and its features, see theIAM documentation.
Fields | |
---|---|
version |
Specifies the format of the policy. Valid values are Any operation that affects conditional role bindings must specify version
Important: If you use IAM Conditions, you must include the If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see theIAM documentation. |
bindings[] | Associates a list of The |
audit_configs[] | Specifies cloud audit logging configuration for this policy. |
etag |
Important: If you use IAM Conditions, you must include the |
SetIamPolicyRequest
Request message forSetIamPolicy
method.
Fields | |
---|---|
resource |
REQUIRED: The resource for which the policy is being specified. SeeResource names for the appropriate value for this field. |
policy | REQUIRED: The complete policy to be applied to the |
update_mask | OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:
|
TestIamPermissionsRequest
Request message forTestIamPermissions
method.
Fields | |
---|---|
resource |
REQUIRED: The resource for which the policy detail is being requested. SeeResource names for the appropriate value for this field. |
permissions[] |
The set of permissions to check for the |
TestIamPermissionsResponse
Response message forTestIamPermissions
method.
Fields | |
---|---|
permissions[] |
A subset of |
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-02 UTC.