REST Resource: projects.locations.endpointPolicies

משאב: EndpointPolicy

‫EndpointPolicy הוא משאב שעוזר להחיל את ההגדרה הרצויה על נקודות הקצה שתואמות לקריטריונים ספציפיים. לדוגמה, אפשר להשתמש במשאב הזה כדי להחיל 'הגדרת אימות' על כל נקודות הקצה שפועלות ביציאה 8080.

ייצוג ב-JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "type": enum (EndpointPolicyType),
  "authorizationPolicy": string,
  "endpointMatcher": {
    object (EndpointMatcher)
  },
  "trafficPortSelector": {
    object (TrafficPortSelector)
  },
  "description": string,
  "serverTlsPolicy": string,
  "clientTlsPolicy": string
}
שדות
name

string

מזהה. השם של משאב EndpointPolicy. הוא תואם לתבנית projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

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

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

פלט בלבד. חותמת הזמן של מועד העדכון של המשאב.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

זה שינוי אופציונלי. קבוצה של תגי תוויות שמשויכים למשאב EndpointPolicy.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

type

enum (EndpointPolicyType)

חובה. סוג המדיניות של נקודת הקצה. השימוש העיקרי הוא לאימות ההגדרה.

authorizationPolicy

string

זה שינוי אופציונלי. בשדה הזה מציינים את כתובת ה-URL של משאב AuthorizationPolicy שמחיל מדיניות הרשאות על התנועה הנכנסת בנקודות הקצה התואמות. פרטים נוספים מופיעים במאמר בנושא הרשאה. אם לא מציינים את השדה הזה, ההרשאה מושבתת(לא מתבצעות בדיקות הרשאה) עבור נקודת הקצה הזו.

endpointMatcher

object (EndpointMatcher)

חובה. כלי התאמה שבוחר נקודות קצה שהמדיניות צריכה לחול עליהן.

trafficPortSelector

object (TrafficPortSelector)

זה שינוי אופציונלי. בורר היציאות של נקודות הקצה (שמתאימות). אם לא מציינים בורר יציאות, ההגדרה התואמת חלה על כל היציאות.

description

string

זה שינוי אופציונלי. תיאור של המשאב בטקסט חופשי. אורך מקסימלי של 1,024 תווים.

serverTlsPolicy

string

זה שינוי אופציונלי. כתובת URL שמפנה למשאב ServerTlsPolicy. המאפיין ServerTlsPolicy משמש לקביעת מדיניות האימות שתחול על סיום התנועה הנכנסת בשרתי הקצה העורפי שזוהו. אם השדה הזה לא מוגדר, האימות מושבת(פתוח) עבור נקודת הקצה הזו.

clientTlsPolicy

string

זה שינוי אופציונלי. כתובת URL שמפנה למשאב ClientTlsPolicy. אפשר להגדיר את ClientTlsPolicy כדי לציין את האימות של תעבורת הנתונים משרת ה-proxy לנקודות הקצה בפועל. באופן ספציפי, הוא חל על התנועה היוצאת מה-proxy לנקודת הקצה. השימוש הזה אופייני למודל sidecar, שבו ה-proxy מזדהה כנקודת קצה למישור הבקרה, והחיבור בין ה-sidecar לנקודת הקצה דורש אימות. אם השדה הזה לא מוגדר, האימות מושבת(פתוח). ההגדרה רלוונטית רק אם EndpointPolicyType הוא SIDECAR_PROXY.

EndpointPolicyType

סוג המדיניות של נקודת הקצה.

טיפוסים בני מנייה (enum)
ENDPOINT_POLICY_TYPE_UNSPECIFIED ערך ברירת המחדל. אסור להשתמש בו.
SIDECAR_PROXY מייצג שרת proxy שפריסתו מתבצעת כ-sidecar.
GRPC_SERVER מייצג קצה עורפי של gRPC ללא proxy.

EndpointMatcher

הגדרה של כלי התאמה שבוחר נקודות קצה שצריך להחיל עליהן את כללי המדיניות.

ייצוג ב-JSON
{

  // Union field matcher_type can be only one of the following:
  "metadataLabelMatcher": {
    object (MetadataLabelMatcher)
  }
  // End of list of possible types for union field matcher_type.
}
שדות
שדה איחוד matcher_type. מציין את סוג ההתאמה שמשמש להתאמת נקודת הקצה הזו. הערך matcher_type יכול להיות רק אחד מהבאים:
metadataLabelMatcher

object (MetadataLabelMatcher)

ההתאמה מבוססת על מטא-נתונים של צמתים שמוצגים על ידי לקוחות xDS.

MetadataLabelMatcher

התאמה שמבוססת על מטא-נתונים של צמתים שמוצגים על ידי לקוחות xDS.

ייצוג ב-JSON
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
שדות
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

מציינים איך ההתאמה צריכה להתבצע.

הערכים הנתמכים הם: MATCH_ANY: לפחות אחת מהתוויות שצוינו במתאים צריכה להתאים למטא-נתונים שמוצגים על ידי לקוח xDS. MATCH_ALL: המטא-נתונים שמוצגים על ידי לקוח xDS צריכים להכיל את כל התוויות שצוינו כאן.

הבחירה נקבעת על סמך ההתאמה הטובה ביותר. לדוגמה, נניח שיש שלושה משאבי EndpointPolicy‏ P1, ‏ P2 ו-P3. אם ל-P1 יש את התנאי MATCH_ANY‏ <A:1, B:1>, ל-P2 יש את התנאי MATCH_ALL‏ <A:1,B:1>, ול-P3 יש את התנאי MATCH_ALL‏ <A:1,B:1,C:1>.

אם לקוח עם התווית <A:1> מתחבר, ההגדרה מ-P1 תיבחר.

אם לקוח עם התווית <A:1,B:1> מתחבר, ההגדרה מ-P2 תיבחר.

אם לקוח עם התווית <A:1,B:1,C:1> מתחבר, ההגדרה מ-P3 תיבחר.

אם יש יותר מהתאמה הכי טובה (לדוגמה, אם קיים קובץ הגדרה P4 עם בורר <A:1,D:1> ואם לקוח עם התווית <A:1,B:1,D:1> מתחבר), המערכת תבחר את זה עם זמן היצירה הישן יותר.

metadataLabels[]

object (MetadataLabels)

רשימת צמדי ערכי התוויות שצריכים להתאים לתוויות במטא-נתונים שסופקו על סמך filterMatchCriteria. הרשימה הזו יכולה להכיל עד 64 רשומות. הרשימה יכולה להיות ריקה אם קריטריון ההתאמה הוא MATCH_ANY, כדי לציין התאמה כללית (כלומר, התאמה לכל לקוח).

MetadataLabelMatchCriteria

ערכים אפשריים של קריטריונים שמגדירים את הלוגיקה של ההתאמה.

טיפוסים בני מנייה (enum)
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED ערך ברירת המחדל. אין להשתמש בו.
MATCH_ANY לפחות אחת מהתוויות שצוינו ב-matcher צריכה להתאים למטא נתונים שמוצגים על ידי לקוח xDS.
MATCH_ALL המטא-נתונים שמוצגים על ידי לקוח xDS צריכים להכיל את כל התוויות שצוינו כאן.

MetadataLabels

מגדיר ערך של זוג שם-ערך לתווית יחידה.

ייצוג ב-JSON
{
  "labelName": string,
  "labelValue": string
}
שדות
labelName

string

חובה. שם התווית מוצג כמפתח במטא-נתונים של צומת xDS.

labelValue

string

חובה. ערך התווית מוצג כערך שמתאים למפתח שלמעלה, במטא-נתונים של צומת xDS.

TrafficPortSelector

ציון של בורר מבוסס-יציאה.

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

string

זה שינוי אופציונלי. רשימה של יציאות. יכול להיות מספרי יציאות או טווח יציאות (לדוגמה, [80-90] מציין את כל היציאות מ-80 עד 90, כולל 80 ו-90) או יציאות עם שם או * כדי לציין את כל היציאות. אם הרשימה ריקה, כל היציאות נבחרות.

Methods

create

יוצרת EndpointPolicy חדש בפרויקט ובמיקום נתונים.

delete

מחיקת EndpointPolicy יחיד.

get

קבלת פרטים של EndpointPolicy יחיד.

list

הצגת רשימה של EndpointPolicies בפרויקט ובמיקום נתונים.

patch

מעדכן את הפרמטרים של EndpointPolicy יחיד.

setIamPolicy

הגדרת מדיניות בקרת הגישה במשאב שצוין.

testIamPermissions

מחזירה את ההרשאות שיש לפונקציית קריאה חוזרת (caller) במשאב שצוין.