בדף הזה מוסבר איך להגדיר מדיניות אבטחה היררכית כדי להגן על הארגון, התיקיות או הפרויקטים. לפני שמגדירים מדיניות אבטחה היררכית, חשוב לקרוא את המידע בסקירה הכללית על מדיניות אבטחה היררכית.
הגדרת הרשאות IAM למדיניות אבטחה היררכית
כדי לבצע את הפעולות הבאות, צריך לקבל את התפקיד Compute Organization Security Policy Admin role (roles/compute.orgSecurityPolicyAdmin) ב-IAM בצומת של היררכיית משאבי היעד, או במדיניות עצמה אם היא כבר קיימת:
- יצירה של מדיניות אבטחה היררכית חדשה
- שינוי מדיניות אבטחה היררכית על ידי הוספה, עדכון או מחיקה של כללים
- מחיקת מדיניות אבטחה היררכית
כדי לבצע את הפעולות הבאות, צריך לקבל את התפקיד אדמין של משאב ארגוני ב-Compute (roles/compute.orgSecurityResourceAdmin) ב-IAM בצומת ההיררכיה של משאב היעד, וגם את התפקיד אדמין של מדיניות אבטחה ארגונית ב-Compute (roles/compute.orgSecurityPolicyAdmin) או את התפקיד משתמש במדיניות אבטחה ארגונית ב-Compute (roles/compute.orgSecurityPolicyUser) בצומת ההיררכיה של משאב היעד או במדיניות עצמה:
- שיוך של מדיניות אבטחה היררכית לצומת בהיררכיית משאבים
בטבלה הבאה מפורטות פעולות שונות שאפשר לבצע אם יש לכם אחד מהתפקידים שמופיעים בה:
| תפעול | תפקידים |
|---|---|
| הצגת כל הכללים האפקטיביים של Cloud Armor למשאב קצה עורפי |
|
צפייה במשאבי ה-Backend האפקטיביים שמכוסים על ידי 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:
ליצור מדיניות אבטחה היררכית בשם
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מוסיפים כלל בעדיפות
1000עם תנאי התאמה לטווח כתובות ה-IP192.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"לבסוף, משייכים את מדיניות האבטחה לארגון, ודוחים בקשות מכתובת ה-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:
משתמשים בפקודות הבאות כדי להעביר את
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
כדי ליצור מדיניות אבטחה בשם
org-level-proxy-filtering, משתמשים בפקודה הבאה:gcloud compute org-security-policies create \ --folder=20000002 \ --type=CLOUD_ARMOR \ --short-name=org-level-proxy-filteringמוסיפים כלל בעדיפות
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"אופציונלי: אם רוצים להחיל כללים של מדיניות אבטחה על הפרויקטים האלה לבקשות שלא מגיעות מ-
192.0.2.0/24, מוסיפים עוד כללים עם עדיפות נמוכה יותר מ-1000. אפשר לבצע את השלב הזה מאוחר יותר.משתמשים בפקודה הבאה כדי לשייך את המדיניות לתיקייה עם המזהה
20000002, שאליה העברתם את הפרויקטים בשלב 1:gcloud compute org-security-policies associations create \ --security-policy=org-level-proxy-filtering \ --folder=20000002