איסוף יומנים של Azure ניהול ממשקי API
גרסת כלי הניתוח: 1.0
במאמר הזה מוסבר איך ליצור פיד של Azure Event Hub כדי להטמיע יומנים של Azure ניהול ממשקי API ב-Google Security Operations.
Azure API Management היא פלטפורמת ניהול היברידית של ריבוי עננים (multi-cloud) לממשקי API בכל הסביבות. הפלטפורמה עוזרת לארגונים לפרסם ממשקי API למפתחים חיצוניים, למפתחים של שותפים ולמפתחים פנימיים, כדי לממש את הפוטנציאל של הנתונים והשירותים שלהם. API Management מספק כלים לגילוי ממשקי API, לפונקציונליות של שערים, למדיניות אבטחה, לניתוח נתונים ולמעורבות של מפתחים. יומני האבחון כוללים מידע מפורט על פעולות של API Gateway, כולל בקשות, תגובות ושגיאות.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- גישה עם הרשאות לפורטל Microsoft Azure:
- יצירת מרחבי שמות של Event Hub
- יצירת מרכזי אירועים
- הגדרת הגדרות אבחון עבור Azure ניהול ממשקי API
- ניהול כללי מדיניות הגישה
מופע קיים של שירות Azure API Management
יצירת מרחב שמות של Event Hub
מרחב שמות של Event Hub הוא קונטיינר לניהול של Event Hub אחד או יותר.
- ב-Azure portal, מחפשים את Event Hubs.
- לוחצים על + Create.
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך מינוי בוחרים את המינוי ל-Azure. קבוצת משאבים בוחרים קבוצה קיימת או יוצרים קבוצה חדשה שם מרחב השמות מזינים שם ייחודי (לדוגמה, secops-apim-eventhub)Location בוחרים את האזור (לדוגמה, East US)רמת תמחור רגיל (מומלץ לסביבת ייצור) יחידות תפוקה מתחילים עם 1, מפעילים את האפשרות "הגדלה אוטומטית" (מומלץ) לוחצים על בדיקה + יצירה.
בודקים את הסקירה הכללית ולוחצים על יצירה.
ממתינים לסיום הפריסה (דקה עד שתיים).
יצירת מרכז אירועים
- אחרי פריסת מרחב השמות, עוברים למרחב השמות של Event Hub.
- בניווט השמאלי, בוחרים באפשרות Event Hubs בקטע Entities.
- לוחצים על + מרכז אירועים.
מספקים את פרטי ההגדרה הבאים:
הגדרה ערך שם מזינים שם ייחודי (לדוגמה, apim-logs)מספר המחיצות 40 (מומלץ לאופטימיזציה של ההתאמה של Google SecOps) שמירת הודעות 7 ימים (מינימום מומלץ) צילום מושבת (לא נדרש ל-Google SecOps) לוחצים על יצירה.
קבלת מחרוזת החיבור של Event Hub
כדי לבצע אימות ל-Event Hub, צריך מחרוזת חיבור ל-Google SecOps.
אפשרות א': מחרוזת חיבור ברמת מרחב השמות (מומלץ)
- עוברים אל מרחב השמות של Event Hub.
- בתפריט הניווט הימני, בוחרים באפשרות מדיניות של גישה משותפת בקטע הגדרות.
- לוחצים על מדיניות ברירת המחדל RootManageSharedAccessKey.
- מעתיקים את מחרוזת חיבור - מפתח ראשי.
- חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.
לדוגמה:
Original: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==;EntityPath=apim-logs Remove EntityPath: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==
אפשרות ב': מחרוזת חיבור ברמת Event Hub
- עוברים אל Event Hub (לא אל מרחב השמות).
- בתפריט הניווט הימני, בוחרים באפשרות מדיניות של גישה משותפת בקטע הגדרות.
- לוחצים על + הוספה כדי ליצור מדיניות חדשה.
- מספקים את פרטי ההגדרה הבאים:
- שם המדיניות: מזינים שם תיאורי (לדוגמה,
chronicle-read). - הרשאות: בוחרים באפשרות האזנה בלבד (גישה לקריאה בלבד)
- שם המדיניות: מזינים שם תיאורי (לדוגמה,
- לוחצים על יצירה.
- לוחצים על המדיניות החדשה שנוצרה.
- מעתיקים את מחרוזת החיבור – מפתח ראשי.
חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.
הגדרת Azure ניהול ממשקי API להעברה בסטרימינג ל-Event Hub
- בפורטל Azure, מחפשים את שירותי ניהול ממשקי API.
- בוחרים את מופע שירות ניהול ה-API.
- בסרגל הניווט הימני, בקטע מעקב, לוחצים על הגדרות אבחון.
- לוחצים על + הוספת הגדרת אבחון.
- מספקים את פרטי ההגדרה הבאים:
- Diagnostic setting name: נותנים שם תיאורי (לדוגמה,
apim-to-secops). - בקטע Logs בוחרים בקטגוריות הבאות:
- GatewayLogs: יומני בקשות ותגובות של API Gateway
- WebSocketConnectionLogs: יומני חיבור ל-WebSocket (אם רלוונטי)
- DeveloperPortalAuditLogs: יומני ביקורת של פורטל למפתחים (אם רלוונטי)
- GatewayLlmLogs: יומנים של שער AI גנרטיבי (אם רלוונטי)
- GatewayMCPLogs: יומני שרת Model Context Protocol (MCP) (אם רלוונטי)
- בקטע פרטי יעד, מסמנים את התיבה הזרמה למרכז אירועים.
- מינוי: בוחרים את המינוי שמכיל את מרחב השמות של Event Hub.
- שם מרחב השמות של Event Hub: בוחרים את מרחב השמות שיצרתם קודם (לדוגמה,
secops-apim-eventhub). - שם מרכז האירועים: בוחרים את מרכז האירועים שיצרתם (לדוגמה,
apim-logs). - שם המדיניות של מרכז האירועים: בוחרים באפשרות RootManageSharedAccessKey או במדיניות מותאמת אישית עם הרשאות שליחה.
- Diagnostic setting name: נותנים שם תיאורי (לדוגמה,
לוחצים על Save.
(אופציונלי) הגדרת Azure Blob Storage ליצירת נקודות ביקורת
מערכת Google SecOps יכולה להשתמש ב-Azure Blob Storage כדי לאחסן נקודות ביקורת של Event Hub, שעוקבות אחרי האירועים שעברו עיבוד. כך נמנעת הטמעה כפולה אם הפיד מופרע באופן זמני.
יצירת חשבון אחסון לנקודות ביקורת
- ב-Azure portal, מחפשים Storage accounts.
- לוחצים על + Create.
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך מינוי בוחרים את המינוי ל-Azure. קבוצת משאבים שימוש באותה קבוצת משאבים כמו Event Hub שם חשבון האחסון מזינים שם ייחודי (לדוגמה, secopsapimcheckpoint)אזור אותו אזור כמו Event Hub ביצועים רגילה יתירות LRS (אחסון מקומי יתיר) לוחצים על בדיקה + יצירה.
לוחצים על יצירה.
יצירת קונטיינר Blob
- עוברים לחשבון האחסון שיצרתם.
- בתפריט הניווט הימני, בקטע אחסון נתונים, בוחרים באפשרות מאגרי נתונים.
- לוחצים על + מאגר תגים.
- מזינים את פרטי ההגדרה הבאים:
- שם: מזינים
checkpoints - רמת הגישה הציבורית: פרטית (אין גישה אנונימית)
- שם: מזינים
- לוחצים על יצירה.
קבלת פרטי הכניסה לחשבון האחסון
- בחשבון האחסון, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
- לוחצים על הצגת מקשים.
- מעתיקים ושומרים:
- Storage account name: השם של חשבון האחסון
- מפתח 1: הערך של מפתח הגישה
תצטרכו לספק את הערכים האלה כשתיצרו את הפיד של Google SecOps.
(אופציונלי) יצירת קבוצת צרכנים ייעודית
כברירת מחדל, Event Hub מספק קבוצת צרכנים בשם $Default. בסביבות ייצור, מומלץ ליצור קבוצת צרכנים ייעודית ל-Google SecOps.
- עוברים אל Event Hub (לא אל מרחב השמות).
- בתפריט הניווט הימני, בוחרים באפשרות קבוצות צרכנים בקטע ישויות.
- לוחצים על + קבוצת צרכנים.
- מספקים את פרטי ההגדרה הבאים:
- שם: מזינים שם תיאורי (לדוגמה,
chronicle)
- שם: מזינים שם תיאורי (לדוגמה,
לוחצים על יצירה.
הגדרת פיד ב-Google SecOps להטמעה של יומנים מ-Azure ניהול ממשקי API
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Azure API Management Logs). - בוחרים באפשרות Microsoft Azure Event Hub בתור סוג המקור.
- בוחרים באפשרות Azure API Management בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
מחרוזת חיבור של Event Hub: מזינים את מחרוזת החיבור של Event Hub ששמרתם קודם.
אם משתמשים במחרוזת חיבור ברמת מרחב השמות:
- חשוב לוודא שהסרתם את הפרמטר
EntityPath - צריך גם לציין את שם מרכז האירועים בשדה הבא.
- חשוב לוודא שהסרתם את הפרמטר
אם משתמשים במחרוזת חיבור ברמת מרכז האירועים:
- שימוש במחרוזת החיבור כמו שהיא (כולל
EntityPath) - אפשר להשאיר את השדה Event hub name (שם מרכז האירועים) ריק
- שימוש במחרוזת החיבור כמו שהיא (כולל
שם מרכז האירועים: מזינים את שם מרכז האירועים (לדוגמה,
apim-logs)- חובה אם משתמשים במחרוזת חיבור ברמת מרחב השמות.
- אופציונלי אם משתמשים במחרוזת חיבור ברמת מרכז האירועים.
קבוצת צרכנים (אופציונלי): מזינים את השם של קבוצת הצרכנים.
- אפשר להשאיר את השדה ריק כדי להשתמש בברירת המחדל
$Defaultשל קבוצת הצרכנים - אם יצרתם קבוצת צרכנים ייעודית, הזינו את השם שלה (לדוגמה,
chronicle)
- אפשר להשאיר את השדה ריק כדי להשתמש בברירת המחדל
שם מאגר Blob Storage (אופציונלי): כדי ליצור נקודת ביקורת, מזינים את שם המאגר (לדוגמה,
checkpoints)
אם מספקים אחסון blob לנקודות ביקורת:
- שם חשבון אחסון ב-Azure: מזינים את שם חשבון האחסון מתוך הגדרת יצירת נקודות ביקורת.
מפתח של חשבון אחסון ב-Azure: מזינים את מפתח הגישה מהגדרת יצירת נקודות ביקורת.
מרחב השמות של הנכס: מרחב השמות של הנכס
תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
מידע נוסף על פידים של Google SecOps זמין במסמכי הפידים של Google SecOps.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
Level_label |
additional.fields |
ממוזג |
Sku_label |
additional.fields |
ממוזג |
apiId_label |
additional.fields |
ממוזג |
apiRevision_label |
additional.fields |
ממוזג |
apimSubscriptionId_label |
additional.fields |
ממוזג |
backendMethod_label |
additional.fields |
ממוזג |
backendProtocol_label |
additional.fields |
ממוזג |
backendResponseCode_label |
additional.fields |
ממוזג |
backendTime_label |
additional.fields |
ממוזג |
cache_label |
additional.fields |
ממוזג |
clientProtocol_label |
additional.fields |
ממוזג |
durationMs_label |
additional.fields |
ממוזג |
eventName_label |
additional.fields |
ממוזג |
eventid_label |
additional.fields |
ממוזג |
functionInvocationId_label |
additional.fields |
ממוזג |
functionName_label |
additional.fields |
ממוזג |
hostInstanceId_label |
additional.fields |
ממוזג |
hostVersion_label |
additional.fields |
ממוזג |
isRequestSuccess_label |
additional.fields |
ממוזג |
operationId_label |
additional.fields |
ממוזג |
productId_label |
additional.fields |
ממוזג |
properties.message |
metadata.description |
מיפוי ישיר |
time |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: ISO8601 |
has_principal |
metadata.event_type |
מיפוי: true → STATUS_UPDATE |
operationName |
metadata.product_event_type |
מיפוי ישיר |
DeploymentVersion |
metadata.product_version |
מיפוי ישיר |
properties.method |
network.http.method |
מיפוי ישיר |
properties.responseCode |
network.http.response_code |
מיפוי ישיר |
properties.responseSize |
network.received_bytes |
מיפוי ישיר |
properties.requestSize |
network.sent_bytes |
מיפוי ישיר |
correlationId |
network.session_id |
מיפוי ישיר |
properties.clientTlsCipherSuite |
network.tls.cipher |
מיפוי ישיר |
properties.clientTlsVersion |
network.tls.version |
מיפוי ישיר |
callerIpAddress |
principal.asset.ip |
ממוזג |
callerIpAddress |
principal.ip |
ממוזג |
location |
principal.location.name |
מיפוי ישיר |
properties.url |
principal.url |
מיפוי ישיר |
properties.userId |
principal.user.userid |
מיפוי ישיר |
action |
security_result.action |
ממוזג |
resultType |
security_result.action |
מיפוי: Succeeded → action |
category |
security_result.category_details |
ממוזג |
properties.category |
security_result.category_details |
ממוזג |
level |
security_result.severity |
מיפוי ישיר |
resultType |
security_result.summary |
מיפוי ישיר |
properties.appName |
target.application |
מיפוי ישיר |
properties.processId |
target.process.pid |
מיפוי ישיר |
roleInstance_label |
target.resource.attribute.labels |
ממוזג |
resourceId |
target.resource.product_object_id |
מיפוי ישיר |
properties.backendUrl |
target.url |
מיפוי ישיר |
| לא רלוונטי | metadata.event_type |
קבוע: GENERIC_EVENT |
| לא רלוונטי | metadata.product_name |
קבוע: AZURE API MANAGEMENT |
| לא רלוונטי | metadata.vendor_name |
קבוע: AZURE_API_MANAGEMENT |
| לא רלוונטי | network.tls.version_protocol |
קבוע: HTTP |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.