ניהול רמות גישה

בדף הזה מוסבר איך לנהל רמות גישה קיימות. אתם יכולים:

לפני שמתחילים

רשימת רמות הגישה

המסוף

כדי להציג את כל רמות הגישה, פותחים את הדף Access Context Manager במסוף Cloud de Confiance , ואם מוצגת בקשה, בוחרים את הארגון. בדף מוצגות רמות הגישה של הארגון ברשת, כולל פרטים על ההגדרה של כל רמת גישה.

פתיחת הדף של Access Context Manager

gcloud

כדי להציג את כל רמות הגישה, משתמשים בפקודה list.

gcloud access-context-manager levels list \
  [--policy=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

number

כברירת מחדל, רשימת רמות הגישה שמוחזרת על ידי accessLevels.list מחולקת לדפים. כל דף מוגבל ל-100 רמות גישה.

אפשר להשתמש בפרמטר הזה כדי לשנות את מספר רמות הגישה שמוחזרות בכל דף.

pageToken

string

אם מספר רמות הגישה שהוחזרו בקריאה חורג מגודל הדף, גוף התגובה כולל אסימון דף.

אפשר להשתמש בפרמטר הזה בקריאה הבאה כדי לקבל את דף התוצאות הבא.

accessLevelFormat

enum(LevelFormat)

בדרך כלל, רמות הגישה מוחזרות כפי שהן מוגדרות, כ-BasicLevel או כ-CustomLevel.

אפשר לציין את הערך CEL לפרמטר הזה כדי להחזיר את BasicLevels בתור CustomLevels ב-Cloud Common Expression Language.

גוף התשובה

אם הפעולה בוצעה בהצלחה, גוף התגובה לקריאה מכיל אובייקט 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 שכולל פרטים על מה שרמת הגישה עושה, הפעם האחרונה שבה הרמה עודכנה ועוד.

עדכון של רמת גישה

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

המסוף

כדי לעדכן רמת גישה:

  1. פותחים את הדף Access Context Manager במסוף Cloud de Confiance .

    פתיחת הדף של Access Context Manager

  2. אם מוצגת בקשה, בוחרים את הארגון.

  3. ברשת, לוחצים על השם של רמת הגישה שרוצים לעדכן.

  4. בחלונית Edit Access Level, משנים את רמת הגישה.

    לרשימה מלאה של המאפיינים שאפשר להוסיף או לשנות, קראו על מאפיינים של רמות גישה.

  5. לוחצים על 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, ‏ OR

    description

    תיאור ארוך של רמת הגישה.

    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. מחיקה של רמת גישה היא תהליך דו-שלבי:

  1. בדיקת יחסי התלות של רמת הגישה.

  2. מחיקה של רמת גישה אחת.

בדיקת יחסי התלות של רמת הגישה

לפני שמוחקים רמת גישה, צריך לוודא שאין הפניות אליה מרמות גישה אחרות, מגבולות גזרה לשירות של VPC Service Controls, מכללי מדיניות של בקרת גישה מבוססת-הקשר ב-Google Workspace, מCloud de Confiance קישורי גישה או מתנאי IAM.

כדי למצוא את כל רמות הגישה שמפנות לרמה שרוצים למחוק:

  1. מוודאים שהתקנתם את jq. כדי לוודא ש-jq מותקן, מריצים את jq --version. אם צריך, מתקינים את jq.

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

  3. אם הפקודה מציגה רמות גישה שמפנות לרמה שאתם רוצים למחוק, אתם צריכים קודם לעדכן את הרמות האלה כדי להסיר את התלות. איך מעדכנים רמת גישה?

אחרי שתסירו את כל ההפניות, תוכלו למחוק את רמת הגישה הספציפית.

מחיקה של רמת גישה ספציפית

המסוף

כדי למחוק רמת גישה:

  1. פותחים את הדף Access Context Manager במסוף Cloud de Confiance .

    פתיחת הדף של Access Context Manager

  2. אם מוצגת בקשה, בוחרים את הארגון.

  3. ברשת, בשורה של רמת הגישה שרוצים למחוק, לוחצים על הלחצן .

  4. לוחצים על Delete.

  5. בתיבת הדו-שיח שמופיעה, מאשרים שרוצים למחוק את רמת הגישה.

gcloud

כדי למחוק רמת גישה:

  1. כדי למחוק רמת גישה, משתמשים בפקודה delete.

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫LEVEL_NAME: השם של רמת הגישה שרוצים למחוק.

    • POLICY_NAME: השם של מדיניות הגישה של הארגון. הערך הזה נדרש רק אם לא הגדרתם מדיניות גישה כברירת מחדל.

  2. מאשרים שרוצים למחוק את רמת הגישה.

    לדוגמה:

    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 שמספק פרטים על פעולת המחיקה.