בדף הזה מוסבר איך להשתמש בתכונת ההתראות של Security Command Center API, כולל הדוגמאות הבאות:
- יצירת
NotificationConfig - רוצה לקבל
NotificationConfig? - עדכון של
NotificationConfig - מחיקת
NotificationConfig - רשימה
NotificationConfig - קבלת התראות Pub/Sub
לחלופין, אפשר להגדיר ייצוא רציף ל-Pub/Sub ב-Security Command Center.
לפני שמתחילים
כדי להשתמש בדוגמאות שבדף הזה, צריך להשלים את המדריך בנושא הגדרת התראות על איתור.
כדי להריץ את הדוגמאות הבאות, אתם צריכים תפקיד בממשק לניהול הזהויות והרשאות הגישה (IAM) עם הרשאות מתאימות:
- יצירה
NotificationConfig: הגדרות של התראות ממרכז האבטחה עריכה (roles/securitycenter.notificationConfigEditor) - קבלת רשימה של
NotificationConfig: Security Center Notification Configurations Viewer (roles/securitycenter.notificationConfigViewer) או Security Center Notification Configurations Editor (roles/securitycenter.notificationConfigEditor) - עדכון ומחיקה
NotificationConfig: הודעה במרכז האבטחה כלי העריכה של ההגדרות (roles/securitycenter.notificationConfigEditor)
כדי להקצות תפקידים מתאימים לחשבון ראשי שמקבל גישה ל-notificationConfig, אתם צריכים להיות בעלי אחד מתפקידי ה-IAM הבאים:
- אדמין של הארגון (
roles/resourcemanager.organizationAdmin) - אדמין IAM בתיקייה (
roles/resourcemanager.folderIamAdmin) - אדמין IAM בפרויקט (
roles/resourcemanager.projectIamAdmin)
אפשר להעניק את תפקידי ה-IAM של Security Command Center ברמת הארגון, התיקייה או הפרויקט. היכולת שלכם לראות, לערוך, ליצור או לעדכן ממצאים, נכסים ומקורות אבטחה תלויה ברמת הגישה שניתנה לכם. מידע נוסף על תפקידים ב-Security Command Center זמין במאמר בקרת גישה.
מיקום אחסון הנתונים והתראות
אם הגדרתם את מיקום הנתונים ב-Security Command Center, ההגדרות שמגדירות ייצוא רציף ל-Pub/Sub – משאביםnotificationConfig – כפופות לבקרה על מיקום הנתונים ומאוחסנות במיקום של Security Command Center.
כדי לייצא ממצאים במיקום של Security Command Center אל Pub/Sub, צריך להגדיר את הייצוא הרציף באותו מיקום של Security Command Center שבו נמצאים הממצאים.
המסננים שמשמשים לייצוא מתמשך יכולים להכיל נתונים שחלים עליהם אמצעי בקרה על מיקום הנתונים, ולכן חשוב לציין את המיקום הנכון לפני שיוצרים אותם. ב-Security Command Center אין הגבלה על המיקום שבו יוצרים ייצוא.
ייצוא רציף נשמר רק במיקום שבו הוא נוצר, ואי אפשר לראות או לערוך אותו במיקומים אחרים.
אחרי שיוצרים ייצוא מתמשך, אי אפשר לשנות את המיקום שלו. כדי לשנות את המיקום, צריך למחוק את הייצוא הרציף וליצור אותו מחדש במיקום החדש.
כדי ללמוד איך להשתמש ב-Security Command Center כשמיקום אחסון הנתונים מופעל, ראו נקודות קצה אזוריות של Security Command Center.
יצירת NotificationConfig
כדי ליצור NotificationConfig, אתם צריכים:
- נושא Pub/Sub קיים שאליו רוצים לשלוח התראות.
- התפקידים שצריך ב-IAM בשביל חשבון המשתמש שיוצר את
notificationConfig.
מידע נוסף זמין בשלב הגדרת נושא Pub/Sub במדריך הגדרת התראות על ממצאים.
לפני שיוצרים NotificationConfig, חשוב לדעת שלכל ארגון יכול להיות מספר מוגבל של משאבי NotificationConfig. מידע נוסף זמין במאמר מכסות ומגבלות.
השדה NotificationConfig כולל את השדה filter שמגביל את ההתראות לאירועים שימושיים. בשדה הזה אפשר להזין את כל המסננים שזמינים בשיטה findings.list של Security Command Center API.
כשיוצרים NotificationConfig, מציינים הורה לNotificationConfig מתוך היררכיית המשאבים Google Cloud , כלומר ארגון, תיקייה או פרויקט. אם תצטרכו לאחזר, לעדכן או למחוק את NotificationConfig בהמשך, תצטרכו לכלול את המזהה המספרי של הארגון, התיקייה או הפרויקט ברמת ההורה כשמפנים אליו.
כדי ליצור את NotificationConfig באמצעות השפה או הפלטפורמה שתבחרו:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION \ --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER" \ --deletion-notifications-enabled
מחליפים את מה שכתוב בשדות הבאים:
-
NOTIFICATION_NAME: השם של ההתראה. השם צריך להיות באורך של 1 עד 128 תווים, ולהכיל רק תווים אלפאנומריים, קווים תחתונים או מקפים. -
PARENT: ההיקף בהיררכיית המשאבים שההתראה רלוונטית לגביו,organization,folderאוproject. -
PARENT_ID: המזהה של הארגון, התיקייה או הפרויקט ברמת ההורה, שצוין בפורמטorganizations/123,folders/456אוprojects/789. -
LOCATION: המיקום של Security Command Center שבו רוצים ליצורNotificationConfig. אם מופעל מיקום אחסון הנתונים, צריך להשתמש בערךeu,saאוus. אחרת, צריך להשתמש בערךglobal. -
NOTIFICATION_DESCRIPTION: תיאור של ההתראה, באורך של עד 1,024 תווים. -
PUBSUB_TOPIC: נושא ה-Pub/Sub שיקבל התראות. הפורמט שלו הואprojects/PROJECT_ID/topics/TOPIC. -
FILTER: הביטוי שאתם מגדירים כדי לבחור אילו ממצאים יישלחו ל-Pub/Sub. לדוגמה,state=\"ACTIVE\".
משתמשים בדגלים הבאים כדי להגדיר אם לקבל התראות על ממצאים שנמחקו. כברירת מחדל, ממצאים שנמחקו לא מיוצאים.
-
--deletion-notifications-enabled: הפעלת התראות לגבי ממצאים שנמחקים בגלל מדיניות שמירת נתונים. אם האפשרות מוגדרת, ההתראות מופעלות כשממצא נמחק. ההתראה כוללת את מאפייןdeletedFindingשהערך שלו הואtrue. -
--no-deletion-notifications-enabled: משבית את ההתראות על ממצאים שנמחקים בגלל מדיניות שמירת נתונים.
Terraform
כדי ליצור NotificationConfig לארגון:
כדי ליצור NotificationConfig לתיקייה:
כדי ליצור NotificationConfig לפרויקט:
המשך
Java
Node.js
Python
ההתראות מתפרסמות עכשיו בנושא Pub/Sub שציינתם.
כדי לפרסם התראות, נוצר בשבילכם חשבון שירות בפורמט service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com.
חשבון השירות הזה נוצר כשיוצרים את NotificationConfig בפעם הראשונה, ומקבל אוטומטית את התפקיד securitycenter.notificationServiceAgent במדיניות IAM עבור PUBSUB_TOPIC כשיוצרים את הגדרת ההתראה. התפקיד הזה בחשבון השירות נדרש כדי שההתראות יפעלו.
קבלת NotificationConfig
כדי לקבל NotificationConfig, צריך להיות לכם תפקיד ב-IAM שכולל את ההרשאה securitycenter.notification.get.
gcloud
gcloud scc notifications describe NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
NOTIFICATION_NAME: השם של הגדרות ההתראה. -
PARENT_TYPE: הרמה בהיררכיית המשאבים שבה מצוינת ההגדרה. משתמשים בערכיםorganization,folderאוproject. -
PARENT_ID: המזהה המספרי של משאב האב. -
LOCATION: המיקום של Security Command Center שבו יתקבלNotificationConfig. אם מופעל מיקום אחסון הנתונים, צריך להשתמש ב-eu, ב-saאו ב-us. אחרת, צריך להשתמש בערךglobal.
עדכון של NotificationConfig
כדי לעדכן NotificationConfig, צריך להיות לכם תפקיד ב-IAM שכולל את ההרשאה securitycenter.notification.update.
כשמעדכנים באמצעות מסכת שדות, רק השדות שמציינים מתעדכנים. אם לא משתמשים במסכת שדות, כל השדות שניתנים לשינוי ב-NotificationConfig מוחלפים בערכים החדשים. אפשר להשתמש במסכת שדות כדי לעדכן את נושא ה-Pub/Sub והתיאור.
כדי להשלים את הדוגמה הזו, אתם צריכים להיות רשומים לנושא החדש, ולחשבון השירות של שירות ההתראות צריכה להיות ההרשאה pubsub.topics.setIamPolicy בנושא.
אחרי שנותנים את ההרשאות הנדרשות, מעדכנים את NotificationConfigהתיאור, נושא ה-Pub/Sub והפילטר:
gcloud
gcloud scc notifications update NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION \ --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER" \ --deletion-notifications-enabled
מחליפים את מה שכתוב בשדות הבאים:
-
NOTIFICATION_NAME: השם של הגדרות ההתראה. -
PARENT_TYPEהרמה בהיררכיית המשאבים שבה מצוינת התצורה. אפשר להשתמש ב-organization,folderאוproject. -
PARENT_ID: המזהה המספרי של משאב האב. -
LOCATION: המיקום של Security Command Center שבו צריך לעדכן אתNotificationConfig. אם מופעל מיקום אחסון הנתונים, צריך להשתמש ב-eu,saאוus. אחרת, צריך להשתמש בערךglobal. -
NOTIFICATION_DESCRIPTION: תיאור של ההתראה, באורך של עד 1,024 תווים. -
PUBSUB_TOPIC: נושא ה-Pub/Sub שיקבל את ההתראות. הפורמט שלו הואprojects/PROJECT_ID/topics/TOPIC. -
FILTER: הביטוי שאתם מגדירים כדי לבחור אילו ממצאים יישלחו ל-Pub/Sub. לדוגמה,state="ACTIVE".
משתמשים בדגלים הבאים כדי להגדיר אם לקבל התראות על ממצאים שנמחקו. אם לא מציינים אף אחד מהדגלים, התנהגות ברירת המחדל היא לא לייצא ממצאים שנמחקו.
--deletion-notifications-enabled: הפעלת התראות על ממצאים שנמחקו בגלל מדיניות שמירת נתונים. כשמפעילים את האפשרות הזו, הממצאים שנמחקו מיוצאים ל-Pub/Sub עם הערךdeleted_finding = true. הסימון הזה חל רק על אירועי מחיקה עתידיים. ממצאים שנמחקו לפני הפעלת הדגל הזה לא מיוצאים רטרואקטיבית.
--no-deletion-notifications-enabled: השבתת ההתראות על ממצאים שנמחקו.
מחיקת NotificationConfig
כדי למחוק NotificationConfig, צריך להיות לכם תפקיד ב-IAM שכולל את ההרשאה securitycenter.notification.delete.
כשמוחקים NotificationConfig, התפקיד securitycenter.notificationServiceAgent נשאר בנושא ב-Pub/Sub. אם אתם לא משתמשים בנושא Pub/Sub באף NotificationConfig אחר, אתם יכולים להסיר את התפקיד מהנושא. מידע נוסף זמין במאמר בנושא בקרת גישה.
gcloud
gcloud scc notifications delete NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
NOTIFICATION_NAME: השם של הגדרות ההתראה. -
PARENT_TYPEהרמה בהיררכיית המשאבים שבה מצוינת התצורה. אפשר להשתמש ב-organization,folderאוproject. -
PARENT_ID: המזהה המספרי של משאב האב. -
LOCATION: המיקום של Security Command Center שבו רוצים למחוק אתNotificationConfig. אם מופעל מיקום אחסון הנתונים, צריך להשתמש בערךeu,saאוus. אחרת, צריך להשתמש בערךglobal.
הצגת רשימה של NotificationConfigs
כדי להציג את NotificationConfigs, צריך להיות לכם תפקיד ב-IAM שכולל את ההרשאה securitycenter.notification.list.
כל הרשימות ב-Security Command Center API מחולקות לדפים. כל תשובה מחזירה דף של תוצאות ואסימון להחזרת הדף הבא. ערך ברירת המחדל pageSize הוא 10. אפשר להגדיר את גודל הדף למינימום של 1 ולמקסימום של 1, 000.
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
PARENT_TYPEהרמה בהיררכיית המשאבים שבה מצוינת התצורה. אפשר להשתמש ב-organizations,foldersאוprojects. -
PARENT_ID: המזהה המספרי של משאב האב. -
LOCATION: המיקום של Security Command Center שבו רוצים להציג את משאביNotificationConfig. אם מופעלת תכונת מיקום אחסון הנתונים, צריך להשתמש בערכיםeu,saאוus. אחרת, צריך להשתמש בערךglobal.
קבלת התראות Pub/Sub
בקטע הזה מופיעה הודעת התראה לדוגמה ודוגמאות שמראות איך להמיר הודעת Pub/Sub ל-NotificationMessage שמכילה ממצא.
ההתראות מתפרסמות ב-Pub/Sub בפורמט JSON.
דוגמה להודעת התראה:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/CONFIG_ID",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"state": "ACTIVE",
"category": "TEST-CATEGORY",
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2019-07-26T07:32:37Z",
"createTime": "2019-07-29T18:45:27.243Z"
},
"deletedFinding": true
}
Security Command Center מוחק ממצאים מעת לעת בהתאם למדיניות שמירת הנתונים. אתם יכולים להגדיר אם Security Command Center ייצא תמונת מצב של ממצאים שנמחקו אל Pub/Sub.
מפעילים התראות על מחיקה כשיוצרים או מעדכנים הגדרת ייצוא. כשמפעילים התראות על מחיקה בהגדרות הייצוא, Security Command Center שולח תמונת מצב של הממצאים שנמחקו אל Pub/Sub.
ההתראה כוללת את השדה "deletedFinding": true שמוגדר במטען הייעודי (Payload). המצב של הממצא לפני המחיקה (לדוגמה, "state": "ACTIVE") נשמר במטען הייעודי (payload), והערך של eventTime מוגדר לזמן שבו הממצא נמחק ב-Security Command Center.
כשמשנים את האפשרות של התראות על מחיקה בהגדרות הייצוא, השינוי חל רק על מחיקות עתידיות של ממצאים. ממצאים שנמחקו לפני שהפעלתם את האפשרות לא מיוצאים באופן רטרואקטיבי.
המרת הודעת Pub/Sub ל-NotificationMessage באמצעות השפה הרצויה:
gcloud
ה-CLI של gcloud לא תומך בהמרת הודעה ב-Pub/Sub ל-NotificationMessage. אפשר להשתמש ב-CLI של gcloud כדי לקבל NotificationMessage ולהדפיס את JSON ישירות בטרמינל:
# The subscription used to receive published messages from a topic
PUBSUB_SUBSCRIPTION="projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
gcloud pubsub subscriptions pull $PUBSUB_SUBSCRIPTION
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID במזהה הפרויקט.
- SUBSCRIPTION_ID מחליפים במזהה המינוי.