אפשר להגדיר או לקבל את המדיניות של ניהול הזהויות והרשאות הגישה (IAM) או של בקרת הגישה עבור בדיקת קישוריות אחת או יותר. בנוסף, אפשר לראות את ההרשאות שיש למשתמש או לחשבון שירות לבדיקת קישוריות ספציפית.
במאמר הזה מוצגות דוגמאות לבקרת גישה באמצעות Network Management API.
כדי לבצע את השלבים האלה במסוף Google Cloud או באמצעות פקודות gcloud, אפשר לעיין במדריכים בנושא IAM.
מידע על קישורי מדיניות ועל תגי etag שמופיעים בפקודות הבאות זמין במאמר הפניית API למדיניות IAM.
במאמר תפקידים והרשאות מוסבר על התפקידים וההרשאות ב-IAM שנדרשים להפעלת בדיקות קישוריות.
הגדרת מדיניות בקרת גישה
במסגרת התהליך הזה מגדירים את מדיניות בקרת הגישה במשאב בדיקות קישוריות שצוין.
API
משתמשים ב-method networkmanagement.connectivitytests.setIamPolicy כדי להגדיר את מדיניות בקרת הגישה ל-USER, ל-ROLE ול-TEST_ID.
בדוגמה הבאה מוגדרת מדיניות שמקשרת את התפקיד networkmanagement.admin ל-username@yourcompany.com עבור mytest-1.
POST https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:setIamPolicy
{
"version": "VERSION",
"etag": "ETAG",
"bindings": [{
"role": "ROLE",
"members": [
"PRINCIPAL"
]
}]
}
מחליפים את הערכים הבאים:
-
TEST_ID: המזהה של אובייקט בדיקות הקישוריות (test) שאתם מריצים -
VERSION: מציין את הפורמט של המדיניות. הערכים התקינים הם0,1ו-3. כל פעולה שמשפיעה על קשירת תפקידים מותנית חייבת לציין את הגרסה3. -
ETAG: משמש לבקרת בו-זמניות אופטימית, כדי למנוע מצב שבו עדכונים בו-זמניים של מדיניות יחליפו זה את זה (דוגמה ל-etag היאBwWbrqiZFRs=) -
ROLE: תפקיד שמוקצה לחשבונות משתמש (לדוגמה,roles/networkmanagement.admin) -
PRINCIPAL: מציין את הזהויות שמבקשות גישה ל Google Cloud משאב (לדוגמה,user:username@yourcompany.com). לרשימה של סוגי חשבונות משתמשים או חברים, אפשר לעיין בהפניית ה-API למדיניות IAM.
אחזור של מדיניות בקרת גישה
בתהליך הזה מקבלים את מדיניות בקרת הגישה למשאב בדיקות קישוריות שצוין.
API
משתמשים ב-method networkmanagement.connectivitytests.getIamPolicy כדי להגדיר את מדיניות בקרת הגישה ל-PRINCIPAL, ל-ROLE ול-TEST_ID.
בדוגמה הבאה מקבלים מדיניות שמקשרת את התפקיד networkmanagement.admin ל-username@yourcompany.com עבור mytest-1.
GET https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:getIamPolicy
{
"version": "VERSION",
"etag": "ETAG",
"bindings": [{
"role": "ROLE",
"members": [
"PRINCIPAL"
]
}]
}
מחליפים את הערכים הבאים:
-
TEST_ID: המזהה של אובייקט בדיקות הקישוריות (test) שאתם מריצים -
VERSION: מציין את הפורמט של המדיניות. הערכים התקינים הם0,1ו-3. כל פעולה שמשפיעה על קשירת תפקידים מותנית חייבת לציין את הגרסה3. -
ETAG: משמש לבקרת בו-זמניות אופטימית, כדי למנוע מצב שבו עדכונים בו-זמניים של מדיניות יחליפו זה את זה (דוגמה ל-etag היאBwWbrqiZFRs=) -
ROLE: תפקיד שמוקצה לחשבונות משתמשים (לדוגמה,roles/networkmanagement.admin) -
PRINCIPAL: מציין את הזהויות שמבקשות גישה למשאב Google Cloud (לדוגמה,user:username@yourcompany.com). לרשימה של סוגי חשבונות משתמשים, אפשר לעיין בהפניית ה-API למדיניות IAM.
בדיקת הרשאות IAM
הפרוצדורה הזו מחזירה את ההרשאות שיש למשתמש או לחשבון שירות במשאב של בדיקות קישוריות.
API
משתמשים ב-networkmanagement.connectivitytests.testIamPermissions method כדי להחזיר את ההרשאות שהוקצו ל-TEST_ID.
בדוגמה הבאה אפשר לראות איך בודקים אם למשתמש username@yourcompany.com יש את ההרשאה networkmanagement.connectivitytests.get עבור mytest-1.
POST https://networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:testIamPermissions
{
"permissions": [
"networkmanagement.connectivitytests.get"
]
}
מחליפים את TEST_ID במזהה של אובייקט הבדיקה (test) של בדיקות הקישוריות שאתם מריצים.