Package google.cloud.iap.v1

Index

IdentityAwareProxyAdminService

APIs for Identity-Aware Proxy Admin configurations.

CreateTunnelDestGroup

rpc CreateTunnelDestGroup(CreateTunnelDestGroupRequest) returns (TunnelDestGroup)

Creates a new TunnelDestGroup.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteTunnelDestGroup

rpc DeleteTunnelDestGroup(DeleteTunnelDestGroupRequest) returns (Empty)

Deletes a TunnelDestGroup.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetIamPolicy

rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy)

Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetIapSettings

rpc GetIapSettings(GetIapSettingsRequest) returns (IapSettings)

Gets the IAP settings on a particular IAP protected resource.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetTunnelDestGroup

rpc GetTunnelDestGroup(GetTunnelDestGroupRequest) returns (TunnelDestGroup)

Retrieves an existing TunnelDestGroup.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListTunnelDestGroups

rpc ListTunnelDestGroups(ListTunnelDestGroupsRequest) returns (ListTunnelDestGroupsResponse)

Lists the existing TunnelDestGroups. To group across all locations, use a - as the location ID. For example: /v1/projects/123/iap_tunnel/locations/-/destGroups

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SetIamPolicy

rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy)

Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

TestIamPermissions

rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse)

Returns permissions that a caller has on the Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateIapSettings

rpc UpdateIapSettings(UpdateIapSettingsRequest) returns (IapSettings)

Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the update_mask is set.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateTunnelDestGroup

rpc UpdateTunnelDestGroup(UpdateTunnelDestGroupRequest) returns (TunnelDestGroup)

Updates a TunnelDestGroup.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IdentityAwareProxyOAuthService

API to programmatically create, list and retrieve Identity Aware Proxy (IAP) OAuth brands; and create, retrieve, delete and reset-secret of IAP OAuth clients.

CreateBrand

rpc CreateBrand(CreateBrandRequest) returns (Brand)

Constructs a new OAuth brand for the project if one does not exist. The created brand is "internal only", meaning that OAuth clients created under it only accept requests from users who belong to the same Google Workspace organization as the project. The brand is created in an un-reviewed status. NOTE: The "internal only" status can be manually changed in the Google Cloud Console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateIdentityAwareProxyClient

rpc CreateIdentityAwareProxyClient(CreateIdentityAwareProxyClientRequest) returns (IdentityAwareProxyClient)

Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP. Requires that the brand for the project exists and that it is set for internal-only use.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteIdentityAwareProxyClient

rpc DeleteIdentityAwareProxyClient(DeleteIdentityAwareProxyClientRequest) returns (Empty)

Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing obsolete clients, managing the number of clients in a given project, and cleaning up after tests. Requires that the client is owned by IAP.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBrand

rpc GetBrand(GetBrandRequest) returns (Brand)

Retrieves the OAuth brand of the project.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetIdentityAwareProxyClient

rpc GetIdentityAwareProxyClient(GetIdentityAwareProxyClientRequest) returns (IdentityAwareProxyClient)

Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires that the client is owned by IAP.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBrands

rpc ListBrands(ListBrandsRequest) returns (ListBrandsResponse)

Lists the existing brands for the project.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListIdentityAwareProxyClients

rpc ListIdentityAwareProxyClients(ListIdentityAwareProxyClientsRequest) returns (ListIdentityAwareProxyClientsResponse)

Lists the existing clients for the brand.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ResetIdentityAwareProxyClientSecret

rpc ResetIdentityAwareProxyClientSecret(ResetIdentityAwareProxyClientSecretRequest) returns (IdentityAwareProxyClient)

Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret was compromised. Requires that the client is owned by IAP.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

AccessDeniedPageSettings

Custom content configuration for access denied page. IAP allows customers to define a custom URI to use as the error page when access is denied to users. If IAP prevents access to this page, the default IAP error page will be displayed instead.

Fields
access_denied_page_uri

StringValue

The URI to be redirected to when access is denied.

generate_troubleshooting_uri

BoolValue

Whether to generate a troubleshooting URL on access denied events to this application.

AccessSettings

Access related settings for IAP protected apps.

Fields
gcip_settings

GcipSettings

GCIP claims and endpoint configurations for 3p identity providers.

cors_settings

CorsSettings

Configuration to allow cross-origin requests via IAP.

oauth_settings

OAuthSettings

Settings to configure IAP's OAuth behavior.

reauth_settings

ReauthSettings

Settings to configure reauthentication policies in IAP.

ApplicationSettings

Wrapper over application specific settings for IAP.

Fields
csm_settings

CsmSettings

Settings to configure IAP's behavior for a CSM mesh.

access_denied_page_settings

AccessDeniedPageSettings

Customization for Access Denied page.

cookie_domain

StringValue

The Domain value to set for cookies generated by IAP. This value is not validated by the API, but will be ignored at runtime if invalid.

Brand

OAuth brand data. NOTE: Only contains a portion of the data that describes a brand.

Fields
name

string

Output only. Identifier of the brand. NOTE: GCP project number achieves the same brand identification purpose as only one brand per project can be created.

support_email

string

Support email displayed on the OAuth consent screen.

application_title

string

Application name displayed on OAuth consent screen.

org_internal_only

bool

Output only. Whether the brand is only intended for usage inside the G Suite organization only.

CorsSettings

Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS call to bypass authentication and authorization.

Fields
allow_http_options

BoolValue

Configuration to allow HTTP OPTIONS calls to skip authorization. If undefined, IAP will not apply any special logic to OPTIONS requests.

CreateBrandRequest

The request sent to CreateBrand.

Fields
parent

string

Required. GCP Project number/id under which the brand is to be created. In the following format: projects/{project_number/id}.

Authorization requires the following IAM permission on the specified resource parent:

  • clientauthconfig.brands.create
brand

Brand

Required. The brand to be created.

CreateIdentityAwareProxyClientRequest

The request sent to CreateIdentityAwareProxyClient.

Fields
parent

string

Required. Path to create the client in. In the following format: projects/{project_number/id}/brands/{brand}. The project must belong to a G Suite account.

Authorization requires one or more of the following IAM permissions on the specified resource parent:

  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.update
identity_aware_proxy_client

IdentityAwareProxyClient

Required. Identity Aware Proxy Client to be created.

CreateTunnelDestGroupRequest

The request to CreateTunnelDestGroup.

Fields
parent

string

Required. Google Cloud Project ID and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}.

Authorization requires the following IAM permission on the specified resource parent:

  • iap.tunnelDestGroups.create
tunnel_dest_group

TunnelDestGroup

Required. The TunnelDestGroup to create.

tunnel_dest_group_id

string

Required. The ID to use for the TunnelDestGroup, which becomes the final component of the resource name.

This value must be 4-63 characters, and valid characters are [a-z][0-9]-.

CsmSettings

Configuration for RCTokens generated for CSM workloads protected by IAP. RCTokens are IAP generated JWTs that can be verified at the application. The RCToken is primarily used for ISTIO deployments, and can be scoped to a single mesh by configuring the audience field accordingly

Fields
rctoken_aud

StringValue

Audience claim set in the generated RCToken. This value is not validated by IAP.

DeleteIdentityAwareProxyClientRequest

The request sent to DeleteIdentityAwareProxyClient.

Fields
name

string

Required. Name of the Identity Aware Proxy client to be deleted. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.

Authorization requires the following IAM permission on the specified resource name:

  • clientauthconfig.clients.delete

DeleteTunnelDestGroupRequest

The request to DeleteTunnelDestGroup.

Fields
name

string

Required. Name of the TunnelDestGroup to delete. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.

Authorization requires the following IAM permission on the specified resource name:

  • iap.tunnelDestGroups.delete

GcipSettings

Allows customers to configure tenant_id for GCIP instance per-app.

Fields
tenant_ids[]

string

GCIP tenant ids that are linked to the IAP resource. tenant_ids could be a string beginning with a number character to indicate authenticating with GCIP tenant flow, or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow is used, tenant_ids should only contain one single element, while for tenant flow, tenant_ids can contain multiple elements.

login_page_uri

StringValue

Login page URI associated with the GCIP tenants. Typically, all resources within the same project share the same login page, though it could be overridden at the sub resource level.

GetBrandRequest

The request sent to GetBrand.

Fields
name

string

Required. Name of the brand to be fetched. In the following format: projects/{project_number/id}/brands/{brand}.

Authorization requires the following IAM permission on the specified resource name:

  • clientauthconfig.brands.get

GetIapSettingsRequest

The request sent to GetIapSettings.

Fields
name

string

Required. The resource name for which to retrieve the settings. Authorization: Requires the getSettings permission for the associated resource.

Authorization requires one or more of the following IAM permissions on the specified resource name:

  • iap.organizations.getSettings
  • iap.folders.getSettings
  • iap.projects.getSettings
  • iap.web.getSettings
  • iap.webTypes.getSettings
  • iap.webServices.getSettings
  • iap.webServiceVersions.getSettings

GetIdentityAwareProxyClientRequest

The request sent to GetIdentityAwareProxyClient.

Fields
name

string

Required. Name of the Identity Aware Proxy client to be fetched. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.

Authorization requires the following IAM permission on the specified resource name:

  • clientauthconfig.clients.getWithSecret

GetTunnelDestGroupRequest

The request to GetTunnelDestGroup.

Fields
name

string

Required. Name of the TunnelDestGroup to be fetched. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.

Authorization requires the following IAM permission on the specified resource name:

  • iap.tunnelDestGroups.get

IapSettings

The IAP configurable settings.

Fields
name

string

Required. The resource name of the IAP protected resource.

access_settings

AccessSettings

Top level wrapper for all access related setting in IAP

application_settings

ApplicationSettings

Top level wrapper for all application related settings in IAP

IdentityAwareProxyClient

Contains the data that describes an Identity Aware Proxy owned client.

Fields
name

string

Output only. Unique identifier of the OAuth client.

secret

string

Output only. Client secret of the OAuth client.

display_name

string

Human-friendly name given to the OAuth client.

ListBrandsRequest

The request sent to ListBrands.

Fields
parent

string

Required. GCP Project number/id. In the following format: projects/{project_number/id}.

Authorization requires the following IAM permission on the specified resource parent:

  • clientauthconfig.brands.list

ListBrandsResponse

Response message for ListBrands.

Fields
brands[]

Brand

Brands existing in the project.

ListIdentityAwareProxyClientsRequest

The request sent to ListIdentityAwareProxyClients.

Fields
parent

string

Required. Full brand path. In the following format: projects/{project_number/id}/brands/{brand}.

Authorization requires the following IAM permission on the specified resource parent:

  • clientauthconfig.clients.listWithSecrets
page_size

int32

The maximum number of clients to return. The service may return fewer than this value. If unspecified, at most 100 clients will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

A page token, received from a previous ListIdentityAwareProxyClients call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListIdentityAwareProxyClients must match the call that provided the page token.

ListIdentityAwareProxyClientsResponse

Response message for ListIdentityAwareProxyClients.

Fields
identity_aware_proxy_clients[]

IdentityAwareProxyClient

Clients existing in the brand.

next_page_token

string

A token, which can be send as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

ListTunnelDestGroupsRequest

The request to ListTunnelDestGroups.

Fields
parent

string

Required. Google Cloud Project ID and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}. A - can be used for the location to group across all locations.

Authorization requires the following IAM permission on the specified resource parent:

  • iap.tunnelDestGroups.list
page_size

int32

The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 100 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.

page_token

string

A page token, received from a previous ListTunnelDestGroups call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListTunnelDestGroups must match the call that provided the page token.

ListTunnelDestGroupsResponse

The response from ListTunnelDestGroups.

Fields
tunnel_dest_groups[]

TunnelDestGroup

TunnelDestGroup existing in the project.

next_page_token

string

A token that you can send as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

OAuthSettings

Configuration for OAuth login&consent flow behavior as well as for OAuth Credentials.

Fields
login_hint

StringValue

Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies.

ReauthSettings

Configuration for IAP reauthentication policies.

Fields
method

Method

Reauth method required by the policy.

max_age

Duration

Reauth session lifetime, how long before a user has to reauthenticate again.

policy_type

PolicyType

How IAP determines the effective policy in cases of hierarchial policies. Policies are merged from higher in the hierarchy to lower in the hierarchy.

Method

Types of reauthentication methods supported by IAP.

Enums
METHOD_UNSPECIFIED Reauthentication disabled.
LOGIN Mimics the behavior as if the user had logged out and tried to log in again. Users with 2SV (2-step verification) enabled see their 2SV challenges if they did not opt to have their second factor responses saved. Apps Core (GSuites) admins can configure settings to disable 2SV cookies and require 2SV for all Apps Core users in their domains.
PASSWORD User must type their password.
SECURE_KEY User must use their secure key 2nd factor device.

PolicyType

Type of policy in the case of hierarchial policies.

Enums
POLICY_TYPE_UNSPECIFIED Default value. This value is unused.
MINIMUM This policy acts as a minimum to other policies, lower in the hierarchy. Effective policy may only be the same or stricter.
DEFAULT This policy acts as a default if no other reauth policy is set.

ResetIdentityAwareProxyClientSecretRequest

The request sent to ResetIdentityAwareProxyClientSecret.

Fields
name

string

Required. Name of the Identity Aware Proxy client to that will have its secret reset. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.

Authorization requires the following IAM permission on the specified resource name:

  • clientauthconfig.clients.update

TunnelDestGroup

A TunnelDestGroup.

Fields
name

string

Required. Immutable. Identifier for the TunnelDestGroup. Must be unique within the project.

cidrs[]

string

null List of CIDRs that this group applies to.

fqdns[]

string

null List of FQDNs that this group applies to.

UpdateIapSettingsRequest

The request sent to UpdateIapSettings.

Fields
iap_settings

IapSettings

Required. The new values for the IAP settings to be updated. Authorization: Requires the updateSettings permission for the associated resource.

Authorization requires one or more of the following IAM permissions on the specified resource iapSettings:

  • iap.organizations.updateSettings
  • iap.folders.updateSettings
  • iap.projects.updateSettings
  • iap.web.updateSettings
  • iap.webTypes.updateSettings
  • iap.webServices.updateSettings
  • iap.webServiceVersions.updateSettings
update_mask

FieldMask

The field mask specifying which IAP settings should be updated. If omitted, the all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask

UpdateTunnelDestGroupRequest

The request to UpdateTunnelDestGroup.

Fields
tunnel_dest_group

TunnelDestGroup

Required. The new values for the TunnelDestGroup.

Authorization requires the following IAM permission on the specified resource tunnelDestGroup:

  • iap.tunnelDestGroups.update
update_mask

FieldMask

A field mask that specifies which IAP settings to update. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask