נכסים הם המשאבים של הארגון, כמו מכונות ב-Compute Engine או קטגוריות של Cloud Storage. Google Cloud
במדריך הזה מוסבר איך להשתמש בספריות לקוח של Security Command Center כדי לגשת לרשומות שהוצאו משימוש ושנשמרות ב-Security Command Center עבור הנכסים בפרויקט או בארגון.
Security Command Center שומר רשומות רק לגבי קבוצת משנה של הנכסים ב-מאגר משאבי ענן. כדי לקבל את הרשימה המלאה ביותר של הנכסים בסביבה שלכם, צריך להשתמש במאגר משאבי הענן כדי לרשום את הנכסים.
למידע נוסף, קראו את המאמרים הבאים:
רמות הרשאה לתפקידי IAM
אפשר להעניק את תפקידי ה-IAM של Security Command Center ברמת הארגון, התיקייה או הפרויקט. היכולת שלכם להציג, לערוך, ליצור או לעדכן ממצאים, נכסים ומקורות אבטחה תלויה ברמת הגישה שניתנה לכם. מידע נוסף על תפקידים ב-Security Command Center זמין במאמר בקרת גישה.
לפני שמתחילים
לפני שמגדירים מקור, צריך לבצע את הפעולות הבאות:
גודל דף
כל ממשקי ה-API של רשימות ב-Security Command Center מחולקים לדפים. כל תגובה מחזירה דף של תוצאות ואסימון להחזרת הדף הבא. אפשר להגדיר את גודל הדף. ערך ברירת המחדל של pageSize הוא 10, אפשר להגדיר אותו למינימום של 1 ולמקסימום של 1, 000.
סוגי המשאבים
המאפיין resourceType ב-Security Command Center פועל לפי מוסכמת מתן שמות שונה מזו של מאגר משאבי ענן. רשימה של פורמטים של סוגי משאבים זמינה במאמר סוגי נכסים נתמכים ב-Security Command Center.
הצגת רשימה של כל הנכסים
בדוגמאות האלה אפשר לראות איך מפרטים את כל הנכסים:
gcloud
כדי להציג את כל הנכסים בפרויקט, בתיקייה או בארגון, מריצים את הפקודה הבאה:
gcloud scc assets list PARENT_ID
מחליפים את PARENT_ID באחד מהערכים הבאים:
- מזהה הארגון בפורמט הבא:
ORGANIZATION_ID(המזהה המספרי בלבד) - מזהה תיקייה בפורמט הבא:
folders/FOLDER_ID - מזהה פרויקט בפורמט הבא:
projects/PROJECT_ID
כדי לראות עוד דוגמאות, מריצים את הפקודה:
gcloud scc assets list --help
דוגמאות לתיעוד מופיעות במאמר gcloud scc assets list.
Python
Java
Go
Node.js
הפלט של כל נכס הוא אובייקט JSON שדומה לזה:
asset:
createTime: '2020-10-05T17:55:14.823Z'
iamPolicy:
policyBlob: '{"bindings":[{"role":"roles/owner","members":["serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com","user:USER_EMAIL@gmail.com"]}]}'
name: organizations/ORGANIZATION_ID/assets/ASSET_ID
resourceProperties:
createTime: '2020-10-05T17:36:17.915Z'
lifecycleState: ACTIVE
name: PROJECT_ID
parent: '{"id":"ORGANIZATION_ID","type":"organization"}'
projectId: PROJECT_ID
projectNumber: 'PROJECT_NUMBER'
securityCenterProperties:
resourceDisplayName: PROJECT_ID
resourceName: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceOwners:
- serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
- user:USER_EMAIL@gmail.com
resourceParent: //cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
resourceParentDisplayName: ORGANIZATION_NAME
resourceProject: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceProjectDisplayName: PROJECT_ID
resourceType: google.cloud.resourcemanager.Project
securityMarks:
name: organizations/ORGANIZATION_ID/assets/ASSET_ID/securityMarks
updateTime: '2020-10-05T17:55:14.823Z'
סינון נכסים
יכול להיות שבפרויקט, בתיקייה או בארגון יש הרבה נכסים. בדוגמה הקודמת לא נעשה שימוש במסננים, ולכן כל הנכסים מוחזרים. ב-Security Command Center אפשר להשתמש במסנני נכסים כדי לקבל מידע על נכסים ספציפיים. מסננים דומים לסעיפי WHERE בהצהרות SQL, אבל במקום עמודות, הם חלים על האובייקטים שמוחזרים על ידי ה-API.
בדוגמה של הפלט למעלה מוצגים כמה שדות ותתי-שדות, והמאפיינים שלהם, שאפשר להשתמש בהם במסנני נכסים. Security Command Center תומך במערכים ובאובייקטים מלאים של JSON כסוגי נכסים פוטנציאליים. אפשר לסנן לפי:
- רכיבי מערך
- אובייקטים מלאים בפורמט JSON עם התאמה חלקית של מחרוזת בתוך האובייקט
- שדות משנה של אובייקט JSON
שדות משנה חייבים להיות מספרים, מחרוזות או ערכים בוליאניים, וביטויי מסנן חייבים להשתמש באופרטורים הבאים להשוואה:
- מחרוזות:
- שוויון מלא
= - התאמה חלקית של מחרוזות
:
- שוויון מלא
- מספרים:
- אי-שוויונים
<,>,<=,>= - שוויון
=
- אי-שוויונים
- ערכים בוליאניים:
- שוויון
=
- שוויון
בדוגמאות הבאות מופיע סינון של נכסים:
gcloud
כדי לסנן נכסים, משתמשים בפקודה הבאה:
gcloud scc assets list PARENT_ID --filter="FILTER"
מחליפים את מה שכתוב בשדות הבאים:
FILTERעם המסנן שרוצים להשתמש בו. לדוגמה, המסנן הבא מחזיר רק משאבי פרויקט:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_IDבאחד מהערכים הבאים:- מזהה הארגון בפורמט הבא:
ORGANIZATION_ID(המזהה המספרי בלבד) - מזהה תיקייה בפורמט הבא:
folders/FOLDER_ID - מזהה פרויקט בפורמט הבא:
projects/PROJECT_ID
- מזהה הארגון בפורמט הבא:
כדי לראות עוד דוגמאות, מריצים את הפקודה:
gcloud scc assets list --help
דוגמאות לתיעוד מופיעות במאמר gcloud scc assets list.
Python
Java
Go
Node.js
רשימה בנקודת זמן מסוימת
בדוגמאות הקודמות אפשר לראות איך מציגים רשימה של קבוצת נכסים נוכחית. ב-Security Command Center אפשר גם לראות תמונת מצב היסטורית של נכסים. בדוגמאות הבאות מוצג המצב של כל הנכסים בנקודת זמן ספציפית. Security Command Center תומך ברזולוציות זמן של אלפיות השנייה.
gcloud
כדי לפרט את הנכסים בנקודת זמן ספציפית, משתמשים בפקודה הבאה:
gcloud scc assets list PARENT_ID --read-time="READ_TIME"
מחליפים את מה שכתוב בשדות הבאים:
-
READ_TIMEעם השעה שבה הנכסים יופיעו. צריך להשתמש בפורמט הבא:YYYY-MM-DDThh:mm:ss.ffffffZ. לדוגמה:--read-time="2022-12-21T07:00:06.861Z"
PARENT_IDבאחד מהערכים הבאים:- מזהה הארגון בפורמט הבא:
ORGANIZATION_ID(המזהה המספרי בלבד) - מזהה פרויקט בפורמט הבא:
projects/PROJECT_ID - מזהה תיקייה בפורמט הבא:
folders/FOLDER_ID
- מזהה הארגון בפורמט הבא:
כדי לראות עוד דוגמאות, מריצים את הפקודה:
gcloud scc assets list --help
דוגמאות לתיעוד מופיעות במאמר gcloud scc assets list.
Python
Java
Go
Node.js
הצגת רשימה של נכסים עם שינויים במצב
ב-Security Command Center אפשר להשוות נכס בשתי נקודות זמן כדי לזהות אם הוא נוסף, הוסר או היה קיים במהלך תקופת הזמן שצוינה. בדוגמאות הבאות מוצגת השוואה בין פרויקטים שקיימים בנקודת הזמן READ_TIME לבין נקודת זמן קודמת שצוינה על ידי COMPARE_DURATION. הזמן COMPARE_DURATION מוצג בשניות.
כשהמאפיין COMPARE_DURATION מוגדר, המאפיין stateChange בתוצאות של נכס רשימה
מתעדכן באחד מהערכים הבאים:
-
ADDED: הנכס לא היה קיים בתחילתcompareDuration, אבל היה קיים ב-readTime. -
REMOVED: הנכס היה קיים בתחילתcompareDuration, אבל לא היה קיים ב-readTime.
ACTIVE: הנכס היה קיים גם בתחילת התקופה וגם בסופה, כפי שהוגדר על ידיcompareDurationו-readTime.
gcloud
כדי להשוות את מצב הנכסים בשתי נקודות זמן, משתמשים בפקודה הבאה:
gcloud scc assets list PARENT_ID \ --filter="FILTER" \ --read-time=READ_TIME \ --compare-duration=COMPARE_DURATION
מחליפים את מה שכתוב בשדות הבאים:
-
COMPARE_DURATIONעם מספר שניות שמגדיר נקודת זמן לפני הזמן שצוין בדגל--read-time. לדוגמה:--compare-duration=84600s FILTERעם המסנן שרוצים להשתמש בו. לדוגמה, המסנן הבא מחזיר רק משאבי פרויקט:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_IDבאחד מהערכים הבאים:- מזהה הארגון בפורמט הבא:
ORGANIZATION_ID(המזהה המספרי בלבד) - מזהה פרויקט בפורמט הבא:
projects/PROJECT_ID - מזהה תיקייה בפורמט הבא:
folders/FOLDER_ID
- מזהה הארגון בפורמט הבא:
-
READ_TIMEעם השעה שבה הנכסים יופיעו. משתמשים בפורמט הבא:YYYY-MM-DDThh:mm:ss.ffffffZ. לדוגמה: כדי לראות עוד דוגמאות, מריצים את הפקודה:--read-time="2022-12-21T07:00:06.861Z"
gcloud scc assets list --help
דוגמאות לתיעוד מופיעות במאמר gcloud scc assets list.
Python
Java
Go
Node.js
דוגמאות למסננים
הנה עוד כמה מסננים שימושיים של נכסים. אפשר להשתמש ב-AND וב-OR במסננים כדי לשלב פרמטרים ולהרחיב או לצמצם את התוצאות.
חיפוש נכס של פרויקט עם בעלים ספציפי
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND security_center_properties.resource_owners : \"$USER\""
בדרך כלל, הערך של $USER הוא בפורמט user:someone@domain.com. ההשוואה של user מתבצעת באמצעות אופרטור המחרוזת המשנית :, ולא נדרשת התאמה מדויקת.
כללי חומת אש עם יציאות HTTP פתוחות
"security_center_properties.resource_type = \"google.compute.Firewall\" AND resource_properties.name =\"default-allow-http\""
משאבים ששייכים לפרויקטים ספציפיים
"security_center_properties.resource_parent = \"$PROJECT_1_NAME\" OR security_center_properties.resource_parent = \"$PROJECT_2_NAME\""
$PROJECT_1_NAME ו-$PROJECT_2_NAME הם מזהי משאבים בצורה //cloudresourcemanager.googleapis.com/projects/$PROJECT_ID, כאשר $PROJECT_ID הוא מספר הפרויקט. דוגמה מלאה: //cloudresourcemanager.googleapis.com/projects/100090906
חיפוש תמונות של Compute Engine שהשמות שלהן מכילים מחרוזת מסוימת
המסנן הזה מחזיר תמונות של Compute Engine שמכילות את מחרוזת המשנה Debia:
"security_center_properties.resource_type = \"google.compute.Image\" AND resource_properties.name : \"Debia\""
משאבים שהמאפיינים שלהם מכילים צמדי מפתח/ערך
המסנן הזה מחזיר קטגוריות של Cloud Storage שבהן האפשרות bucketPolicyOnly מושבתת. הערך של resourceProperties.iamConfiguration מקודד כמחרוזת. משתמשים בתו \ כדי לסמן בתו בריחה (escape) תווים מיוחדים במחרוזות, כולל האופרטור : בין שם המפתח לערך.
"resourceProperties.iamConfiguration:"\"bucketPolicyOnly\"\:{\"enabled\"\:false""
חיפוש נכסי פרויקט שנוצרו בשעה מסוימת או לפני כן
מסנני הדוגמה האלה תואמים לנכסים שנוצרו בתאריך 18 ביולי 2019 או לפניו בשעה 20:26:21 GMT. בעזרת המסנן create_time, אפשר לציין זמן בפורמטים ובסוגים הבאים:
זמן יוניקס (באלפיות השנייה) כמספר שלם
"create_time <= 1563481581000"RFC 3339 כמחרוזת ליטרלית
"create_time <= \"2019-07-18T20:26:21+00:00\""
אי הכללת נכסים בתוצאות
כדי להחריג נכס מהתוצאות, משתמשים בשלילה על ידי הצבת התו - לפני פרמטר. הפעולה דומה לשימוש באופרטור NOT בהצהרת SQL.
המסנן הזה מחזיר את כל משאבי הפרויקט מלבד Debia:
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND -resource_properties.projectId = \"Debia\""
המאמרים הבאים
מידע נוסף על גישה ל-Security Command Center באמצעות ספריית לקוח