ApiAuthentication

Informations d'authentification requises pour les appels d'API.

Représentation 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.
}
Champs
Configuration de l'authentification. Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse :
apiKeyConfig

object (ApiKeyConfig)

Facultatif. Configuration pour l'authentification par clé API.

oauthConfig

object (OAuthConfig)

Facultatif. Configuration pour OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facultatif. Configuration pour l'authentification par jeton d'identité générée à partir de l'agent de service CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facultatif. Configuration pour l'authentification du compte de service.

bearerTokenConfig

object (BearerTokenConfig)

Facultatif. Configuration pour l'authentification par jeton de support.

Fin des champs qui s'excluent mutuellement.

ApiKeyConfig

Configurations pour l'authentification avec une clé API.

Représentation JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
Champs
keyName

string

Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key=", "X-Api-Key" est le nom du paramètre.

apiKeySecretVersion

string

Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Obligatoire. Emplacement de la clé dans la requête.

ApiKeyConfig.RequestLocation

l'emplacement de la clé API dans la requête ;

Enums
REQUEST_LOCATION_UNSPECIFIED Non spécifié. Cette valeur ne doit pas être utilisée.
HEADER Représente la clé dans l'en-tête HTTP.
QUERY_STRING Représente la clé dans la chaîne de requête.

OAuthConfig

Configurations pour l'authentification avec OAuth.

Représentation JSON
{
  "oauthGrantType": enum (OAuthConfig.OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Champs
oauthGrantType

enum (OAuthConfig.OauthGrantType)

Obligatoire. Types d'attribution OAuth.

clientId

string

Obligatoire. ID client du fournisseur OAuth.

clientSecretVersion

string

Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatoire. Point de terminaison de jeton chez le fournisseur OAuth à échanger contre un jeton d'accès.

scopes[]

string

Facultatif. Niveaux d'accès OAuth à accorder.

OAuthConfig.OauthGrantType

Types d'attribution OAuth. Seule l'autorisation d'identifiants client est acceptée.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Représente le flux d'identifiants client.

ServiceAgentIdTokenAuthConfig

Ce type ne comporte aucun champ.

Configurations pour l'authentification avec un jeton d'identité généré à partir de l'agent de service.

ServiceAccountAuthConfig

Configurations pour l'authentification à l'aide d'un compte de service personnalisé.

Représentation JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Champs
serviceAccount

string

Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Authorization de la requête.

Le compte de service doit disposer du rôle roles/iam.serviceAccountTokenCreator attribué à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut https://www.googleapis.com/auth/cloud-platform est utilisé.

BearerTokenConfig

Configurations pour l'authentification avec un jeton de support.

Représentation JSON
{
  "token": string
}
Champs
token

string

Obligatoire. Jeton de support. Il doit respecter le format $context.variables.<name_of_variable>.