ApiAuthentication

פרטי אימות שנדרשים לקריאות ל-API.

ייצוג ב-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.
}
שדות
הגדרת האימות. הרשימה הבאה כוללת שדות שאי אפשר להשתמש בהם בו-זמנית. בכל תשובה יוגדר לכל היותר אחד מהשדות:
apiKeyConfig

object (ApiKeyConfig)

זה שינוי אופציונלי. הגדרות לאימות מפתח API.

oauthConfig

object (OAuthConfig)

זה שינוי אופציונלי. הגדרות ל-OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

זה שינוי אופציונלי. ההגדרה לאימות באמצעות טוקן של מזהה שנוצר מסוכן השירות של CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

זה שינוי אופציונלי. הגדרות לאימות של חשבון שירות.

bearerTokenConfig

object (BearerTokenConfig)

זה שינוי אופציונלי. הגדרת אימות באמצעות טוקן bearer.

סוף השדות הבלעדיים.

ApiKeyConfig

הגדרות לאימות באמצעות מפתח API.

ייצוג ב-JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (ApiKeyConfig.RequestLocation)
}
שדות
keyName

string

חובה. שם הפרמטר או שם הכותרת של מפתח ה-API. למשל, אם בקשת ה-API היא "https://example.com/act?X-Api-Key=", שם הפרמטר יהיה "X-Api-Key".

apiKeySecretVersion

string

חובה. השם של משאב גרסת הסוד ב-SecretManager שבו מאוחסן מפתח ה-API. פורמט: projects/{project}/secrets/{secret}/versions/{version}

הערה: צריך להקצות את התפקיד roles/secretmanager.secretAccessor לסוכן השירות של CES‏ service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (ApiKeyConfig.RequestLocation)

חובה. מיקום המפתח בבקשה.

ApiKeyConfig.RequestLocation

המיקום של מפתח ה-API בבקשה.

טיפוסים בני מנייה (enum)
REQUEST_LOCATION_UNSPECIFIED לא צוין. אין להשתמש בערך הזה.
HEADER מייצג את המפתח בכותרת ה-HTTP.
QUERY_STRING מייצג את המפתח במחרוזת של שאילתה.

OAuthConfig

הגדרות לאימות באמצעות OAuth.

ייצוג ב-JSON
{
  "oauthGrantType": enum (OAuthConfig.OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
שדות
oauthGrantType

enum (OAuthConfig.OauthGrantType)

חובה. סוגי הרשאות OAuth.

clientId

string

חובה. מזהה הלקוח מספק OAuth.

clientSecretVersion

string

חובה. השם של משאב גרסת הסוד ב-SecretManager שבו מאוחסן סוד הלקוח. פורמט: projects/{project}/secrets/{secret}/versions/{version}

הערה: צריך להקצות את התפקיד roles/secretmanager.secretAccessor לסוכן השירות של CES‏ service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

חובה. נקודת הקצה של האסימון בספק OAuth להחלפה באסימון גישה.

scopes[]

string

זה שינוי אופציונלי. היקפי ההרשאות של OAuth שרוצים להעניק.

OAuthConfig.OauthGrantType

סוגי הרשאות OAuth. יש תמיכה רק ב-client credential grant.

טיפוסים בני מנייה (enum)
OAUTH_GRANT_TYPE_UNSPECIFIED לא צוין. ברירת המחדל היא CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL מייצג את תהליך פרטי הכניסה של הלקוח.

ServiceAgentIdTokenAuthConfig

בסוג הזה אין שדות.

הגדרות לאימות באמצעות טוקן של מזהה שנוצר מסוכן שירות.

ServiceAccountAuthConfig

הגדרות לאימות באמצעות חשבון שירות מותאם אישית.

ייצוג ב-JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
שדות
serviceAccount

string

חובה. כתובת האימייל של חשבון השירות שמשמש לאימות. מערכת CES משתמשת בחשבון השירות הזה כדי להחליף אסימון גישה, ואז אסימון הגישה נשלח בכותרת Authorization של הבקשה.

לחשבון השירות צריך להיות מוקצה התפקיד roles/iam.serviceAccountTokenCreator לסוכן השירות של CES‏ service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

זה שינוי אופציונלי. היקפי ההרשאות של OAuth שרוצים להעניק. אם לא מציינים היקף, המערכת משתמשת בהיקף ברירת המחדל https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

הגדרות לאימות באמצעות טוקן Bearer.

ייצוג ב-JSON
{
  "token": string
}
שדות
token

string

חובה. טוקן למוכ"ז. חייב להיות בפורמט $context.variables.<name_of_variable>.