ApiAuthentication

Für API-Aufrufe erforderliche Authentifizierungsinformationen.

JSON-Darstellung
{

  // 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.
}
Felder
Die Authentifizierungskonfiguration. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
apiKeyConfig

object (ApiKeyConfig)

Optional. Konfiguration für die API-Schlüsselauthentifizierung.

oauthConfig

object (OAuthConfig)

Optional. Konfiguration für OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Service-Agent generiert wird.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Optional. Konfiguration für die Dienstkontoauthentifizierung.

bearerTokenConfig

object (BearerTokenConfig)

Optional. Konfiguration für die Inhabertoken-Authentifizierung.

Ende der sich gegenseitig ausschließenden Felder.

ApiKeyConfig

Konfigurationen für die Authentifizierung mit API-Schlüssel.

JSON-Darstellung
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
Felder
keyName

string

Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn die API-Anfrage „https://beispiel.de/act?X-Api-Key=“ lautet, ist „X-Api-Key“ der Parametername.

apiKeySecretVersion

string

Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Erforderlich. Schlüsselposition in der Anfrage.

ApiKeyConfig.RequestLocation

Der Speicherort des API-Schlüssels in der Anfrage.

Enums
REQUEST_LOCATION_UNSPECIFIED Nicht angegeben. Dieser Wert sollte nicht verwendet werden.
HEADER Stellt den Schlüssel im HTTP-Header dar.
QUERY_STRING Stellt den Schlüssel im Abfragestring dar.

OAuthConfig

Konfigurationen für die Authentifizierung mit OAuth.

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

enum (OAuthConfig.OauthGrantType)

Erforderlich. OAuth-Berechtigungstypen.

clientId

string

Erforderlich. Die Client-ID des OAuth-Anbieters.

clientSecretVersion

string

Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

tokenEndpoint

string

Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken ausgetauscht werden soll.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche.

OAuthConfig.OauthGrantType

OAuth-Berechtigungstypen. Es wird nur Clientanmeldedaten-Gewährung unterstützt.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Nicht angegeben. Die Standardeinstellung ist CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Stellt den Ablauf für Clientanmeldedaten dar.

ServiceAgentIdTokenAuthConfig

Dieser Typ hat keine Felder.

Konfigurationen für die Authentifizierung mit einem ID-Token, das vom Dienst-Agent generiert wurde.

ServiceAccountAuthConfig

Konfigurationen für die Authentifizierung mit einem benutzerdefinierten Dienstkonto.

JSON-Darstellung
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Felder
serviceAccount

string

Erforderlich. Die E-Mail-Adresse des Dienstkontos, das für die Authentifizierung verwendet wird. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Authorization-Header der Anfrage gesendet.

Dem Dienstkonto muss die Rolle roles/iam.serviceAccountTokenCreator für den CES-Dienst-Agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com zugewiesen sein.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich https://www.googleapis.com/auth/cloud-platform verwendet.

BearerTokenConfig

Konfigurationen für die Authentifizierung mit einem Inhabertoken.

JSON-Darstellung
{
  "token": string
}
Felder
token

string

Erforderlich. Das Inhabertoken. Muss das Format $context.variables.<name_of_variable> aufweisen.