איסוף יומני פעילות משתמשים ב-Microsoft Dynamics 365
במאמר הזה מוסבר איך אפשר לאסוף יומני פעילות של משתמשים ב-Microsoft Dynamics 365 על ידי הגדרת פיד של Google SecOps באמצעות Microsoft Azure Blob Storage V2.
Microsoft Dynamics 365 היא פלטפורמה של אפליקציות עסקיות מבוססות-ענן שמשלבת יכולות של CRM ו-ERP. יומני פעילות המשתמשים מתעדים פעולות ואירועים שבוצעו על ידי משתמשים באפליקציות של Dynamics 365, כולל פעולות על ישויות, גישה לנתונים ופעילויות ניהול. Dynamics 365 מבוסס על Microsoft Dataverse, שמספק רישום מקיף ביומן הביקורת באמצעות יומן הביקורת המאוחד של Microsoft Purview.
לפני שמתחילים
חשוב לוודא שמתקיימות דרישות הסף הבאות:
- מופע של Google SecOps
- גישה עם הרשאות לפורטל Microsoft Azure:
- יצירת חשבונות אחסון
- הגדרה של Azure Synapse Link for Dataverse
- ניהול מפתחות גישה
- מינוי ל-Microsoft 365 שכולל את Dynamics 365
- תפקיד האבטחה של אדמין המערכת בסביבת Dynamics 365
גישה למרכז האדמין של Power Platform עם הרשאת אדמין גלובלי או אדמין של Power Platform
הפעלת ביקורת ב-Dataverse
לפני שמייצאים יומני פעילות משתמשים ב-Dynamics 365, צריך להפעיל את הביקורת במרכז האדמין של Power Platform.
- נכנסים למרכז הניהול של Power Platform.
- בחלונית הניווט, בוחרים באפשרות סביבות.
- בוחרים את הסביבה שמכילה את פריסת Dynamics 365.
- בסרגל הפקודות, לוחצים על הגדרות.
- מרחיבים את הקטע ביקורת ויומנים ובוחרים באפשרות הגדרות ביקורת.
- בקטע ביקורת, מפעילים את האפשרויות הבאות:
- התחלת הביקורת: מפעיל את הביקורת בסביבה.
- גישה ליומן: מעקב אחרי התחברות של משתמשים.
- קריאת יומנים: מתעד את רוב הפעילויות והאירועים של המשתמשים.
- מגדירים את מדיניות שמירת הנתונים של יומני הביקורת בהתאם לדרישות שלכם.
- כדי לאשר את השינויים, לוחצים על שמירה.
הפעלת ביקורת ברמת הטבלה
- נכנסים ל-Power Apps ובוחרים את הסביבה.
- בסרגל הפקודות, לוחצים על הגדרות > הגדרות מתקדמות.
- עוברים אל הגדרות > התאמות אישיות > התאמה אישית של המערכת.
- בחלונית הניווט, בקטע Components (רכיבים), מרחיבים את Entities (ישויות) ובוחרים את הישות שרוצים לבדוק (לדוגמה, Account (חשבון)).
- גוללים למטה אל שירותי נתונים ומסמנים את התיבה ביקורת.
- בקטע ביקורת, מפעילים את האפשרויות הבאות:
- ביקורת של רשומה אחת. רישום רשומה כשפותחים את הקובץ.
- ביקורת על כמה רשומות. רישום כל הרשומות שמוצגות בדף פתוח.
- לוחצים על שמירה ואז על פרסום.
- חוזרים על שלבים 4 עד 7 לכל טבלה שרוצים לבדוק.
מידע נוסף זמין במאמר בנושא רישום פעילות ב-Microsoft Dataverse ובאפליקציות מבוססות-מודל.
הגדרת חשבון Azure Storage
יצירת חשבון אחסון
- ב-Azure portal, מחפשים Storage accounts.
- לוחצים על + Create.
מספקים את פרטי ההגדרה הבאים:
הגדרה ערך מינוי בוחרים את המינוי ל-Azure. קבוצת משאבים בוחרים קבוצה קיימת או יוצרים קבוצה חדשה שם חשבון האחסון מזינים שם ייחודי (לדוגמה, secopsd365logs)אזור בחירת אותו אזור כמו בסביבת Dataverse ביצועים רגיל (מומלץ) יתירות GRS (Geo-redundant storage) או LRS (Locally redundant storage) בוחרים בכרטיסייה מתקדם ומפעילים את האפשרות מרחב שמות היררכי.
לוחצים על בדיקה + יצירה.
בודקים את הסקירה הכללית של החשבון ולוחצים על יצירה.
מחכים שהפריסה תסתיים.
קבלת פרטי הכניסה לחשבון האחסון
- עוברים אל חשבון האחסון שיצרתם.
- בניווט הימני, בוחרים באפשרות מפתחות גישה בקטע אבטחה + רשת.
- לוחצים על הצגת מקשים.
- מעתיקים ושומרים את הפרטים הבאים לשימוש בהמשך:
- שם חשבון האחסון:
secopsd365logs - Key 1 או Key 2: מפתח הגישה המשותף (מחרוזת אקראית באורך 512 ביט בקידוד Base-64)
- שם חשבון האחסון:
קבלת נקודת קצה של Blob Service
- באותו חשבון אחסון, בתפריט הניווט הימני, בוחרים באפשרות נקודות קצה.
- מעתיקים ושומרים את כתובת ה-URL של נקודת הקצה של שירות ה-Blob.
- לדוגמה:
https://secopsd365logs.blob.core.windows.net/
- לדוגמה:
מתן הרשאות לחשבון אחסון
מעניקים הרשאות לאדמין של Power Platform שיגדיר את Azure Synapse Link:
- בחלונית הימנית של Storage Account, בוחרים באפשרות בקרת גישה (IAM).
- לוחצים על + הוספה > הוספת הקצאת תפקיד.
- מקצים לאדמין של Power Platform את התפקידים הבאים:
- Storage Blob Data Contributor
- בעלים של נתוני Blob באחסון
הגדרה של Azure Synapse Link for Dataverse
Azure Synapse Link for Dataverse מייצא את טבלת הביקורת של Dataverse אל Azure Data Lake Storage Gen2, שתואם לפידים של Azure Blob Storage V2.
יצירת סביבת עבודה ב-Azure Synapse
- ב-Azure portal, מחפשים את Synapse Analytics.
- לוחצים על + Create.
- מספקים את פרטי ההגדרה הבאים:
- מינוי: בוחרים את המינוי שבו יצרתם את חשבון האחסון.
- קבוצת משאבים: בוחרים את אותה קבוצת משאבים כמו חשבון האחסון.
- שם Workspace: מזינים שם ייחודי (לדוגמה,
synapse-d365-secops). - אזור: בוחרים את אותו אזור שבו נמצאת סביבת Dataverse.
- שם חשבון האחסון: בוחרים את חשבון האחסון שיצרתם קודם (
secopsd365logs). - שם מערכת הקבצים: לוחצים על יצירת חדש ומזינים שם (לדוגמה,
d365-audit).
- לוחצים על בדיקה + יצירה ואז על יצירה.
- מחכים שהפריסה תסתיים.
יצירת מאגר Apache Spark
- בפורטל Azure, עוברים לסביבת העבודה של Synapse שיצרתם.
- לוחצים על + מאגר חדש של Apache Spark.
- מספקים את פרטי ההגדרה הבאים:
- שם מאגר Apache Spark: מזינים שם (לדוגמה,
sparkpoold365). - מספר הצמתים: מזינים
5.
- שם מאגר Apache Spark: מזינים שם (לדוגמה,
- לוחצים על הכרטיסייה הגדרות נוספות ומזינים
5בשדה מספר הדקות של חוסר פעילות. - לוחצים על בדיקה + יצירה ואז על יצירה.
חיבור טבלת ביקורת של Dataverse לסביבת עבודה של Synapse
- נכנסים ל-Power Apps ובוחרים את הסביבה שמכילה את הפריסה של Dynamics 365.
- בחלונית הניווט שמימין, בוחרים באפשרות Azure Synapse Link. אם הפריט לא מוצג, בוחרים באפשרות עוד > גילוי הכול ומאתרים את Azure Synapse Link.
- לוחצים על קישור חדש.
- בדף קישור חדש:
- בוחרים באפשרות Connect to your Azure Synapse Analytics workspace (קישור לסביבת העבודה שלכם ב-Azure Synapse Analytics).
- מינוי: בוחרים את המינוי ל-Azure.
- קבוצת משאבים: בוחרים את קבוצת המשאבים שמכילה את סביבת העבודה של Synapse.
- חשבון אחסון: בוחרים את חשבון האחסון (
secopsd365logs). - בוחרים באפשרות Use Spark pool for Delta Lake data conversion job (שימוש במאגר Spark לעבודת המרת נתונים של Delta Lake).
- מאגר Spark: בוחרים את מאגר Spark שיצרתם (
sparkpoold365). - חשבון אחסון: בוחרים את אותו חשבון אחסון.
- לוחצים על הבא.
- מרחיבים את הכרטיסייה מתקדם ומזינים
480דקות בשדה מרווח זמן. - מתחת לרשימת הטבלאות, בוחרים בטבלאות Auditing ו-User.
לוחצים על Save.
מידע נוסף זמין במאמר גישה לנתוני ביקורת באמצעות Azure Synapse Link ו-Power BI.
הגדרה של פיד ב-Google SecOps להטמעה של יומני פעילות משתמשים ב-Microsoft Dynamics 365
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Microsoft Dynamics 365 User Activity). - בוחרים באפשרות Microsoft Azure Blob Storage V2 בתור סוג המקור.
- בוחרים באפשרות Microsoft Dynamics 365 בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- Azure URI: מזינים את כתובת ה-URL של נקודת הקצה של Blob Service עם הנתיב של המאגר:
https://secopsd365logs.blob.core.windows.net/d365-audit/מחליפים את מה שכתוב בשדות הבאים:
-
secopsd365logs: השם של חשבון האחסון שלכם ב-Azure. -
d365-audit: השם של מערכת הקבצים (המאגר) שהוגדרה בסביבת העבודה של Synapse.
- אפשרות למחיקת המקור: בוחרים את אפשרות המחיקה לפי ההעדפה שלכם:
- אף פעם: הקבצים לא נמחקים אחרי ההעברה.
- מחיקת קבצים שהועברו: הקבצים נמחקים אחרי שההעברה מסתיימת.
- מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת בהצלחה.
- הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים)
- Shared key (מפתח משותף): מזינים את הערך של המפתח המשותף (מפתח גישה) ששמרתם קודם מחשבון האחסון.
- מרחב השמות של הנכס: מרחב השמות של הנכס
- תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
הגדרת חומת אש של Azure Storage (אם היא מופעלת)
אם חשבון האחסון שלכם ב-Azure משתמש בחומת אש, אתם צריכים להוסיף את טווחי כתובות ה-IP של Google SecOps.
- ב-Azure portal, עוברים אל Storage Account.
- בקטע Security + networking (אבטחה + רשתות), בוחרים באפשרות Networking (רשתות).
- בקטע Firewalls and virtual networks (חומות אש ורשתות וירטואליות), בוחרים באפשרות Enabled from selected virtual networks and IP addresses (מופעל מרשתות וירטואליות נבחרות ומכתובות IP נבחרות).
- בקטע Firewall (חומת אש), מתחת לAddress range (טווח כתובות), לוחצים על + Add IP range (+ הוספת טווח כתובות IP).
מוסיפים כל טווח כתובות IP של Google SecOps בסימון CIDR.
כדי לקבל את טווחי כתובות ה-IP הנוכחיים:
- לעיון במאמרי העזרה בנושא רשימות היתרים לכתובות IP
- אפשר גם לאחזר אותם באופן פרוגרמטי באמצעות Feed Management API
לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| BuildNumber | about.labels | בוצע מיזוג של about_BuildNumber עם המפתח BuildNumber והערך מ-BuildNumber אם הוא לא ריק |
| RECORD_IDENTIFIER | additional.fields | התווית תמוזג עם תוויות שנוצרו מכל שדה רלוונטי אם הוא לא ריק |
| LastProcessedChange_DateTime | additional.fields | |
| DataLakeModified_DateTime | additional.fields | |
| Application_Object_Server_node | additional.fields | |
| ClientType | additional.fields | |
| LogoutDateTime | additional.fields | |
| LOGOUTDATETIMETZID | additional.fields | |
| TerminatedOk | additional.fields | |
| סוג | additional.fields | |
| חי | additional.fields | |
| PARTITION | additional.fields | |
| has_user | metadata.event_type | הערך שמוגדר הוא GENERIC_EVENT, ואז USER_UNCATEGORIZED אם has_user הוא true, אחרת הערך שמוגדר הוא STATUS_UPDATE אם has_principal הוא true |
| has_principal | metadata.event_type | |
| RECVERSION | metadata.product_version | הערך מועתק ישירות אם הוא לא ריק |
| SessionId | network.session_id | הערך מועתק ישירות אם הוא לא ריק |
| LOG_SEQUENCE_NUMBER | security_result.detection_fields | המיזוג של LOG_SEQUENCE_NUMBER_label עם המפתח LOG_SEQUENCE_NUMBER והערך מ-LOG_SEQUENCE_NUMBER אם הוא לא ריק |
| UserId | target.user.userid | הערך מועתק ישירות אם הוא לא ריק |
| חותמת זמן | חותמת זמן | הערך מנותח באמצעות התאמה לתאריך בפורמט ISO8601 או RFC 3339, אם הוא לא ריק |
| metadata.product_name | metadata.product_name | הערך שמוגדר הוא MICROSOFT_DYNAMICS_365 |
| metadata.vendor_name | metadata.vendor_name | הערך שמוגדר הוא MICROSOFT_DYNAMICS_365 |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.