ApiAuthentication

Informazioni di autenticazione richieste per le chiamate API.

Rappresentazione 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.
}
Campi
La configurazione di autenticazione. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
apiKeyConfig

object (ApiKeyConfig)

Facoltativo. Configurazione per l'autenticazione della chiave API.

oauthConfig

object (OAuthConfig)

Facoltativo. Configurazione per OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facoltativo. Configurazione per l'autenticazione del account di servizio.

bearerTokenConfig

object (BearerTokenConfig)

Facoltativo. Configurazione per l'autenticazione con token di connessione.

Fine dei campi che si escludono a vicenda.

ApiKeyConfig

Configurazioni per l'autenticazione con chiave API.

Rappresentazione JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
Campi
keyName

string

Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key=", "X-Api-Key" sarà il nome del parametro.

apiKeySecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor all'agente di servizio CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Obbligatorio. Posizione della chiave nella richiesta.

ApiKeyConfig.RequestLocation

La posizione della chiave API nella richiesta.

Enum
REQUEST_LOCATION_UNSPECIFIED Non specificato. Questo valore non deve essere utilizzato.
HEADER Rappresenta la chiave nell'intestazione HTTP.
QUERY_STRING Rappresenta la chiave nella stringa di query.

OAuthConfig

Configurazioni per l'autenticazione con OAuth.

Rappresentazione JSON
{
  "oauthGrantType": enum (OAuthConfig.OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campi
oauthGrantType

enum (OAuthConfig.OauthGrantType)

Obbligatorio. Tipi di autorizzazione con OAuth.

clientId

string

Obbligatorio. L'ID client del fornitore OAuth.

clientSecretVersion

string

Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: devi concedere il ruolo roles/secretmanager.secretAccessor all'agente di servizio CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere.

OAuthConfig.OauthGrantType

Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Non specificato. Il valore predefinito è CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Rappresenta il flusso delle credenziali client.

ServiceAgentIdTokenAuthConfig

Questo tipo non contiene campi.

Configurazioni per l'autenticazione con il token ID generato dal service agent.

ServiceAccountAuthConfig

Configurazioni per l'autenticazione tramite un account di servizio personalizzato.

Rappresentazione JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campi
serviceAccount

string

Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione Authorization della richiesta.

All'account di servizio deve essere concesso il ruolo roles/iam.serviceAccountTokenCreator all'agente di servizio CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Configurazioni per l'autenticazione con un token di connessione (bearer).

Rappresentazione JSON
{
  "token": string
}
Campi
token

string

Obbligatorio. Il token di connessione. Deve essere nel formato $context.variables.<name_of_variable>.