REST Resource: projects.locations.authorizationPolicies

משאב: AuthorizationPolicy

‫AuthorizationPolicy הוא משאב שמציין איך שרת צריך לאשר חיבורים נכנסים. המשאב הזה כשלעצמו לא משנה את ההגדרה, אלא אם הוא מצורף למשאב של בורר הגדרות של נקודת קצה או של שרת proxy של יעד HTTPS.

ייצוג JSON
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
שדות
name

string

חובה. השם של משאב AuthorizationPolicy. הוא תואם לתבנית projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>.

description

string

זה שינוי אופציונלי. תיאור של המשאב בטקסט חופשי.

createTime

string (Timestamp format)

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

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized עם 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-normalized עם 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)

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

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

action

enum (Action)

חובה. הפעולה שצריך לבצע כשהמערכת מוצאת התאמה לכלל. הערכים האפשריים הם ALLOW או DENY.

rules[]

object (Rule)

זה שינוי אופציונלי. רשימת הכללים להתאמה. חשוב לזכור שלפחות אחד מהכללים צריך להתאים כדי שהפעולה שצוינה בשדה 'פעולה' תתבצע. כלל נחשב כהתאמה אם יש מקור ויעד תואמים. אם השדה הזה יישאר ריק, הפעולה שצוינה בשדה action תבוצע על כל בקשה.

פעולה

ערכים אפשריים שמגדירים איזו פעולה לבצע.

טיפוסים בני מנייה (enum)
ACTION_UNSPECIFIED ערך ברירת המחדל.
ALLOW נותנים גישה.
DENY דחיית הגישה. מומלץ להימנע מכללי דחייה, אלא אם משתמשים בהם כדי לספק חזרה למצב ברירת מחדל של 'דחייה של הכול'.

כלל

מפרט הכללים.

ייצוג JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
שדות
sources[]

object (Source)

זה שינוי אופציונלי. רשימת המאפיינים של מקור התנועה. כל המקורות צריכים להיות זהים. מקור נחשב להתאמה אם יש התאמה גם בין הגורמים המורשים וגם בין ה-ipBlocks. אם לא מגדירים את השדה הזה, הפעולה שצוינה בשדה 'פעולה' תבוצע בלי בדיקות כללים למקור.

destinations[]

object (Destination)

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

מקור

מפרט של מאפייני מקורות התנועה.

ייצוג JSON
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
שדות
principals[]

string

זה שינוי אופציונלי. רשימה של זהויות בין רשתות שכנות שצריך להתאים להן הרשאות. צריך שתהיה התאמה לפחות לגורם אחד. כל עמית יכול להיות התאמה מדויקת, התאמה של קידומת (לדוגמה, namespace/*‎), התאמה של סיומת (לדוגמה, ‎*/service-account) או התאמה של נוכחות (‎*). הרשאה שמבוססת על שם העיקרון ללא אימות אישור (שמוגדר על ידי משאב ServerTlsPolicy) נחשבת לא מאובטחת.

ipBlocks[]

string

זה שינוי אופציונלי. רשימה של טווחי CIDR להתאמה על סמך כתובת ה-IP של המקור. לפחות בלוק IP אחד צריך להתאים. יש תמיכה בכתובת IP יחידה (למשל, '1.2.3.4') וב-CIDR (למשל, '1.2.3.0/24'). מומלץ להימנע מהרשאה שמבוססת רק על כתובת ה-IP של המקור. כתובות ה-IP של מאזני עומסים או שרתי proxy לא נחשבות מהימנות.

יעד

מפרט של מאפייני יעד התנועה.

ייצוג JSON
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "paths": [
    string
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
שדות
hosts[]

string

חובה. רשימה של שמות מארחים שצריך להתאים. ההתאמה מתבצעת מול הכותרת ':authority' בבקשות HTTP. לפחות מארח אחד צריך להתאים. כל מארח יכול להיות בהתאמה מדויקת, בהתאמה לקידומת (לדוגמה, mydomain.*‎), בהתאמה לסיומת (לדוגמה, ‎*.myorg.com) או בהתאמה לנוכחות (כלומר, כל מארח) '*'.

ports[]

integer (uint32 format)

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

paths[]

string

זה שינוי אופציונלי. רשימה של נתיבי HTTP להתאמה. צריך להציג את ה-methods של gRPC כשם שמוגדר במלואו בפורמט ‎/packageName.serviceName/methodName. לפחות נתיב אחד צריך להיות תואם. כל נתיב יכול להיות התאמה מדויקת, התאמה לתחילית (לדוגמה, ‎/packageName.serviceName/*‎), התאמה לסיומת (לדוגמה, ‎*/video‎) או התאמה לנוכחות (כלומר, כל נתיב) '*'.

methods[]

string

זה שינוי אופציונלי. רשימה של שיטות HTTP להתאמה. לפחות שיטה אחת צריכה להתאים. אין להגדיר את הערך הזה לשירותי gRPC.

httpHeaderMatch

object (HttpHeaderMatch)

זה שינוי אופציונלי. התאמה לצמד מפתח/ערך בכותרת ה-HTTP. האפשרות הזו מספקת התאמה גמישה על סמך כותרות HTTP, לתרחישי שימוש מתקדמים. לפחות כותרת אחת צריכה להיות זהה. מומלץ להימנע משימוש בהתאמות של כותרות כדי לקבל החלטות לגבי הרשאות, אלא אם יש ערובה חזקה לכך שהבקשות מגיעות דרך לקוח או שרת proxy מהימנים.

HttpHeaderMatch

מפרט של מאפייני התאמה של כותרת HTTP.

ייצוג JSON
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
שדות
headerName

string

חובה. השם של כותרת ה-HTTP שצריך להתאים. כדי לבצע התאמה מול הרשות של בקשת ה-HTTP, משתמשים ב-headerMatch עם שם הכותרת ‎":authority". כדי להתאים את השיטה של בקשה, משתמשים ב-headerName ‏‎:method.

שדה איחוד type.

הערך type יכול להיות רק אחד מהבאים:

regexMatch

string

חובה. הערך של הכותרת צריך להתאים לביטוי הרגולרי שצוין ב-regexMatch. למידע על דקדוק של ביטויים רגולריים, אפשר לעיין בכתובת: en.cppreference.com/w/cpp/regex/ecmascript כדי להתאים ליציאה שצוינה בבקשת ה-HTTP, צריך להשתמש ב-headerMatch עם headerName שמוגדר ל-Host וביטוי רגולרי שעומד בדרישות של מציין היציאה של כותרת ה-Host ב-RFC2616.

Methods

create

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

delete

מחיקת AuthorizationPolicy יחיד.

get

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

list

השיטה מחזירה רשימה של AuthorizationPolicies בפרויקט ובמיקום נתונים.

patch

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