Package google.cloud.iap.v1

Index

IdentityAwareProxyAdminService

APIs for Identity-Aware Proxy Admin configurations.

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.

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.

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 G Suite 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.

IdentityAwareProxyRedirectService

API to handle requests during authentication handshake for Identity-Aware Proxy protected resources.

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.

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.

policy_delegation_settings

PolicyDelegationSettings

Settings to configure Policy delegation for apps hosted in tenant projects. INTERNAL_ONLY.

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.

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

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.getWithSecrets

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.

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.

client_id

StringValue

OAuth 2.0 client ID used in the OAuth flow to generate an access token. If this field is set, you can skip obtaining the OAuth credentials in this step: https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here: https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.

PolicyDelegationSettings

PolicyDelegationConfig allows google-internal teams to use IAP for apps hosted in a tenant project. Using these settings, the app can delegate permission check to happen against the linked customer project. This is only ever supposed to be used by google internal teams, hence the restriction on the proto.

Fields
iam_service_name

string

The DNS name of the service (e.g. "resourcemanager.googleapis.com"). This should be the domain name part of the full resource names (see https://aip.dev/122#full-resource-names), which is usually the same as IamServiceSpec.service of the service where the resource type is defined.

iam_permission

string

Permission to check in IAM.

resource

Resource

IAM resource to check permission on

policy_name

PolicyName

Policy name to be checked

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

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