הגדרה של כללי מדיניות היררכיים לאבטחה

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

הגדרת הרשאות IAM למדיניות אבטחה היררכית

כדי לבצע את הפעולות הבאות, צריך שיהיה לכם את התפקיד אדמין של מדיניות אבטחה ברמת הארגון ב-Compute (roles/compute.orgSecurityPolicyAdmin) בניהול הזהויות והרשאות הגישה (IAM) בצומת היררכיית המשאבים של היעד, או במדיניות עצמה אם היא כבר קיימת:

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

כדי לבצע את הפעולות הבאות, צריך שיהיה לכם את התפקיד "אדמין של משאבי הארגון ב-Compute" (roles/compute.orgSecurityResourceAdmin) ב-IAM בצומת של היררכיית משאבי היעד, בנוסף לתפקיד "אדמין של מדיניות האבטחה של הארגון ב-Compute" (roles/compute.orgSecurityPolicyAdmin) או לתפקיד "משתמש במדיניות האבטחה של הארגון ב-Compute" (roles/compute.orgSecurityPolicyUser) בצומת של היררכיית משאבי היעד או במדיניות עצמה:

  • שיוך של מדיניות אבטחה היררכית לצומת בהיררכיית המשאבים

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

תפעול תפקידים
הצגת כל הכללים בפועל של Google Cloud Armor למשאב בקצה העורפי
הצגת משאבי הקצה העורפי בפועל שכלולים ב-organizationSecurityPolicy

הגדרת מדיניות אבטחה היררכית

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

יצירת מדיניות אבטחה היררכית

כדי ליצור מדיניות אבטחה היררכית, משתמשים בפקודה gcloud compute org-security-policies create. כדי ליצור מדיניות אבטחה היררכית בארגון או בתיקייה, משתמשים בדגל --organization או --folder, יחד עם ORGANIZATION_ID או FOLDER_ID בהתאמה. אתם יכולים להשתמש בדוגמאות הבאות כדי ליצור מדיניות אבטחה היררכית, ולהחליף את POLICY_NAME בשם שאתם רוצים לתת למדיניות האבטחה החדשה:

  • יוצרים מדיניות אבטחה היררכית ברמת הארגון:

    gcloud compute org-security-policies create \
        --organization=ORGANIZATION_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    
  • יוצרים מדיניות אבטחה היררכית ברמת התיקייה:

    gcloud compute org-security-policies create \ 
        --folder=FOLDER_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    

שיוך של מדיניות אבטחה קיימת לצומת בהיררכיית המשאבים

אם כבר יש לכם מדיניות אבטחה, אתם יכולים לשייך אותה לצומת בהיררכיית המשאבים באמצעות הפקודה gcloud compute org-security-policies associations create.

  • שיוך מדיניות אבטחה היררכית לארגון:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --organization=ORGANIZATION_ID \
        --name=ASSOCIATION_NAME
    
  • כדי לשייך מדיניות אבטחה היררכית לתיקייה:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --folder=FOLDER_ID \
        --name=ASSOCIATION_NAME
    
  • שיוך מדיניות אבטחה היררכית לפרויקט:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --project-number=PROJECT_ID \
        --name=ASSOCIATION_NAME
    

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

  • ‫POLICY_ID: מזהה מדיניות האבטחה
  • ‫ORGANIZATION_ID: מזהה הארגון
  • ‫ASSOCIATION_NAME: שם האיגוד
  • ‫FOLDER_ID: מזהה התיקייה
  • ‫PROJECT_ID: מזהה הפרויקט

החרגת פרויקטים ממדיניות אבטחה היררכית

בנוסף, אתם יכולים להחריג פרויקטים ממדיניות האבטחה ההיררכית ברמת התיקייה, ולהחריג פרויקטים ותיקיות ממדיניות האבטחה ההיררכית ברמת הארגון:

  • כדי להחריג פרויקטים ממדיניות אבטחה היררכית, משתמשים בפקודה gcloud compute org-security-policies associations create עם הדגל --excluded-projects.

    הפקודה הבאה משייכת את מדיניות האבטחה example-policy לארגון 10000001, אבל לא לפרויקט עם המזהה 2000000002:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-projects="projects/2000000002" \
        --organization=10000001
    
  • כדי להחריג תיקיות ממדיניות אבטחה היררכית ברמת הארגון, משתמשים בפקודה gcloud compute org-security-policies associations create עם הדגל --excluded-folders.

    בדוגמה הבאה, הפקודה משייכת את מדיניות האבטחה example-policy לארגון 10000001, אבל לא כוללת את התיקייה עם המזהה 3000000003:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-folders="folders/3000000003" \
        --organization=10000001
    

העברה של מדיניות אבטחה היררכית

כדי לשנות את ההורה של מדיניות אבטחה היררכית, אפשר להשתמש בפקודה gcloud compute org-security-policies move כדי להעביר את מדיניות האבטחה ההיררכית לצומת אחר בהיררכיית המשאבים של ההורה. אתם מספקים את המקור כדגל הראשון ואת היעד כדגל השני. כשמעבירים מדיניות אבטחה היררכית, הבעלות עליה משתנה, ולא המשאב שאליו היא משויכת. רק ארגונים ותיקיות יכולים להיות הבעלים של מדיניות אבטחה היררכית, ולכן אי אפשר להעביר אותם לפרויקטים.

בדוגמה הבאה, מעבירים מדיניות אבטחה היררכית מהארגון ORGANIZATION_ID לתיקייה FOLDER_ID:

gcloud compute org-security-policies move policy-1 \
    --organization ORGANIZATION_ID \
    --folder FOLDER_ID

מחיקת מדיניות אבטחה היררכית

כדי למחוק מדיניות אבטחה היררכית, קודם צריך למחוק את כל השיוכים של המדיניות לצמתים בהיררכיית המשאבים. בדוגמה הבאה, משתמשים בפקודה gcloud compute org-security-policies associations delete כדי להסיר את השיוך שנקרא ASSOCIATION_NAME בין מדיניות האבטחה ההיררכית שנקראת POLICY_NAME לבין הארגון ORGANIZATION_ID:

gcloud compute org-security-policies associations delete ASSOCIATION_NAME \
    --security-policy=POLICY_NAME \
    --organization=ORGANIZATION_ID

אם למדיניות האבטחה יש שיוכים נוספים, חוזרים על השלב הקודם לכל שיוך. אם למדיניות האבטחה ההיררכית אין שיוכים, אפשר למחוק אותה באמצעות הפקודה gcloud compute org-security-policies delete, כמו בדוגמה הבאה:

gcloud compute org-security-policies delete POLICY_NAME \
    --organization=ORGANIZATION_ID

הצגת כל הכללים בפועל של Cloud Armor למשאב מוגן

כדי לראות את כל הכללים של מדיניות האבטחה של Cloud Armor שחלים על משאב מוגן, משתמשים בפקודה gcloud compute backend-services get-effective-security-policies.

gcloud compute backend-services get-effective-security-policies PROTECTED_RESOURCE

מחליפים את PROTECTED_RESOURCE בשם של המשאב המוגן שרוצים לבדוק.

כשמריצים את הפקודה gcloud compute backend-services get-effective-security-policies בשירות לקצה העורפי בפרויקט שיורש מדיניות אבטחה היררכית, התגובה עשויה לכלול את מדיניות האבטחה ההיררכית גם אם סוג השירות הספציפי לקצה העורפי לא נתמך על ידי מדיניות אבטחה היררכית. בסקירה הכללית על מדיניות אבטחה היררכית מפורטות הגדרות הקצה העורפי שנתמכות במדיניות אבטחה היררכית.

תרחישים לדוגמה

בקטעים הבאים מתוארים תרחישים לדוגמה של מדיניות אבטחה היררכית.

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

אתם יכולים להשתמש במדיניות אבטחה היררכית כדי לנהל רשימה של כתובות IP שלא יכולות לגשת לרשת של הארגון כולו, או כדי לדחות תנועה מאזור או ממדינה מסוימים. כך תוכלו לטפל בבעיות אבטחה ספציפיות לחברה או לשמור על תאימות. כך יוצרים מדיניות אבטחה היררכית ברמת הארגון שדוחה תנועה מטווח כתובות ה-IP‏ 192.0.2.0/24:

  1. יוצרים מדיניות אבטחה היררכית בשם org-level-deny-ip-policy, שמצורפת לארגון עם המזהה 1000000001:

     gcloud compute org-security-policies create \
         --organization=1000000001 \
         --type=CLOUD_ARMOR \
         --description= "this org policy denies a set of IP addresses for all resources" \
         --short-name=org-level-deny-ip-policy
    
  2. מוסיפים כלל בעדיפות 1000 עם תנאי התאמה לטווח כתובות ה-IP‏ 192.0.2.0/24 ופעולת deny:

     gcloud compute org-security-policies rules create 1000 \
         --action=deny \
         --security-policy=org-level-deny-ip-policy \
         --organization=1000000001 \
         --description "Deny traffic from 192.0.2.0/24" \
         --src-ip-ranges "192.0.2.0/24"
    
  3. לסיום, משייכים את מדיניות האבטחה לארגון, ודוחים בקשות מכתובת ה-IP‏ 192.0.2.0/24 לכל השירותים בארגון:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-deny-ip-policy \
         --organization=ORGANIZATION_ID
    

לתת לקבוצה של כתובות IP של מקור גישה לפרויקטים מסוימים בארגון

אתם יכולים לתת גישה לפרויקטים מסוימים בארגון לכתובת IP אחת או לכמה כתובות IP. זה יכול להיות שימושי אם יש לכם שרת proxy במעלה הזרם שאתם סומכים עליו, ואתם רוצים להחריג אותו מהערכת הכללים רק בחלק מהפרויקטים. בדוגמה הבאה, שמבוססת על Cloud CDN, משתמשים במדיניות אבטחה היררכית ברמת התיקייה כדי לתת לטווח כתובות ה-IP‏ 192.0.2.0/24 גישה לפרויקטים שנקראים project-1,‏ project-2 ו-project-3 בארגון 10000001:

  1. כדי להעביר את project-1,‏ project-2 ו-project-3 לתיקייה עם המזהה 20000002, משתמשים בפקודות הבאות:

    gcloud projects move project-1 --folder=20000002
    gcloud projects move project-2 --folder=20000002
    gcloud projects move project-3 --folder=20000002
    
  2. כדי ליצור מדיניות אבטחה בשם org-level-proxy-filtering, משתמשים בפקודה הבאה:

     gcloud compute org-security-policies create \
         --folder=20000002 \
         --type=CLOUD_ARMOR \
         --short-name=org-level-proxy-filtering
    
  3. מוסיפים כלל בעדיפות 1000 עם תנאי התאמה לטווח כתובות ה-IP‏ 192.0.2.0/24 ופעולת כלל goto_next. אם בקשה תואמת לתנאי הזה, Cloud Armor מפסיק להעריך את הכללים במדיניות האבטחה הזו:

     gcloud compute org-security-policies rules create 1000 \
         --action=goto_next \
         --security-policy=org-level-proxy-filtering \
         --organization=10000001 \
         --src-ip-ranges="192.0.2.0/24"
    
  4. אם רוצים להחיל כללים של מדיניות אבטחה על הפרויקטים האלה לבקשות שלא מגיעות מ-192.0.2.0/24 , מוסיפים עוד כללים בעדיפות נמוכה יותר מ-1000. אפשר לבצע את השלב הזה מאוחר יותר.

  5. משתמשים בפקודה הבאה כדי לשייך את המדיניות לתיקייה עם המזהה 20000002, שאליה העברתם את הפרויקטים בשלב 1:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-proxy-filtering \
         --folder=20000002
    

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