בדף הזה מוסבר איך לוודא ש-VM Manager מופעל בכל המכונות הווירטואליות של Compute Engine, כולל מכונות וירטואליות של Google Kubernetes Engine בארגון, בתיקייה או בפרויקט, באמצעות Organization Policy Service.
המדריך הזה מיועד לצוותי אבטחה שרוצים לוודא שכל התוכנות הנדרשות, כמו סוכני אבטחה וסוכני מעקב, פועלות בכל המקרים בארגון, בתיקייה או בפרויקט. כדי לאכוף את ההגדרה באמצעות מדיניות הארגון בלבד, אפשר להיעזר במדריך הזה. כדי להשתמש בגישה של הגדרה כקוד, צריך להשתמש ב-Config Sync. בעזרת סנכרון תצורות אפשר להגדיר ולשלוט בהרבה היבטים של האשכולות, והוא מספק ערך מעבר למדיניות הארגון.
לפני שקוראים את הדף הזה, חשוב לוודא שכבר יש לכם היכרות עם VM Manager ועם אילוצים של מנהל המשאבים.
במדריך הזה נסביר איך לאכוף את השימוש ב-VM Manager בכל פרויקט בארגון או בתיקייה. במדריך הזה לא מוסבר איך להגדיר את VM Manager ולהשתמש בו עם מדיניות מערכת הפעלה. הוראות מפורטות זמינות במאמר בנושא יצירת הקצאה של מדיניות מערכת הפעלה.
מידע על VM Manager
VM Manager הוא חבילת כלים לניהול מערכות הפעלה למכונות וירטואליות (VM) ב-Fleets גדולים, שמריצים Windows ו-Linux ב-Compute Engine. אפשר להשתמש ב-VM Manager כדי להחיל מדיניות של מערכת ההפעלה כדי להתאים אישית את התוכניות שפועלות במכונות וירטואליות. לדוגמה, אתם יכולים להגדיר מדיניות להתקנת סוכן במשאב, ולעשות שימוש חוזר במדיניות הזו בכמה משאבים. כברירת מחדל, VM Manager מושבת בפרויקטים שלGoogle Cloud .
כדי לצמצם את היקף ההחלה של כללי המדיניות על ידי VM Manager, אפשר להשתמש בOSPolicyAssignments, שמאפשר להגדיר את היקף ההחלה של כללי מדיניות של מערכת ההפעלה למכונות וירטואליות ספציפיות באמצעות סלקטורים. לדוגמה, לכל המכונות הווירטואליות של צומתי GKE יש את התווית goog-gke-node, שאפשר לטרגט באמצעות הקצאת מדיניות של מערכת הפעלה.
מדיניות הארגון ו-VM Manager
אם Google Cloud בארגון שלכם יש כמה רמות היררכיות, כמו תיקיות ותיקיות משנה, הפעלה ידנית של VM Manager בכל הפרויקטים האלה עלולה לגרום לתקורה מיותרת של ניהול. אתם יכולים לדרוש שבכל הפרויקטים בתיקיות או בארגון, יופעל VM Manager בכל המכונות הווירטואליות באמצעות Organization Policy Service עם המגבלה constraints/compute.requireOsConfig. אלה כמה מהיתרונות של אכיפת VM Manager באמצעות מדיניות ארגונית:
- בכל הפרויקטים החדשים, התווית
enable-osconfig=TRUEשל מטא-נתונים מתווספת לכל פרויקט ולכל מכונה וירטואלית. - אם מישהו ינסה להסיר את התווית הזו או להגדיר אותה לערך שאינו
true, השינוי יידחה. - אם מישהו ינסה ליצור או לעדכן מכונה וירטואלית באופן שיגדיר את מפתח המטא-נתונים
enable-osconfigלערך שאינוtrue, השינוי יידחה.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
- חשוב לוודא שכבר משתמשים ב-VM Manager עם מדיניות מערכת הפעלה והקצאות של מדיניות מערכת הפעלה כדי להפעיל סוכנים במכונות הווירטואליות. הוראות מפורטות זמינות במאמר יצירת הקצאת מדיניות OS.
-
Enable the Cloud Resource Manager API, OS Config API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
מגבלות
למדיניות הארגון constraints/compute.requireOsConfig יש את המגבלות הבאות:
- המשאבים עם הפרות קיימות לא משתנים בעקבות מדיניות הארגון החדשה. אפשר להגדיר את המטא נתונים של המדיניות באופן ידני או באמצעות
gcloudבמשאבים קיימים. - כל מי שיש לו הרשאה לשנות מטא-נתונים במכונות וירטואליות של Compute Engine בפרויקט יכול להשבית את
osconfig-agentבמכונה הווירטואלית על ידי הגדרת שדה המטא-נתוניםosconfig-disabled-features. - אם
osconfig-agentלא פועל, ה-VM מופיע כלא תואם בלוח הבקרה של VM Manager. לדוגמה, זה יכול לקרות אם משתמש השבית את הסוכן באופן ידני.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול מדיניות הארגון, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Organization policy administrator (roles/orgpolicy.policyAdmin) בארגון.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלה של compute.requireOsConfig בכל הארגון
אחרי שמפעילים את VM Manager ומגדירים את OSPolicyAssignment למכונות הווירטואליות, אפשר לוודא ש-VM Manager מופעל כברירת מחדל בכל הפרויקטים החדשים עם מדיניות הארגון constraints/compute.requireOsConfig. האופן שבו אוכפים את constraints/compute.requireOsConfig תלוי בגרסת ה-API שבה אתם משתמשים.
Organization Policy v2 API
אפשר לאכוף את האילוץ constraints/compute.requireOsConfig עלGoogle Cloud משאב כמו תיקייה או ארגון באמצעות ה-CLI של gcloud או מסוף Google Cloud .
gcloud
מוודאים שההגבלה
compute.requireOsConfigלא הוחלה כבר:gcloud org-policies describe \ constraints/compute.requireOsConfig \ --organization=ORGANIZATION_IDמחליפים את
ORGANIZATION_IDבמזהה הארגון.אם לא מוגדרת מדיניות, הפקודה הזו מחזירה שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.אם המדיניות קיימת, הפקודה מחזירה את המדיניות הנוכחית. החלת מדיניות חדשה מחליפה את המדיניות הקיימת, אם יש כזו.
יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: trueמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yamlמוודאים שהמדיניות החדשה חלה:
gcloud org-policies describe \ constraints/compute.requireOsConfig --effective \ --organization=ORGANIZATION_IDהפלט של הפקודה אמור להיראות כך:
name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
console
במסוף Google Cloud , נכנסים לדף מדיניות הארגון.
מתוך בורר הפרויקטים, בוחרים את הפרויקט, התיקייה או הארגון שרוצים לערוך את מדיניות הארגון שלהם.
בדף מדיניות הארגון, משתמשים במסנן כדי לחפש את
compute.requireOsConfig.לוחצים על שם המדיניות כדי לפתוח את הדף פרטי המדיניות.
לוחצים על ניהול מדיניות כדי לעדכן את מדיניות הארגון עבור המשאב הזה.
בדף עריכת מדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.
בוחרים באפשרות הוספת כלל.
בקטע אכיפה, משנים את האכיפה של מדיניות הארגון הזו למופעלת.
כדי לאכוף את המדיניות, לוחצים על הגדרת מדיניות.
Resource Manager v1 API
מוודאים שההגבלה
compute.requireOsConfigלא הוחלה כבר:gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDמחליפים את
ORGANIZATION_IDבמזהה הארגון.אם לא מוגדרת מדיניות, הפקודה הזו מחזירה מדיניות לא מלאה, כמו בדוגמה הבאה:
constraint: "constraints/compute.requireOsConfig" etag: BwVJi0OOESU=אם המדיניות קיימת, הפקודה מחזירה את המדיניות הנוכחית. החלת מדיניות חדשה מחליפה את המדיניות הקיימת, אם יש כזו.
מגדירים את המדיניות לאכיפה בארגון:
gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDהפלט של הפקודה אמור להיראות כך:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig etag: BwVJitxdiwY=מוודאים שהמדיניות החדשה חלה:
gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --effective \ --organization ORGANIZATION_IDהפלט של הפקודה אמור להיראות כך:
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון ייאכפו באופן מלא.
במאמרי העזרה של מנהל המשאבים מוסבר בהרחבה על מדיניות נוספת שאפשר להחיל, ועל שינוי או מחיקה של מדיניות.
המאמרים הבאים
מידע נוסף על כתיבה ביומני ביקורת ב-GKE