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

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

קבלת השם וה-etag של מדיניות גישה

המסוף

במסוף Google Cloud אין תמיכה בניהול מדיניות גישה. כדי לנהל את מדיניות הגישה, צריך להשתמש בכלי שורת הפקודה gcloud או ב-API.

gcloud

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

gcloud access-context-manager policies list \
    --organization ORGANIZATION_ID

כאשר:

  • ORGANIZATION_ID הוא מספר הארגון.

הפלט אמור להיראות כך:

NAME           ORGANIZATION  TITLE        ETAG
1034095178592  511928527926  Corp Policy  10bc3c76ca809ab2

API

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

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies

גוף הבקשה

גוף הבקשה צריך להיות ריק.

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה ייראה בערך כך:

{
  "accessPolicies": [
    {
      object(AccessPolicy)
    }
  ],
  "nextPageToken": string
}

כאשר:

הגדרת מדיניות ברירת המחדל לגישה לכלי שורת הפקודה gcloud

כשמשתמשים בכלי gcloud של שורת הפקודה, אפשר להגדיר מדיניות גישה שמוגדרת כברירת מחדל. כשמגדירים מדיניות ברירת מחדל, לא צריך יותר לציין מדיניות בכל פעם שמשתמשים בפקודה של Access Context Manager.

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

gcloud config set access_context_manager/policy POLICY_NUMBER

כאשר:

הענקת הרשאה למדיניות גישה

המסוף

במסוף Google Cloud אין תמיכה בניהול מדיניות גישה. כדי לנהל את מדיניות הגישה, צריך להשתמש בכלי שורת הפקודה gcloud או ב-API.

gcloud

כדי להאציל ניהול באמצעות קישור של חשבון ראשי ותפקיד עם מדיניות גישה בהיקף מוגבל, משתמשים בפקודה add-iam-policy-binding.

gcloud access-context-manager policies add-iam-policy-binding \
[POLICY] --member=PRINCIPAL --role=ROLE

כאשר:

  • POLICY הוא המזהה של המדיניות או מזהה מוגדר במלואו של המדיניות.

  • PRINCIPAL הוא החשבון הראשי שרוצים להוסיף לו את הקישור. מציינים בפורמט הבא: user|group|serviceAccount:email או domain:domain.

  • ROLE הוא שם התפקיד שרוצים להקצות לחשבון המשתמש. שם התפקיד הוא הנתיב המלא של תפקיד מוגדר מראש, כמו roles/accesscontextmanager.policyEditor, או מזהה התפקיד של תפקיד בהתאמה אישית, כמו organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor.

API

כדי להעביר את ניהול מדיניות הגישה המוגבלת:

  1. יוצרים את גוף הבקשה.

    {
    "policy": "IAM_POLICY",
    }

    כאשר:

    • IAM_POLICY הוא אוסף של קישורים. קישור מגדיר קשר בין משתמש אחד או יותר, או חשבונות משתמשים, לתפקיד יחיד. חשבונות ראשיים יכולים להיות חשבונות משתמשים, חשבונות שירות, קבוצות Google ודומיינים. תפקיד הוא רשימה עם שם של הרשאות. כל תפקיד יכול להיות תפקיד מוגדר מראש ב-IAM או תפקיד בהתאמה אישית שנוצר על ידי משתמש.
  2. מעבירים את מדיניות הגישה על ידי קריאה ל-accessPolicies.setIamPolicy.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של policy.

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

המסוף

במסוף Google Cloud אין תמיכה בניהול מדיניות גישה. כדי לנהל את מדיניות הגישה, צריך להשתמש בכלי שורת הפקודה gcloud או ב-API.

gcloud

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

gcloud access-context-manager policies describe POLICY_NUMBER

כאשר:

  • POLICY_NUMBER הוא השם המספרי של המדיניות.

הפלט הבא מופיע:

name: accessPolicies/1034095178592
parent: organizations/511928527926
title: Corp Policy

API

כדי לתאר את מדיניות הגישה, צריך להתקשר למספר accessPolicies.get

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NUMBER

כאשר:

  • POLICY_NUMBER הוא השם המספרי של המדיניות.

גוף הבקשה

גוף הבקשה צריך להיות ריק.

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל אובייקט AccessPolicy.

עדכון מדיניות גישה

המסוף

במסוף Google Cloud אין תמיכה בניהול מדיניות גישה. כדי לנהל את מדיניות הגישה, צריך להשתמש בכלי שורת הפקודה gcloud או ב-API.

gcloud

כדי לעדכן את מדיניות הגישה, משתמשים בפקודה update. בשלב הזה, אפשר לשנות רק את השם של המדיניות.

gcloud access-context-manager policies update POLICY_NUMBER \
    --title=POLICY_TITLE

כאשר:

  • POLICY_NUMBER הוא השם המספרי של המדיניות.

  • POLICY_TITLE הוא שם המדיניות שקריא לבני אדם.

הפלט הבא מופיע:

Waiting for PATCH operation [accessPolicies/POLICY_NUMBER/update/1542234231134882]...done.

API

בשלב הזה, אפשר לשנות רק את השם של מדיניות הגישה.

כדי לעדכן את המדיניות:

  1. יוצרים את גוף הבקשה.

    {
     "parent": "ORGANIZATION_ID",
     "title": "POLICY_TITLE"
    }

    כאשר:

    • ORGANIZATION_ID הוא מספר הארגון.

    • POLICY_TITLE הוא שם המדיניות שקריא לבני אדם.

  2. קוראים לפונקציה accessPolicies.patch.

    PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NUMBER/UPDATE_MASK
    

    כאשר:

    • POLICY_NUMBER הוא השם המספרי של המדיניות.

    • UPDATE_MASK היא מחרוזת שמייצגת את הערך שרוצים לעדכן. לדוגמה, title.

    גוף התשובה

    אם הפעולה בוצעה ללא שגיאות, גוף התגובה של הקריאה יכיל משאב Operation עם פרטים על הפעולה PATCH.

מחיקת מדיניות גישה

המסוף

בשלב הזה, אי אפשר לנהל את מדיניות הגישה במסוף Google Cloud . כדי לנהל את מדיניות הגישה, צריך להשתמש בכלי שורת הפקודה gcloud או ב-API.

gcloud

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

  1. משתמשים בפקודה delete.

    gcloud access-context-manager policies delete POLICY_NUMBER

    כאשר:

    • POLICY_NUMBER הוא השם המספרי של המדיניות.
  2. מאשרים שרוצים למחוק את מדיניות הגישה.

    לדוגמה:

    You are about to delete policy [POLICY_NUMBER]
    
    Do you want to continue (Y/n)?
    

    הפלט הבא מופיע:

    Deleted policy [1034095178592].
    

API

כדי למחוק את מדיניות הגישה, מתקשרים אל accessPolicies.delete.

DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NUMBER

כאשר:

  • POLICY_NUMBER הוא השם המספרי של המדיניות.

גוף הבקשה

גוף הבקשה צריך להיות ריק.

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה של הקריאה יכיל משאב Operation עם פרטים על הפעולה DELETE.

המאמרים הבאים