ApiAuthentication

Informações de autenticação necessárias para chamadas de API.

Representação 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
A configuração de autenticação. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
apiKeyConfig

object (ApiKeyConfig)

Opcional. Configuração para autenticação de chave de API.

oauthConfig

object (OAuthConfig)

Opcional. Configuração para OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opcional. Configuração para autenticação de token de ID gerada pelo agente de serviço do CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opcional. Configuração para autenticação de conta de serviço.

bearerTokenConfig

object (BearerTokenConfig)

Opcional. Configuração para autenticação de token do portador.

Fim dos campos mutuamente exclusivos.

ApiKeyConfig

Configurações para autenticação com chave de API.

Representação JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
Campos
keyName

string

Obrigatório. O nome do parâmetro ou do cabeçalho da chave de API. Por exemplo, Se a solicitação de API for "https://example.com/act?X-Api-Key=", "X-Api-Key" será o nome do parâmetro.

apiKeySecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Obrigatório. Localização da chave na solicitação.

ApiKeyConfig.RequestLocation

O local da chave de API na solicitação.

Tipos enumerados
REQUEST_LOCATION_UNSPECIFIED Não especificado. Esse valor não deve ser usado.
HEADER Representa a chave no cabeçalho HTTP.
QUERY_STRING Representa a chave na string de consulta.

OAuthConfig

Configurações para autenticação com OAuth.

Representação JSON
{
  "oauthGrantType": enum (OAuthConfig.OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OAuthConfig.OauthGrantType)

Obrigatório. Tipos de permissão de acesso OAuth.

clientId

string

Obrigatório. O ID do cliente do provedor OAuth.

clientSecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave secreta do cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obrigatório. O endpoint do token no provedor OAuth para troca por um token de acesso.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos.

OAuthConfig.OauthGrantType

Tipos de permissão de acesso OAuth. Somente a concessão de credenciais de cliente é aceita.

Tipos enumerados
OAUTH_GRANT_TYPE_UNSPECIFIED Não especificado. O padrão é CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa o fluxo de credenciais do cliente.

ServiceAgentIdTokenAuthConfig

Esse tipo não tem campos.

Configurações para autenticação com token de ID gerado pelo agente de serviço.

ServiceAccountAuthConfig

Configurações para autenticação usando uma conta de serviço personalizada.

Representação JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obrigatório. O endereço de e-mail da conta de serviço usada para autenticação. O CES usa essa conta de serviço para trocar um token de acesso, que é enviado no cabeçalho Authorization da solicitação.

A conta de serviço precisa ter o papel roles/iam.serviceAccountTokenCreator concedido ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos. Se não for especificado, o escopo padrão https://www.googleapis.com/auth/cloud-platform será usado.

BearerTokenConfig

Configurações para autenticação com um token do portador.

Representação JSON
{
  "token": string
}
Campos
token

string

Obrigatório. O token do portador. Precisa estar no formato $context.variables.<name_of_variable>.