בדף הזה מוסבר איך לנהל רמות גישה קיימות. אתם יכולים:
לפני שמתחילים
הגדרת מדיניות הגישה שמוגדרת כברירת מחדל לשימוש ב-Google Cloud CLI.
-או-
מאתרים את שם המדיניות. שם המדיניות נדרש לפקודות שמשתמשות ב-CLI של gcloud ומבצעות קריאות ל-API. אם מגדירים מדיניות גישה כברירת מחדל, לא צריך לציין את המדיניות ב-CLI של gcloud.
מוודאים שיש לכם תפקיד בניהול זהויות והרשאות גישה (IAM) ברמת הארגון, שמאפשר לכם לנהל את רמות הגישה. בקשו מהאדמין להקצות לכם אחד מהתפקידים הבאים, או תפקיד בהתאמה אישית עם אותן הרשאות:
כדי לראות את רמות הגישה: Access Context Manager Reader (
roles/accesscontextmanager.policyReader)כדי לראות ולשנות את רמות הגישה: עריכה של Access Context Manager (
roles/accesscontextmanager.policyEditor) או אדמין של Access Context Manager (roles/accesscontextmanager.policyAdmin)
רשימת רמות הגישה
המסוף
כדי להציג את כל רמות הגישה, פותחים את הדף Access Context Manager במסוף Cloud de Confiance , ואם מוצגת בקשה, בוחרים את הארגון. בדף מוצגות רמות הגישה של הארגון ברשת, כולל פרטים על ההגדרה של כל רמת גישה.
gcloud
כדי להציג את כל רמות הגישה, משתמשים בפקודה list.
gcloud access-context-manager levels list \ [--policy=POLICY_NAME]
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.
הפלט אמור להיראות כך:
NAME TITLE LEVEL_TYPE Device_Trust Device_Trust Extended Basic Service_Group_A Service_Group_A Basic
API
כדי להציג את כל רמות הגישה של מדיניות, מפעילים את accessLevels.list.
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של מדיניות הגישה של הארגון.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
פרמטרים אופציונליים
אפשר לכלול אחד או יותר מהפרמטרים הבאים של שאילתה.
| פרמטרים | |
|---|---|
pageSize
|
כברירת מחדל, רשימת
רמות הגישה שמוחזרת על ידי אפשר להשתמש בפרמטר הזה כדי לשנות את מספר רמות הגישה שמוחזרות בכל דף. |
pageToken
|
אם מספר רמות הגישה שהוחזרו בקריאה חורג מגודל הדף, גוף התגובה כולל אסימון דף. אפשר להשתמש בפרמטר הזה בקריאה הבאה כדי לקבל את דף התוצאות הבא. |
accessLevelFormat
|
בדרך כלל, רמות הגישה מוחזרות כפי שהן מוגדרות, כ-
אפשר לציין את הערך |
גוף התשובה
אם הפעולה בוצעה בהצלחה, גוף התגובה לקריאה מכיל אובייקט AccessLevels שמפרט את רמות הגישה, ומחרוזת nextPageToken. ל-nextPageToken יש ערך רק אם מספר רמות הגישה שהוחזרו חורג מגודל הדף. אחרת, הערך של nextPageToken מוחזר כמחרוזת ריקה.
הצגת רשימה של רמות הגישה (בפורמט)
באמצעות ה-CLI של gcloud, אתם יכולים לקבל רשימה של רמות הגישה בפורמט YAML או JSON.
כדי לקבל רשימה מעוצבת של רמות גישה, משתמשים בפקודה list.
gcloud access-context-manager levels list \ --format=FORMAT \ [--policy=POLICY_NAME]
מחליפים את מה שכתוב בשדות הבאים:
FORMAT: אחד מהערכים הבאים:list(פורמט YAML)json(פורמט JSON)
POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.
פלט ה-YAML אמור להיראות כך:
- basic: {'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]} description: Level for corp access. name: accessPolicies/123456789012/accessLevels/corp_level title: Corp Level - basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['192.0.2.0/24']}]} description: Level for net access. name: accessPolicies/123456789012/accessLevels/net_level title: Net Level
פלט ה-JSON אמור להיראות כך:
[ { "basic": { "conditions": [ { "ipSubnetworks": [ "192.0.2.0/24" ] } ] }, "description": "Level for corp access.", "name": "accessPolicies/123456789012/accessLevels/corp_level", "title": "Corp Level" }, { "basic": { "combiningFunction": "OR", "conditions": [ { "ipSubnetworks": [ "192.0.2.0/24" ] } ] }, "description": "Level for net access.", "name": "accessPolicies/123456789012/accessLevels/net_level", "title": "Net Level" } ]
תיאור של רמת גישה
המסוף
במסוף Cloud de Confiance , פועלים לפי השלבים להצגת רשימה של רמות גישה. כשמציגים את רמות הגישה, הפרטים מופיעים בטבלה.
gcloud
כשמציגים את רמות הגישה, מקבלים רק את השם, הכותרת וסוג הרמה. כדי לקבל מידע מפורט על מה שרמה מסוימת עושה בפועל, משתמשים בפקודה describe.
gcloud access-context-manager levels describe LEVEL_NAME \ [--policy=POLICY_NAME]
מחליפים את מה שכתוב בשדות הבאים:
LEVEL_NAME: שם רמת הגישה שרוצים לתאר.
POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.
הפקודה מדפיסה מידע על הרמה בפורמט YAML. לדוגמה, אם הרמה מגבילה את הגישה לגרסאות מסוימות של מערכת ההפעלה, הפלט יהיה דומה לזה:
basic: conditions: - devicePolicy: allowedEncryptionStatuses: - ENCRYPTED osConstraints: - minimumVersion: 10.13.6 osType: DESKTOP_MAC - minimumVersion: 10.0.18219 osType: DESKTOP_WINDOWS - minimumVersion: 68.0.3440 osType: DESKTOP_CHROME_OS requireScreenlock: true name: accessPolicies/123456789012/accessLevels/Device_Trust title: Device_Trust Extended
API
כשמציגים את רמות הגישה, רואים רק את השם, הכותרת והסוג של הרמות.
כדי לקבל מידע מפורט על רמת גישה, צריך להפעיל את accessLevels.get.
GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות הגישה של הארגון.
LEVEL_NAME: שם רמת הגישה שרוצים לתאר.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
פרמטרים אופציונליים
אפשר לכלול את פרמטר השאילתה accessLevelFormat. בדרך כלל, רמות הגישה מוחזרות כפי שהן מוגדרות, בתור BasicLevel או CustomLevel.
אפשר לציין את הערך CEL לפרמטר הזה כדי להחזיר את BasicLevels בתור CustomLevels ב-Cloud Common Expression Language.
גוף התשובה
אם הפעולה בוצעה בהצלחה, גוף התגובה לקריאה מכיל משאב AccessLevel שכולל פרטים על מה שרמת הגישה עושה, הפעם האחרונה שבה הרמה עודכנה ועוד.
עדכון של רמת גישה
בקטע הזה מוסבר איך לעדכן רמות גישה ספציפיות. כדי לעדכן את כל רמות הגישה של הארגון בפעולה אחת, קראו את המאמר ביצוע שינויים בכמות גדולה ברמות הגישה.
המסוף
כדי לעדכן רמת גישה:
פותחים את הדף Access Context Manager במסוף Cloud de Confiance .
אם מוצגת בקשה, בוחרים את הארגון.
ברשת, לוחצים על השם של רמת הגישה שרוצים לעדכן.
בחלונית Edit Access Level, משנים את רמת הגישה.
לרשימה מלאה של המאפיינים שאפשר להוסיף או לשנות, קראו על מאפיינים של רמות גישה.
לוחצים על Save.
בנוסף לעדכון או להסרה של תנאים קיימים, אתם יכולים להוסיף תנאים חדשים ולהוסיף מאפיינים חדשים לתנאים קיימים.
gcloud
כדי לעדכן רמת גישה, משתמשים בפקודה update.
רמת גישה בסיסית:
gcloud access-context-manager levels update LEVEL_NAME \ --basic-level-spec=FILE \ [--policy=POLICY_NAME]
רמת גישה בהתאמה אישית:
gcloud access-context-manager levels update LEVEL_NAME \ --custom-level-spec=FILE \ [--policy=POLICY_NAME]
מחליפים את מה שכתוב בשדות הבאים:
LEVEL_NAME: השם של רמת הגישה שרוצים לעדכן.
FILE: השם של קובץ YAML שמגדיר את התנאים של רמת הגישה (לרמות גישה בסיסיות) או ביטוי CEL שמחזיר ערך בוליאני יחיד (לרמות גישה בהתאמה אישית).רשימה מלאה של המאפיינים שאפשר להשתמש בהם בתנאים של רמת גישה בסיסית מופיעה במאמר מאפיינים של רמת גישה.
POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.אפשר לכלול אחת או יותר מהאפשרויות הבאות.
אפשרויות combine-functionהאפשרות הזו משמשת רק לרמות גישה בסיסיות.
קובע איך התנאים משולבים.
ערכים תקינים:
AND, ORdescriptionתיאור ארוך של רמת הגישה.
titleשם קצר לרמת הגישה. השם של רמת הגישה מוצג במסוף Cloud de Confiance .
אפשר לכלול כל אחד מהדגלים הרחבים של gcloud.
פקודה לדוגמה
gcloud access-context-manager levels update Device_Trust \ --basic-level-spec=corpdevspec.yaml \ --combine-function=OR \ --description='Access level that conforms to updated corporate spec.' \ --title='Device_Trust Extended' \ --policy=123456789012
API
כדי לעדכן רמת גישה, מפעילים את accessLevels.patch.
PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות הגישה של הארגון.
LEVEL_NAME: השם של רמת הגישה שרוצים לעדכן.
FIELDS: רשימה מופרדת בפסיקים של שמות שדות מלאים שאתם מעדכנים.
גוף הבקשה
גוף הבקשה חייב לכלול משאב AccessLevel שמציין את השינויים שרוצים לבצע ברמת הגישה.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה לקריאה מכיל משאב Operation שמספק פרטים על פעולת התיקון.
מחיקה של רמת גישה
בקטע הזה מוסבר איך למחוק רמות גישה ב-Access Context Manager. מחיקה של רמת גישה היא תהליך דו-שלבי:
בדיקת יחסי התלות של רמת הגישה
לפני שמוחקים רמת גישה, צריך לוודא שאין הפניות אליה מרמות גישה אחרות, מגבולות גזרה לשירות של VPC Service Controls, מכללי מדיניות של בקרת גישה מבוססת-הקשר ב-Google Workspace, מCloud de Confiance קישורי גישה או מתנאי IAM.
כדי למצוא את כל רמות הגישה שמפנות לרמה שרוצים למחוק:
מוודאים שהתקנתם את
jq. כדי לוודא ש-jqמותקן, מריצים אתjq --version. אם צריך, מתקינים אתjq.בודקים אם יש תלויות ברמת הגישה. הפקודה הזו מציגה את כל רמות הגישה, ואז משתמשת ב-
jqכדי לסנן את רמות הגישה שמפנות אלLEVEL_NAMEבהגדרות של רמות בסיסיות או מותאמות אישית.echo "Searching for Access Levels referencing: accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME" echo "" gcloud access-context-manager levels list \ --policy="POLICY_NAME" \ --format=json | \ jq -r ' .[] | select( # Check basic levels: Is the target access level present as an element in any requiredAccessLevels array? ([(.basic.conditions // [])[] | (.requiredAccessLevels // []) | index("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") != null] | any) or # Check custom levels: Does the expression string contain the target access level? ((.custom.expr.expression // "") | (contains("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") or contains("levels.LEVEL_NAME"))) ) | " - \(.title) (Name: \(.name))" ' echo "" echo "If any levels are listed, they reference LEVEL_NAME. You must update these referencing levels before you delete LEVEL_NAME."
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.
LEVEL_NAME: השם של רמת הגישה שרוצים למחוק, לדוגמהmy_level.
בפלט, כל רמות הגישה שמפנות אל
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEאו אלlevels.LEVEL_NAMEמופיעות ברשימה, יחד עם הערכים שלtitleו-name. רמות הגישה האלה כוללות:רמות בסיסיות, שבהן
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEמופיע ב-requiredAccessLevelsרמות בהתאמה אישית, שבהן
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEאוlevels.LEVEL_NAMEמופיעים במחרוזתcustom.expr.expression.
אם הפקודה מציגה רמות גישה שמפנות לרמה שאתם רוצים למחוק, אתם צריכים קודם לעדכן את הרמות האלה כדי להסיר את התלות. איך מעדכנים רמת גישה?
אחרי שתסירו את כל ההפניות, תוכלו למחוק את רמת הגישה הספציפית.
מחיקה של רמת גישה ספציפית
המסוף
כדי למחוק רמת גישה:
פותחים את הדף Access Context Manager במסוף Cloud de Confiance .
אם מוצגת בקשה, בוחרים את הארגון.
ברשת, בשורה של רמת הגישה שרוצים למחוק, לוחצים על הלחצן .
לוחצים על Delete.
בתיבת הדו-שיח שמופיעה, מאשרים שרוצים למחוק את רמת הגישה.
gcloud
כדי למחוק רמת גישה:
כדי למחוק רמת גישה, משתמשים בפקודה
delete.gcloud access-context-manager levels delete LEVEL_NAME \ [--policy=POLICY_NAME]
מחליפים את מה שכתוב בשדות הבאים:
LEVEL_NAME: השם של רמת הגישה שרוצים למחוק.POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.
מאשרים שרוצים למחוק את רמת הגישה.
לדוגמה:
You are about to delete level Device_Trust Do you want to continue (Y/n)?
הפלט אמור להיראות כך:
Waiting for operation [accessPolicies/123456789012/accessLevels/Device_Trust/delete/1531171874311645] to complete...done. Deleted level [Device_Trust].
API
כדי למחוק רמת גישה, מפעילים את accessLevels.delete.
DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות הגישה של הארגון.
LEVEL_NAME: השם של רמת הגישה שרוצים למחוק.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה לקריאה מכיל משאב Operation שמספק פרטים על פעולת המחיקה.