ApiAuthentication

Es la información de autenticación necesaria para las llamadas a la API.

Representación JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of mutually exclusive fields.
}
Campos
Es la configuración de autenticación. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
apiKeyConfig

object (ApiKeyConfig)

Es opcional. Es la configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Es la configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Es opcional. Es la configuración para la autenticación de la cuenta de servicio.

bearerTokenConfig

object (BearerTokenConfig)

Es opcional. Es la configuración para la autenticación de token de portador.

Fin de los campos mutuamente excluyentes.

ApiKeyConfig

Son las configuraciones para la autenticación con clave de API.

Representación JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
Campos
keyName

string

Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key=", "X-Api-Key" sería el nombre del parámetro.

apiKeySecretVersion

string

Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Obligatorio. Es la ubicación de la clave en la solicitud.

ApiKeyConfig.RequestLocation

Ubicación de la clave de API en la solicitud.

Enums
REQUEST_LOCATION_UNSPECIFIED Sin especificar. No se debe usar este valor.
HEADER Representa la clave en el encabezado HTTP.
QUERY_STRING Representa la clave en la cadena de consulta.

OAuthConfig

Son los parámetros de configuración para la autenticación con OAuth.

Representación JSON
{
  "oauthGrantType": enum (OAuthConfig.OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OAuthConfig.OauthGrantType)

Obligatorio. Tipos de permisos de OAuth

clientId

string

Obligatorio. Es el ID de cliente del proveedor de OAuth.

clientSecretVersion

string

Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatorio. Es el extremo del token en el proveedor de OAuth para intercambiarlo por un token de acceso.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán.

OAuthConfig.OauthGrantType

Tipos de permisos de OAuth Solo se admite el otorgamiento de credenciales de cliente.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

ServiceAgentIdTokenAuthConfig

Este tipo no tiene campos.

Son las configuraciones para la autenticación con el token de ID generado desde el agente de servicio.

ServiceAccountAuthConfig

Son las configuraciones para la autenticación con una cuenta de servicio personalizada.

Representación JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado Authorization de la solicitud.

La cuenta de servicio debe tener el rol roles/iam.serviceAccountTokenCreator otorgado al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Es la configuración para la autenticación con un token del portador.

Representación JSON
{
  "token": string
}
Campos
token

string

Obligatorio. Es el token del portador. Debe tener el formato $context.variables.<name_of_variable>.