איסוף יומנים של 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 אחד או יותר.

  1. ב-Azure portal, מחפשים את Event Hubs.
  2. לוחצים על ‎+ Create.
  3. ממלאים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure.
    קבוצת משאבים בוחרים קבוצה קיימת או יוצרים קבוצה חדשה
    שם מרחב השמות מזינים שם ייחודי (לדוגמה, secops-apim-eventhub)
    Location בוחרים את האזור (לדוגמה, East US)
    רמת תמחור רגיל (מומלץ לסביבת ייצור)
    יחידות תפוקה מתחילים עם 1, מפעילים את האפשרות "הגדלה אוטומטית" (מומלץ)
  4. לוחצים על בדיקה + יצירה.

  5. בודקים את הסקירה הכללית ולוחצים על יצירה.

  6. ממתינים לסיום הפריסה (דקה עד שתיים).

יצירת מרכז אירועים

  1. אחרי פריסת מרחב השמות, עוברים למרחב השמות של Event Hub.
  2. בניווט השמאלי, בוחרים באפשרות Event Hubs בקטע Entities.
  3. לוחצים על + מרכז אירועים.
  4. מספקים את פרטי ההגדרה הבאים:

    הגדרה ערך
    שם מזינים שם ייחודי (לדוגמה, apim-logs)
    מספר המחיצות ‫40 (מומלץ לאופטימיזציה של ההתאמה של Google SecOps)
    שמירת הודעות 7 ימים (מינימום מומלץ)
    צילום מושבת (לא נדרש ל-Google SecOps)
  5. לוחצים על יצירה.

קבלת מחרוזת החיבור של Event Hub

כדי לבצע אימות ל-Event Hub, צריך מחרוזת חיבור ל-Google SecOps.

  1. עוברים אל מרחב השמות של Event Hub.
  2. בתפריט הניווט הימני, בוחרים באפשרות מדיניות של גישה משותפת בקטע הגדרות.
  3. לוחצים על מדיניות ברירת המחדל RootManageSharedAccessKey.
  4. מעתיקים את מחרוזת חיבור - מפתח ראשי.
  5. חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.
  • לדוגמה:

    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

  1. עוברים אל Event Hub (לא אל מרחב השמות).
  2. בתפריט הניווט הימני, בוחרים באפשרות מדיניות של גישה משותפת בקטע הגדרות.
  3. לוחצים על + הוספה כדי ליצור מדיניות חדשה.
  4. מספקים את פרטי ההגדרה הבאים:
    • שם המדיניות: מזינים שם תיאורי (לדוגמה, chronicle-read).
    • הרשאות: בוחרים באפשרות האזנה בלבד (גישה לקריאה בלבד)
  5. לוחצים על יצירה.
  6. לוחצים על המדיניות החדשה שנוצרה.
  7. מעתיקים את מחרוזת החיבור – מפתח ראשי.
  8. חשוב לשמור את מחרוזת החיבור הזו באופן מאובטח.

הגדרת Azure ניהול ממשקי API להעברה בסטרימינג ל-Event Hub

  1. בפורטל Azure, מחפשים את שירותי ניהול ממשקי API.
  2. בוחרים את מופע שירות ניהול ה-API.
  3. בסרגל הניווט הימני, בקטע מעקב, לוחצים על הגדרות אבחון.
  4. לוחצים על + הוספת הגדרת אבחון.
  5. מספקים את פרטי ההגדרה הבאים:
    • 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 או במדיניות מותאמת אישית עם הרשאות שליחה.
  6. לוחצים על Save.

(אופציונלי) הגדרת Azure Blob Storage ליצירת נקודות ביקורת

מערכת Google SecOps יכולה להשתמש ב-Azure Blob Storage כדי לאחסן נקודות ביקורת של Event Hub, שעוקבות אחרי האירועים שעברו עיבוד. כך נמנעת הטמעה כפולה אם הפיד מופרע באופן זמני.

יצירת חשבון אחסון לנקודות ביקורת

  1. ב-Azure portal, מחפשים Storage accounts.
  2. לוחצים על ‎+ Create.
  3. ממלאים את פרטי ההגדרה הבאים:

    הגדרה ערך
    מינוי בוחרים את המינוי ל-Azure.
    קבוצת משאבים שימוש באותה קבוצת משאבים כמו Event Hub
    שם חשבון האחסון מזינים שם ייחודי (לדוגמה, secopsapimcheckpoint)
    אזור אותו אזור כמו Event Hub
    ביצועים רגילה
    יתירות LRS (אחסון מקומי יתיר)
  4. לוחצים על בדיקה + יצירה.

  5. לוחצים על יצירה.

יצירת קונטיינר Blob

  1. עוברים לחשבון האחסון שיצרתם.
  2. בתפריט הניווט הימני, בקטע אחסון נתונים, בוחרים באפשרות מאגרי נתונים.
  3. לוחצים על + מאגר תגים.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם: מזינים checkpoints
    • רמת הגישה הציבורית: פרטית (אין גישה אנונימית)
  5. לוחצים על יצירה.

קבלת פרטי הכניסה לחשבון האחסון

  1. בחשבון האחסון, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
  2. לוחצים על הצגת מקשים.
  3. מעתיקים ושומרים:
    • Storage account name: השם של חשבון האחסון
    • מפתח 1: הערך של מפתח הגישה

תצטרכו לספק את הערכים האלה כשתיצרו את הפיד של Google SecOps.

(אופציונלי) יצירת קבוצת צרכנים ייעודית

כברירת מחדל, Event Hub מספק קבוצת צרכנים בשם $Default. בסביבות ייצור, מומלץ ליצור קבוצת צרכנים ייעודית ל-Google SecOps.

  1. עוברים אל Event Hub (לא אל מרחב השמות).
  2. בתפריט הניווט הימני, בוחרים באפשרות קבוצות צרכנים בקטע ישויות.
  3. לוחצים על + קבוצת צרכנים.
  4. מספקים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, chronicle)
  5. לוחצים על יצירה.

הגדרת פיד ב-Google SecOps להטמעה של יומנים מ-Azure ניהול ממשקי API

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, Azure API Management Logs).
  5. בוחרים באפשרות Microsoft Azure Event Hub בתור סוג המקור.
  6. בוחרים באפשרות Azure API Management בתור סוג היומן.
  7. לוחצים על הבא.
  8. מציינים ערכים לפרמטרים הבאים של הקלט:

    • מחרוזת חיבור של Event Hub: מזינים את מחרוזת החיבור של Event Hub ששמרתם קודם.

    • אם משתמשים במחרוזת חיבור ברמת מרחב השמות:

      • חשוב לוודא שהסרתם את הפרמטר EntityPath
      • צריך גם לציין את שם מרכז האירועים בשדה הבא.
    • אם משתמשים במחרוזת חיבור ברמת מרכז האירועים:

      • שימוש במחרוזת החיבור כמו שהיא (כולל EntityPath)
      • אפשר להשאיר את השדה Event hub name (שם מרכז האירועים) ריק
    • שם מרכז האירועים: מזינים את שם מרכז האירועים (לדוגמה, apim-logs)

      • חובה אם משתמשים במחרוזת חיבור ברמת מרחב השמות.
      • אופציונלי אם משתמשים במחרוזת חיבור ברמת מרכז האירועים.
    • קבוצת צרכנים (אופציונלי): מזינים את השם של קבוצת הצרכנים.

      • אפשר להשאיר את השדה ריק כדי להשתמש בברירת המחדל $Default של קבוצת הצרכנים
      • אם יצרתם קבוצת צרכנים ייעודית, הזינו את השם שלה (לדוגמה, chronicle)
    • שם מאגר Blob Storage (אופציונלי): כדי ליצור נקודת ביקורת, מזינים את שם המאגר (לדוגמה, checkpoints)

    אם מספקים אחסון blob לנקודות ביקורת:

    • שם חשבון אחסון ב-Azure: מזינים את שם חשבון האחסון מתוך הגדרת יצירת נקודות ביקורת.
    • מפתח של חשבון אחסון ב-Azure: מזינים את מפתח הגישה מהגדרת יצירת נקודות ביקורת.

    • מרחב השמות של הנכס: מרחב השמות של הנכס

    • תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה

  9. לוחצים על הבא.

  10. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

מידע נוסף על פידים של 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.