ApiAuthentication

Informasi autentikasi diperlukan untuk panggilan API.

Representasi 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.
}
Kolom
Konfigurasi autentikasi. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
apiKeyConfig

object (ApiKeyConfig)

Opsional. Konfigurasi untuk autentikasi kunci API.

oauthConfig

object (OAuthConfig)

Opsional. Konfigurasi untuk OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opsional. Konfigurasi untuk autentikasi akun layanan.

bearerTokenConfig

object (BearerTokenConfig)

Opsional. Konfigurasi untuk autentikasi token pembawa.

Akhir kolom yang saling eksklusif.

ApiKeyConfig

Konfigurasi untuk autentikasi dengan kunci API.

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

string

Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key=", "X-Api-Key" akan menjadi nama parameter.

apiKeySecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

Wajib. Lokasi kunci dalam permintaan.

ApiKeyConfig.RequestLocation

Lokasi kunci API dalam permintaan.

Enum
REQUEST_LOCATION_UNSPECIFIED Tidak ditentukan. Nilai ini tidak boleh digunakan.
HEADER Mewakili kunci di header http.
QUERY_STRING Mewakili kunci dalam string kueri.

OAuthConfig

Konfigurasi untuk autentikasi dengan OAuth.

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

enum (OAuthConfig.OauthGrantType)

Wajib. Jenis pemberian izin OAuth.

clientId

string

Wajib. Client ID dari penyedia OAuth.

clientSecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan.

OAuthConfig.OauthGrantType

Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Tidak ditentukan. Nilai defaultnya adalah CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Mewakili alur kredensial klien.

ServiceAgentIdTokenAuthConfig

Jenis ini tidak memiliki kolom.

Konfigurasi untuk autentikasi dengan token ID yang dibuat dari agen layanan.

ServiceAccountAuthConfig

Konfigurasi untuk autentikasi menggunakan akun layanan kustom.

Representasi JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Kolom
serviceAccount

string

Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Authorization permintaan.

Akun layanan harus memiliki peran roles/iam.serviceAccountTokenCreator yang diberikan kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default https://www.googleapis.com/auth/cloud-platform akan digunakan.

BearerTokenConfig

Konfigurasi untuk autentikasi dengan token pembawa.

Representasi JSON
{
  "token": string
}
Kolom
token

string

Wajib. Token pemilik. Harus dalam format $context.variables.<name_of_variable>.