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 עם 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)

זה שינוי אופציונלי. קבוצה של תגי לייבל שמשויכים למשאב 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)

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

מקור

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

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

string

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

ipBlocks[]

string

זה שינוי אופציונלי. רשימה של טווחי CIDR להתאמה על סמך כתובת ה-IP של המקור. צריך שתהיה התאמה לבלוק IP אחד לפחות. כתובת IP בודדת (למשל, ‫‎"1.2.3.4") and CIDR (e.g., ‫"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 להתאמה. שיטות gRPC צריכות להיות מוצגות כשם שמוגדר במלואו בפורמט ‎/packageName.serviceName/methodName. לפחות נתיב אחד צריך להיות תואם. כל נתיב יכול להיות התאמה מדויקת, התאמה לתחילית (לדוגמה, ‎/packageName.serviceName/*‎), התאמה לסיומת (לדוגמה, ‎*/video‎) או התאמה לנוכחות (כלומר, כל התאמה) '*'.

methods[]

string

זה שינוי אופציונלי. רשימה של methods של 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 יחיד.