בדף הזה מוסבר איך לנהל רמות גישה קיימות. אתם יכולים:
לפני שמתחילים
מגדירים את מדיניות הגישה שמוגדרת כברירת מחדל לשימוש בכלי שורת הפקודה
gcloud.-or-
מציאת שם המדיניות שם המדיניות נדרש לפקודות שמשתמשות בכלי שורת הפקודה
gcloudולביצוע קריאות ל-API. אם מגדירים מדיניות גישה שמוגדרת כברירת מחדל, לא צריך לציין את המדיניות עבור כלי שורת הפקודה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/v1alpha/accessPolicies/POLICY_NAME/accessLevels
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAMEהוא השם של מדיניות הגישה של הארגון.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
פרמטרים אופציונליים
אפשר לכלול באופן אופציונלי אחד או יותר מפרמטרים של שאילתה הבאים.
| פרמטרים | |
|---|---|
pageSize
|
כברירת מחדל, רשימת
רמות הגישה שמוחזרת על ידי אפשר להשתמש בפרמטר הזה כדי לשנות את מספר רמות הגישה שמוחזרות לכל דף. |
pageToken
|
אם מספר רמות הגישה שמוחזרות בקריאה חורג מגודל הדף, גוף התשובה יכלול אסימון דף. אפשר להשתמש בפרמטר הזה בקריאה הבאה כדי לקבל את דף התוצאות הבא. |
accessLevelFormat
|
בדרך כלל, רמות הגישה מוחזרות כמו שהן מוגדרות, כלומר
אפשר לציין את הערך |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה של הקריאה יכיל אובייקט AccessLevels עם רשימה של רמות הגישה ומחרוזת nextPageToken. לפונקציה nextPageToken יש ערך רק אם מספר רמות הגישה שמוחזרות גדול מגודל הדף. אחרת, nextPageToken מוחזרת כמחרוזת ריקה.
רישום של רמות גישה (עם עיצוב)
באמצעות כלי שורת הפקודה 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': ['8.8.0.0/24']}]} description: Level for corp access. name: accessPolicies/165717541651/accessLevels/corp_level title: Corp Level - basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0.0/24']}]} description: Level for net access. name: accessPolicies/165717541651/accessLevels/net_level title: Net Level
פלט ה-JSON ייראה בערך כך:
[ { "basic": { "conditions": [ { "ipSubnetworks": [ "8.8.0.0/24" ] } ] }, "description": "Level for corp access.", "name": "accessPolicies/165717541651/accessLevels/corp_level", "title": "Corp Level" }, { "basic": { "combiningFunction": "OR", "conditions": [ { "ipSubnetworks": [ "8.8.0.0/24" ] } ] }, "description": "Level for net access.", "name": "accessPolicies/165717541651/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/330193482019/accessLevels/Device_Trust title: Device_Trust Extended
API
כשמציגים את רמות הגישה, רואים רק את השם, הכותרת והסוג של הרמות.
כדי לקבל מידע מפורט על רמת גישה, אפשר להתקשר אל accessLevels.get.
GET https://accesscontextmanager.googleapis.com/v1alpha/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=1034095178592
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. מחיקה של רמת גישה מתבצעת בשני שלבים:
בדיקת התלות של רמות הגישה
לפני שמוחקים רמת גישה, צריך לוודא שרמות גישה אחרות לא מפנות אליה.
כדי למצוא את כל רמות הגישה שמפנות לרמת הגישה שרוצים למחוק, מבצעים את הפעולות הבאות:
מוודאים שהתקנתם את
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 or # Check custom levels: Does the expression string contain the target access level? (.custom.expr.expression // "") | contains("accessPolicies/POLICY_NAME/accessLevels/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, יחד עםtitleו-nameשלהן. זה כולל גם רמות בסיסיות (שבהןaccessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEנמצא ב-requiredAccessLevels) וגם רמות מותאמות אישית (שבהןaccessPolicies/POLICY_NAME/accessLevels/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/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done. Deleted level [Device_Trust].
API
כדי למחוק רמת גישה, מתקשרים אל accessLevels.delete.
DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAMEהוא השם של מדיניות הגישה של הארגון.
LEVEL_NAMEהוא שם רמת הגישה שרוצים לתאר.
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה של הקריאה יכיל משאב Operation עם פרטים על פעולת המחיקה.