בעזרת Access Context Manager, אפשר לבצע עדכונים בכמות גדולה של משאבים ששייכים למדיניות הגישה של הארגון, כמו רמות גישה וגבולות שירות.
השינויים במשאבים יחולו רק אם כל החלקים של הפעולה הגורפת יצליחו. לדוגמה, אם הפעולה בכמות גדולה מנסה להסיר רמת גישה שנמצאת בשימוש בגבולות גזרה לשירות, תופיע שגיאה. אם מתרחשת שגיאה, הפעולה כולה נכשלת ולא מתבצע עדכון של אף משאב.
במאמר הזה מתואר רק החלפה בכמות גדולה של רמות גישה. מידע נוסף על החלפה בכמות גדולה של גבולות גזרה לשירות זמין במסמכי העזרה של VPC Service Controls.
לפני שמתחילים
מכיוון שפעולות בכמות גדולה משפיעות על כל רמות הגישה בארגון, כדאי להשיג רשימה מלאה של רמות הגישה. אפשר לעצב את הרשימה כ-YAML, מה שיכול להקל על ביצוע שינויים בכמות גדולה ברמות הגישה.
כדי לקבל רשימה מפורמטת של רמות גישה, אפשר לעיין במאמר בנושא רישום של רמת גישה (מפורמט).
החלפה של רמות גישה בכמות גדולה
בקטע הבא מוסבר איך להחליף את רמות הגישה בכמות גדולה.
gcloud
כדי להחליף את כל רמות הגישה בבת אחת, משתמשים בפקודה replace-all.
gcloud access-context-manager levels replace-all \ --source-file=FILE \ --etag=ETAG \ [--policy=POLICY_NAME]
כאשר:
FILE הוא השם של קובץ .yaml שמגדיר את התנאים החדשים לרמות הגישה הקיימות.
לדוגמה:
- name: accessPolicies/11271009391/accessLevels/corpnet_access title: Corpnet Access description: Permit access to corpnet. basic: combiningFunction: AND conditions: - ipSubnetworks: - 252.0.2.0/24 - 2001:db8::/32 - name: accessPolicies/11271009391/accessLevels/prodnet_access title: Prodnet Access description: Permit access to prodnet. basic: combiningFunction: OR conditions: - members: - user:exampleuser@example.com - serviceAccount:exampleaccount@example.iam.gserviceaccount.com - ipSubnetworks: - 176.0.2.0/24דוגמאות נוספות למבנה YAML של תנאים מופיעות בקובץ ה-YAML לדוגמה.
ETAG (אופציונלי) הוא מחרוזת שמייצגת את גרסת היעד של מדיניות הגישה של הארגון. אם לא כוללים etag, הפעולה בכמות גדולה מכוונת לגרסה העדכנית ביותר של מדיניות הגישה של הארגון.
כדי לקבל את ה-etag העדכני ביותר של מדיניות הגישה, צריך
listאת מדיניות הגישה.POLICY_NAME הוא השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה שמוגדרת כברירת מחדל.
API
כדי להחליף את כל רמות הגישה בבת אחת, צריך להתקשר אל accessLevels.replaceAll.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels.replaceAll?alt=json
כאשר:
- POLICY_NAME הוא השם של מדיניות הגישה של הארגון.
גוף הבקשה
גוף הבקשה צריך לכלול רשימה של אובייקטים מסוג AccessLevel שמציינים את השינויים שרוצים לבצע.
אופציונלית, כדי לטרגט גרסה ספציפית של מדיניות הגישה של הארגון, אפשר לכלול תג entity. אם לא כוללים את ה-etag, הפעולה בכמות גדולה מכוונת לגרסה האחרונה של מדיניות הגישה של הארגון.
לדוגמה:
{ "accessLevels": [ object (AccessLevel), object (AccessLevel), ... ] "etag": string }
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה של הקריאה יכיל משאב Operation עם פרטים על פעולת ה-POST.
דוגמה לתגובה:
{
"name": "operations/accessPolicies/11271009391/replaceLevels/1583523446234255",
"done": true,
"response": {
"@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse",
"accessLevels": [
{
"name": "accessPolicies/11271009391/accessLevels/corpnet_access",
"title": "Corpnet access",
"description": "Permit access to corpnet.",
"basic": {
"conditions": [
{
"ipSubnetworks": [
"252.0.2.0/24"
]
}
]
}
},
{
"name": "accessPolicies/11271009391/accessLevels/prodnet_access",
"title": "Prodnet access",
"description": "Permit access to prodnet.",
"basic": {
"conditions": [
{
"ipSubnetworks": [
"176.0.2.0/24"
]
}
]
}
}
]
}
}