בדף הזה מוסבר איך לצפות במידע על סטטוס הפריסה ואכיפת המדיניות ביומני הביקורת של Cloud.
כדי לקבל מידע נוסף על המינוח בממשק המשתמש של יומני הביקורת של Cloud שמופיע בדף הזה, אפשר לעיין במאמר בנושא צפייה ביומנים.
אתם יכולים להעריך את מצב האבטחה של האפליקציה, כולל אכיפת מדיניות של אישור בינארי (Binary Authorization) במוצרים Google Cloud תלויים בלוח בקרה אחד. מידע נוסף זמין במאמר בנושא ניטור לצורכי אבטחה.
סקירה כללית
כשמשתמשים ב-Binary Authorization כדי לפרוס קובץ אימג' של קונטיינר ב-Google Kubernetes Engine (GKE), GKE כותב פרטים על הפריסה ביומני הביקורת ב-Google Cloud Observability. הרשומות ביומן הביקורת כוללות הודעות על סטטוס האכיפה. אפשר לראות את רשומות היומן האלה במסוף Google Cloud או בשורת הפקודה באמצעות הפקודה gcloud logging read.
בהמשך המדריך הזה, תהיה לכם אפשרות לגשת ליומני הביקורת של Cloud ולבחור את הפרויקט עם האירועים שאתם רוצים לראות.
כדי לקבל גישה כללית ליומני הביקורת של Cloud, מבצעים את הפעולות הבאות:
נכנסים לדף Google Cloud Observability Logging > Logs (Logs Explorer) במסוףGoogle Cloud :
בוחרים את Google Cloud הפרויקט שרוצים לראות את יומני הביקורת שלו ב-Cloud.
הודעות על סטטוס האכיפה
GKE כותב הודעות ליומן הביקורת עבור תנאי האכיפה הבאים:
- פריסה חסומה: הפריסה נחסמה בגלל מדיניות Binary Authorization.
- אירוע Breakglass: פריסה עקפה את בדיקת המדיניות באמצעות מנגנון Breakglass. מידע נוסף זמין במאמר בנושא שימוש בגישת חירום.
- Fail open: הפריסה אושרה כי ה-backend של Binary Authorization לא היה זמין.
- הרצת בדיקה: הפריסה מותרת עם הפרות מדיניות כי מצב הרצת הבדיקה הוגדר במדיניות Binary Authorization.
אירועי פריסה שנחסמו ביומני הביקורת של Cloud
כשקובץ אימג' של קונטיינר נחסם כי הוא מפר מדיניות של Binary Authorization, אפשר למצוא את אירועי הפריסה החסומים ביומני הביקורת של Cloud.
שליחת שאילתה ליומני הביקורת של Cloud לגבי אירועי פריסה שנחסמו
בקטע הזה מוסבר איך לשלוח שאילתות ליומני הביקורת של Cloud כדי למצוא אירועים של פריסות שנחסמו.
Logs Explorer
כדי לראות אירועי פריסה חסומים ב-Logs Explorer של יומני הביקורת של Cloud:
עוברים אל הדף Logs Explorer.
מזינים את השאילתה הבאה בתיבה search-query:
resource.type="k8s_cluster" logName:"cloudaudit.googleapis.com%2Factivity" (protoPayload.methodName="io.k8s.core.v1.pods.create" OR protoPayload.methodName="io.k8s.core.v1.pods.update") protoPayload.response.status="Failure" (protoPayload.response.reason="VIOLATES_POLICY" OR protoPayload.response.reason="Forbidden")בוחרים את טווח הזמן בבורר טווח הזמן.
gcloud
כדי לראות אירועים של הפרת מדיניות משבוע שעבר ביומני ביקורת ב-Cloud באמצעות Google Cloud CLI, מריצים את הפקודה הבאה:
gcloud logging read --order="desc" --freshness=7d \
'resource.type="k8s_cluster"
logName:"cloudaudit.googleapis.com%2Factivity"
(protoPayload.methodName="io.k8s.core.v1.pods.create" OR
protoPayload.methodName="io.k8s.core.v1.pods.update")
protoPayload.response.status="Failure"
(protoPayload.response.reason="VIOLATES_POLICY" OR
protoPayload.response.reason="Forbidden")'
אירועי Breakglass ביומני ביקורת של Cloud
Binary Authorization מאפשר לכם לשנות את המדיניות באמצעות תווית breakglass במפרט של ה-Pod. כשפורסים תמונות באמצעות breakglass, Binary Authorization מתעד אירועי breakglass ב-Cloud Audit Logs. בקטע הבא מוסבר איך אפשר לשלוח שאילתות לגבי האירועים האלה.
שאילתה ביומני הביקורת של Cloud לגבי פודים עם גישת חירום שצוינה
Logs Explorer
כדי לראות אירועי breakglass בכלי Logs Explorer של יומני הביקורת של Cloud, מבצעים את הפעולות הבאות:
עוברים אל הדף Logs Explorer.
בתיבה search-query, מזינים את השאילתה הבאה:
resource.type="k8s_cluster" logName:"cloudaudit.googleapis.com%2Factivity" (protoPayload.methodName="io.k8s.core.v1.pods.create" OR protoPayload.methodName="io.k8s.core.v1.pods.update") "image-policy.k8s.io/break-glass"בוחרים את טווח הזמן בבורר טווח הזמן.
gcloud
כדי להציג אירועי breakglass משבוע שעבר ביומני ביקורת ב-Cloud באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
gcloud logging read --order="desc" --freshness=7d \
'resource.type="k8s_cluster" AND
logName:"cloudaudit.googleapis.com%2Factivity" AND
(protoPayload.methodName="io.k8s.core.v1.pods.create" OR
protoPayload.methodName="io.k8s.core.v1.pods.update") AND
"image-policy.k8s.io/break-glass"'
אירועים של פתיחת גישה במקרה של כשל ביומני הביקורת ב-Cloud
מצב Fail open מתרחש כשמנסים לפרוס קובץ אימג' של קונטיינר, האכיפה של Binary Authorization לא זמינה או שהיא נכשלת בגלל פסק זמן, והמערכת מאפשרת לפרוס את קובץ האימג' של הקונטיינר.
במקרה כזה, תוצאת האימות לא ידועה ורשומה ביומן.
שאילתות לגבי אירועים של פתיחת גישה ביומני ביקורת של Cloud
Logs Explorer
כדי לראות אירועים של פתיחה במקרה של כשל ביומן הביקורת של Cloud ב-Logs Explorer, מבצעים את הפעולות הבאות:
עוברים אל הדף Logs Explorer.
בתיבה search-query, מזינים את השאילתה הבאה:
resource.type="k8s_cluster" logName:"cloudaudit.googleapis.com%2Factivity" (protoPayload.methodName="io.k8s.core.v1.pods.create" OR protoPayload.methodName="io.k8s.core.v1.pods.update") ("image-policy.k8s.io/failed-open" OR "imagepolicywebhook.image-policy.k8s.io/failed-open" OR "failed-open.validating.webhook.admission.k8s.io")בוחרים את טווח הזמן בבורר טווח הזמן.
gcloud
כדי להציג אירועי פתיחה שנכשלו מהשבוע האחרון ביומני הביקורת של Cloud באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
gcloud logging read --order="desc" --freshness=7d \
'resource.type="k8s_cluster"
logName:"cloudaudit.googleapis.com%2Factivity"
(protoPayload.methodName="io.k8s.core.v1.pods.create" OR
protoPayload.methodName="io.k8s.core.v1.pods.update")
("image-policy.k8s.io/failed-open" OR
"imagepolicywebhook.image-policy.k8s.io/failed-open" OR
"failed-open.validating.webhook.admission.k8s.io")'
אירועים של הרצה יבשה ביומני ביקורת של Cloud
מצב פרימטר לבדיקות הוא מצב אכיפה במדיניות שמאפשר פריסה של תמונות שלא עומדות בדרישות, אבל פרטים על הפריסה נרשמים ביומן הביקורת. במצב הרצה יבשה אפשר לבדוק מדיניות בסביבת הייצור לפני שהיא נכנסת לתוקף.
כשקובץ אימג' של קונטיינר לא עובר את הבדיקות הנדרשות במדיניות, אבל מותר לפרוס אותו במצב פרימטר לבדיקות, יומני ביקורת של Cloud מכילים את הערך imagepolicywebhook.image-policy.k8s.io/dry-run: "true".
שליחת שאילתה ליומני הביקורת של Cloud לגבי אירועים של הרצה יבשה
Logs Explorer
כדי לראות אירועי הרצה יבשה בכלי Logs Explorer של יומני הביקורת של Cloud, מבצעים את הפעולות הבאות:
עוברים אל הדף Logs Explorer.
בתיבה search-query, מזינים את השאילתה הבאה:
resource.type="k8s_cluster" logName:"cloudaudit.googleapis.com%2Factivity" (protoPayload.methodName="io.k8s.core.v1.pods.create" OR protoPayload.methodName="io.k8s.core.v1.pods.update") labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"בוחרים את טווח הזמן בבורר טווח הזמן.
gcloud
כדי להציג ביומני הביקורת של Cloud אירועי Deployment (פריסה) של הרצת בדיקה מהשבוע האחרון באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
gcloud logging read --order="desc" --freshness=7d \
'labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"'