כדי לוודא שהמשאבים בארגון לא משתמשים בסוכן ההפעלה של מאגר התגים שהוצא משימוש ובמטא-נתונים הקשורים, Google ממליצה לאכוף מדיניות ארגונית.gce-container-declaration כשמפעילים את האילוץ המנוהל compute.managed.disableVmsWithContainerStartupAgent, אי אפשר ליצור משאבים שמשתמשים במטא-נתונים שהוצאו משימוש.
במאמר הזה נסביר איך:
- אוכפים מדיניות ארגון כדי להשבית את היצירה של מכונות Compute Engine שמשתמשות בסוכן להפעלת קונטיינרים.
- כדי לעקוב אחרי ההשפעה של מדיניות הארגון, אוכפים את המדיניות במצב פרימטר לבדיקות.
- לזהות פרויקטים שמנסים להשתמש בסוכן שהוצא משימוש באמצעות Logs Explorer.
אכיפת מדיניות הארגון כדי להשבית את היצירה של מכונות וירטואליות שמשתמשות במטא-נתונים של הקונטיינר
כדי למנוע יצירה של משאבים שמשתמשים בסוכן הפעלת הקונטיינר שהוצא משימוש, Google ממליצה לאכוף מדיניות ארגונית.
ההגבלה constraints/compute.managed.disableVmsWithContainerStartupAgent מונעת יצירה של משאבים חדשים עם מפתח המטא-נתונים gce-container-declaration. האילוץ הזה לא משפיע על מופעים קיימים או על תבניות של מופעים.
אפשר לאכוף את האילוץ הזה באמצעות מסוף Cloud de Confiance , Google Cloud CLI או Compute Engine API.
המסוף
כדי להגדיר את מדיניות הארגון באמצעות המסוף, מבצעים את השלבים הבאים:
במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.
בכלי לבחירת פרויקטים, בוחרים את הפרויקט, התיקייה או הארגון שרוצים לערוך את מדיניות הארגון שלהם.
בדף Organization policies מוצגת רשימה של מגבלות שקשורות למדיניות הארגון.
בוחרים את האילוץ השבתת היצירה של מופעי Compute Engine שמשתמשים בסוכן הפעלת קונטיינר שהוצא משימוש (konlet) מתוך רשימת האילוצים. בדף Policy details שמופיע מתואר האילוץ ומוסבר איך הוא חל.
כדי לעדכן את מדיניות הארגון של המשאב הזה, לוחצים על ניהול מדיניות.
בדף עריכת מדיניות, לוחצים על במקום המדיניות של המשאב הראשי.
בוחרים באפשרות הוספת כלל.
בקטע אכיפה, בוחרים באפשרות מופעל.
אופציונלי: כדי לראות תצוגה מקדימה של ההשפעה של השינוי במדיניות הארגון לפני שהוא נאכף, לוחצים על בדיקת שינויים. למידע נוסף על בדיקת שינויים במדיניות הארגון, אפשר לעיין במאמר בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.
כדי לאכוף את המדיניות של הארגון במצב הרצת בדיקה, לוחצים על הגדרת מדיניות להרצת בדיקה. מידע נוסף זמין במאמר בנושא יצירת מדיניות ארגונית במצב הרצה יבשה ממדיניות פעילה.
אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמו שרוצים, לוחצים על הגדרת מדיניות כדי להגדיר את המדיניות הפעילה.
gcloud
יוצרים קובץ YAML כדי להגדיר את מדיניות הארגון.
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueמחליפים את מה שכתוב בשדות הבאים:
RESOURCE_TYPEעםorganizations,foldersאוprojects.
RESOURCE_IDעם מזהה הארגון, מזהה התיקייה, מזהה הפרויקט או מספר הפרויקט, בהתאם לסוג המשאב שצוין ב-RESOURCE_TYPE.
בדוגמה הבאה מוצג קובץ YAML שמחיל את מדיניות הארגון על הפרויקט עם המזהה
123456:name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueאופציונלי: כדי להגדיר את מדיניות הארגון כתלויה בתג, מוסיפים בלוק
conditionל-rules. אם מוסיפים כלל מותנה למדיניות הארגון, צריך להוסיף לפחות כלל אחד לא מותנה, אחרת אי אפשר לשמור את המדיניות. פרטים נוספים זמינים במאמר בנושא הגדרת מדיניות ארגונית באמצעות תגים.מריצים את הפקודה
org-policies set-policyעם הדגלdryRunSpecכדי להגדיר את מדיניות הארגון במצב הרצה יבשה:gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpecמחליפים את
POLICY_PATHבנתיב המלא לקובץ ה-YAML של מדיניות הארגון.למידע נוסף על מדיניות ארגון במצב הרצה יבשה, ראו יצירת מדיניות ארגון במצב הרצה יבשה.
אפשר להשתמש בפקודה
policy-intelligence simulate orgpolicyכדי לראות תצוגה מקדימה של ההשפעה של שינוי במדיניות הארגון לפני שהוא נאכף:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATHמחליפים את מה שכתוב בשדות הבאים:
ORGANIZATION_IDבמזהה הארגון, למשל1234567890123. אין תמיכה בהדמיית שינויים בכמה ארגונים.
POLICY_PATHעם הנתיב המלא לקובץ ה-YAML של מדיניות הארגון.
למידע נוסף על בדיקת שינויים במדיניות הארגון, ראו בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.
אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמצופה, מגדירים את המדיניות הפעילה באמצעות הפקודה
org-policies set-policyוהדגלspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specמחליפים את
POLICY_PATHבנתיב המלא לקובץ ה-YAML של מדיניות הארגון.
REST
כדי להגדיר את מדיניות הארגון, משתמשים בשיטה organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
גוף בקשת ה-JSON מכיל את ההגדרה של מדיניות הארגון.
אם האילוץ הזה לא תומך בפרמטרים, משמיטים את הבלוק parameters מתחת ל-rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
מחליפים את מה שכתוב בשדות הבאים:
RESOURCE_TYPEעםorganizations,foldersאוprojects.
RESOURCE_IDעם מזהה הארגון, מזהה התיקייה, מזהה הפרויקט או מספר הפרויקט, בהתאם לסוג המשאב שצוין ב-RESOURCE_TYPE.
בדוגמה הבאה מוצג גוף בקשה שמחיל את מדיניות הארגון על הפרויקט עם המזהה 123456:
{
"name": "projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
```
Optionally, to make the organization policy conditional on a tag, add a
`condition` block to the `rules`. If you add a conditional rule to an
organization policy, you must add at least one unconditional rule or the
policy cannot be saved. For more details, see
[Setting an organization policy with tags](/resource-manager/docs/organization-policy/tags-organization-policy).
For more information about dry-run organization policies, see
[Create an organization policy in dry-run mode](/resource-manager/docs/organization-policy/dry-run-policy).
מעקב אחרי השימוש במטא-נתונים שהוצאו משימוש על ידי אכיפת המדיניות במצב הרצת בדיקה
במקום לאכוף את המדיניות באופן ישיר, מה שחוסם את היצירה של מופעים שמשתמשים במטא-נתונים של הצהרת המאגר, אפשר להחיל את המדיניות במצב הרצה יבשה. ההגדרה הזו מאפשרת לכם לעקוב אחרי פעולות שהמדיניות יכולה לחסום ולתעד אותן, בלי להפריע לפעולות עצמן. למידע נוסף, אפשר לקרוא על יצירת מדיניות ארגונית במצב הרצה יבשה.
כשפעולה מפעילה את המדיניות של הרצת סימולציה (לדוגמה, אם מנסים ליצור מכונה עם מפתח המטא-נתונים gce-container-declaration), נוצרת רשומה ביומן ביומני הביקורת של Cloud.
כדי לזהות פרויקטים שמנסים להשתמש בסוכן שהוצא משימוש, מבצעים את השלבים הבאים:
נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
בחלונית Query, מזינים את השאילתה הבאה:
protoPayload.metadata.dryRun="true" protoPayload.methodName="CheckOrgPolicy" protoPayload.resourceName =~ "/compute.managed.disableVmsWithContainerStartupAgent"לוחצים על Run query.
כדי לזהות את הפרויקטים שמנסים להשתמש בסוכן שהוצא משימוש, צריך לעיין ברשומות ביומן. המאפיינים של היומנים של הפרות בהרצה יבשה:
- הם קשורים ל-
orgpolicy.googleapis.com. - השדה
protoPayload.metadata.dryRunמוגדר ל-true. constraints/compute.managed.disableVmsWithContainerStartupAgentההגבלה נכללת בפרטי ההפרה.
- הם קשורים ל-
בודקים את המידע ביומני הביקורת כדי להבין איפה ואיך עדיין נעשה שימוש בסוכן שהוצא משימוש. המידע הזה יכול לעזור לכם להעביר את עומסי העבודה האלה לחלופות נתמכות.
אחרי שמוודאים שמדיניות הארגון במצב הרצת בדיקה פועלת כמו שרוצים, אוכפים את המדיניות על ידי שינוי מצב האכיפה ממצב הרצת בדיקה למצב פעיל.
מידע נוסף על השימוש ב-Logs Explorer מופיע במאמר הצגת יומנים באמצעות Logs Explorer.