איסוף יומנים של נתוני הקשר ארגוניים של Microsoft Entra ID (לשעבר Azure Active Directory)
גרסת המנתח: 12.0
במאמר הזה מוסבר איך לאסוף נתונים של הקשר ארגוני מ-Microsoft Entra ID (לשעבר Azure Active Directory) על ידי הגדרת פיד של Google Security Operations באמצעות ממשק API של צד שלישי.
ההקשר הארגוני של Microsoft Entra ID מספק מידע על ספריות, כמו משתמשים, קבוצות ומכשירים מהדייר (tenant) שלכם ב-Microsoft Entra ID. אלה לא נתוני אירועים או יומנים – זו תמונת מצב תקופתית של מצב הספרייה שמעשירה סוגי יומנים אחרים ב-Google SecOps בהקשר של זהות.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- גישה עם הרשאות לפורטל של Microsoft Azure
- אחד מהתפקידים הבאים שמאפשרים לתת הסכמה של אדמין:
- מנהל מערכת גלובלי – יכול לתת הסכמה לכל הרשאה, לכל API
- אדמין של תפקידים עם הרשאות – יכול לתת הסכמה לכל הרשאה, לכל API
הגדרת רשימת היתרים של כתובות IP
לפני שיוצרים את הפיד, צריך להוסיף את טווחי כתובות ה-IP של Google SecOps בהגדרות הרשת או בכללי המדיניות של הגישה המותנית ב-Microsoft Azure. זה חשוב במקרים שבהם מקור הנתונים אוכף הגבלות שמבוססות על כתובת IP. אם הפיד מחזיר שגיאה 403, צריך לוודא שהוספה לרשימת ההיתרים מופעלת שם. כדי להגביל את הגישה לטווח מצומצם יותר, צריך לפתוח כרטיס תמיכה.
מידע נוסף זמין במאמר רשימת היתרים של כתובות IP.
איך מקבלים את טווחי כתובות ה-IP של Google SecOps
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- שימו לב לטווחי כתובות ה-IP שמוצגים בממשק ליצירת פידים.
- לחלופין, אפשר לאחזר טווחי כתובות IP באופן פרוגרמטי באמצעות Feed Management API.
הגדרת גישה מותנית ל-Workload Identity (אם צריך)
אם בארגון שלכם משתמשים בכללי מדיניות של גישה מותנית שמגבילים את הגישה לפי מיקום, צריך לבצע את הפעולות הבאות:
- במרכז הניהול של Microsoft Entra, עוברים אל Protection > Conditional Access > Named locations.
- לוחצים על + מיקום חדש.
- מזינים את פרטי ההגדרה הבאים:
- שם: מזינים
Google SecOps IP Ranges. - סימון כמיקום מהימן: אופציונלי, בהתאם למדיניות האבטחה שלכם.
- טווחי כתובות IP: מוסיפים כל טווח כתובות IP של Google SecOps בסימון CIDR.
- שם: מזינים
- לוחצים על יצירה.
- עוברים אל Conditional Access > Policies (גישה מותנית > כללי מדיניות).
- בכל כללי המדיניות שחלים על Workload Identity, צריך להגדיר החרגה למיקום שנקרא
Google SecOps IP Rangesאו לישות המורשית הספציפית.
הגדרת רישום האפליקציה ב-Microsoft Entra
יצירת רישום של אפליקציה
- נכנסים למרכז הניהול של Microsoft Entra או לפורטל Azure.
- עוברים אל Identity > Applications > App registrations.
- לוחצים על New registration.
- מזינים את פרטי ההגדרה הבאים:
- שם: מזינים שם תיאורי (לדוגמה,
Google SecOps Entra ID Context Integration). - סוגי חשבונות נתמכים: בוחרים באפשרות חשבונות בספריית הארגון הזו בלבד (דייר יחיד).
- Redirect URI (כתובת URI להפניה אוטומטית): משאירים את השדה ריק (לא נדרש לאימות של חשבון השירות).
- שם: מזינים שם תיאורי (לדוגמה,
- לוחצים על הרשמה.
- אחרי הרישום, מעתיקים ושומרים את הערכים הבאים:
- מזהה אפליקציה (לקוח)
- מזהה הספרייה (הדייר)
הגדרת הרשאות API
הפיד קורא את ספריית המשתמשים דרך נקודת הקצה List users של Microsoft Graph, כשהמנהל של כל משתמש מורחב. נותנים לאפליקציה את ההרשאות שמתאימות לאפשרויות הפיד שהפעלתם.
- ברישום האפליקציה, עוברים אל API permissions (הרשאות API).
- לוחצים על הוספת הרשאה.
- בוחרים באפשרות Microsoft Graph > Application permissions.
- מחפשים ובוחרים את ההרשאות הבאות:
- User.Read.All – חובה. קורא את פרופילי המשתמשים ואת קשרי הניהול שהפיד מטמיע.
- Group.Read.All – רק אם מגדירים את האפשרות אחזור קבוצות כ-True בפיד. קורא את הקבוצות שמוחזרות לכל חברות של משתמש.
- Device.Read.All – רק אם מגדירים את Retrieve devices (אחזור מכשירים) כ-True בפיד. קורא את המכשירים שמשויכים לכל משתמש.
- לוחצים על הוספת הרשאות.
- לוחצים על Grant admin consent for Your Organization (מתן הסכמה של אדמין לארגון שלך).
מוודאים שבעמודה Status מופיע הערך Granted for Your Organization לכל ההרשאות.
הרשאה סוג כשצריך User.Read.All בקשת הצטרפות תמיד Group.Read.All בקשת הצטרפות אחזור קבוצות מוגדר כ-True Device.Read.All בקשת הצטרפות אחזור מכשירים מוגדר כ-True
יצירת סוד לקוח
- ברישום האפליקציה, עוברים אל Certificates & secrets (אישורים וסודות).
- לוחצים על New client secret (סוד לקוח חדש).
ממלאים את פרטי ההגדרה הבאים:
- תיאור: מזינים שם תיאורי (לדוגמה,
Google SecOps Feed). - תפוגה: בוחרים תקופת תפוגה.
- תיאור: מזינים שם תיאורי (לדוגמה,
לוחצים על הוספה.
מעתיקים מיד את הערך של סוד הלקוח.
הגדרת פיד ב-Google SecOps כדי להטמיע נתוני הקשר ארגוניים של Microsoft Entra ID
כדי להגדיר את הפיד:
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Azure AD Organizational Context). - בוחרים באפשרות API של צד שלישי בתור סוג המקור.
- בוחרים באפשרות Azure AD Organizational Context בתור Log type.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- מזהה לקוח OAuth: מזינים את מזהה האפליקציה (הלקוח) מרישום האפליקציה.
- סוד לקוח OAuth: מזינים את ערך סוד הלקוח שהעתקתם קודם.
- מזהה דייר (tenant): מזינים את מזהה הספרייה (דייר) מרישום האפליקציה בפורמט UUID (לדוגמה,
0fc279f9-fe30-41be-97d3-abe1d7681418). - אחזור מכשירים: בוחרים אם לאחזר את פרטי המכשיר בהקשר של המשתמש. מגדירים את הערך True כדי לכלול את נתוני המכשיר.
- אחזור קבוצות: בוחרים אם לאחזר את פרטי החברות בקבוצה בהקשר של המשתמש. מגדירים את הערך True כדי לכלול נתוני קבוצות.
API Full Path: כתובת ה-URL של נקודת הקצה ל-API בארכיטקטורת REST של Microsoft Graph:
graph.microsoft.com/beta
נקודת קצה לאימות API: נקודת קצה לאימות של Microsoft Entra ID:
login.microsoftonline.com
אפשרויות מתקדמות:
- מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה.
לוחצים על הבא.
בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
נקודות קצה אזוריות
בפריסות של Microsoft Entra ID בעננים ריבוניים, צריך להשתמש בנקודות הקצה האזוריות המתאימות:
| סביבת ענן | הנתיב המלא של ה-API | נקודת קצה לאימות API |
|---|---|---|
| גלובלי | graph.microsoft.com/beta |
login.microsoftonline.com |
| US Government L4 | graph.microsoft.us/beta |
login.microsoftonline.us |
| US Government L5 (DOD) | dod-graph.microsoft.us/beta |
login.microsoftonline.us |
| סין (21Vianet) | microsoftgraph.chinacloudapi.cn/beta |
login.chinacloudapi.cn |
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
extension_wfc_AccountType |
entity.labels.value |
מיפוי ישיר |
extension_wfc_AccountingUnitName |
entity.labels.value |
מיפוי ישיר |
extension_wfc_execDescription |
entity.labels.value |
מיפוי ישיר |
extension_wfc_groupDescription |
entity.labels.value |
מיפוי ישיר |
extension_wfc_orgDescription |
entity.labels.value |
מיפוי ישיר |
createdDateTime |
entity.user.attribute.creation_time |
נותח בתור RFC3339 |
sign_in_type |
entity.user.attribute.labels.key |
מיפוי ישיר |
assignedLicense.skuId |
entity.user.attribute.labels.value |
מיפוי ישיר |
employeeType |
entity.user.attribute.labels.value |
מיפוי ישיר |
empmanager-src.usageLocation |
entity.user.attribute.labels.value |
מיפוי ישיר |
externalUserState |
entity.user.attribute.labels.value |
מיפוי ישיר |
gopher-manager.onPremisesImmutableId |
entity.user.attribute.labels.value |
מיפוי ישיר |
mailNickname |
entity.user.attribute.labels.value |
מיפוי ישיר |
onPremisesDistinguishedName |
entity.user.attribute.labels.value |
מיפוי ישיר |
onPremisesDomainName |
entity.user.attribute.labels.value |
מיפוי ישיר |
onPremisesExtensionAttributes.extensionAttribute4 |
entity.user.attribute.labels.value |
מיפוי ישיר |
onPremisesImmutableId |
entity.user.attribute.labels.value |
מיפוי ישיר |
onPremisesSamAccountName |
entity.user.attribute.labels.value |
מיפוי ישיר |
refreshTokensValidFromDateTime |
entity.user.attribute.labels.value |
מיפוי ישיר |
token_date_time |
entity.user.attribute.labels.value |
מיפוי ישיר |
userPrincipalName |
entity.user.attribute.labels.value |
מיפוי ישיר |
user_ou_data |
entity.user.attribute.labels.value |
מיפוי ישיר |
userType |
entity.user.attribute.roles.name |
מיפוי ישיר |
user_ou_data |
entity.user.attribute.roles.type |
מופה: Admin ← ADMINISTRATOR, Service Accounts ← SERVICE_ACCOUNT |
department |
entity.user.department |
ממוזג |
mail |
entity.user.email_addresses |
ממוזג |
proxyAddress |
entity.user.email_addresses |
מופה: smtp/SMTP ← proxyAddress |
userPrincipalName |
entity.user.email_addresses |
ממוזג |
employeeId |
entity.user.employee_id |
שינוי שם/מיפוי |
extension_employeeNumber |
entity.user.employee_id |
שינוי שם/מיפוי |
onPremisesDomainName |
entity.user.group_identifiers |
ממוזג |
proxyAddress |
entity.user.group_identifiers |
ממוזג |
sign_in_type_manager |
entity.user.managers.attribute.labels.key |
מיפוי ישיר |
temp |
entity.user.managers.attribute.labels.key |
מופה: true ← manager accountEnabled |
empmanager-src.sbuxCompanyCode |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxCostCenter |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxDirectorySync |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxEmployeeStatus |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxEmployeeType |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxFullName |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxFullNameAKA |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxFullNameAKAAlt |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxFullNameAlt |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxGivenNameAlt |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxGlobalID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxJobNumber |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxKnownAs |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxKnownAsAlt |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxLocalMarket |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxLocalMarketEmployeeID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxManagerImmutableID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxManagerNumber |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOnTLA |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgAreaID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgDistrictID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgDivisionID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgRegionID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgShortName |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgStoreID |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgType |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxOrgUnit |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxSnAlt |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.sbuxSourceSystem |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
empmanager-src.userPrincipalName |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
manager_ou_data |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
temp |
entity.user.managers.attribute.labels.value |
מיפוי ישיר |
manager_user_type |
entity.user.managers.attribute.roles.name |
מיפוי ישיר |
manager_ou_data |
entity.user.managers.attribute.roles.type |
מופה: Users ← ADMINISTRATOR, Service Accounts ← SERVICE_ACCOUNT |
empmanager-src.companyName |
entity.user.managers.company_name |
שינוי שם/מיפוי |
empmanager-src.department |
entity.user.managers.department |
ממוזג |
empProxyAddress |
entity.user.managers.email_addresses |
מופה: smtp/SMTP ← empProxyAddress |
empmanager-src.mail |
entity.user.managers.email_addresses |
ממוזג |
principal_name |
entity.user.managers.email_addresses |
ממוזג |
empmanager-src.employeeId |
entity.user.managers.employee_id |
שינוי שם/מיפוי |
empmanager-src.extension_employeeNumber |
entity.user.managers.employee_id |
שינוי שם/מיפוי |
empmanager-src.givenName |
entity.user.managers.first_name |
שינוי שם/מיפוי |
empProxyAddress |
entity.user.managers.group_identifiers |
ממוזג |
empmanager-src.surname |
entity.user.managers.last_name |
שינוי שם/מיפוי |
empmanager-src.city |
entity.user.managers.personal_address.city |
שינוי שם/מיפוי |
country_n_code |
entity.user.managers.personal_address.country_or_region |
מיפוי ישיר |
empmanager-src.streetAddress |
entity.user.managers.personal_address.name |
שינוי שם/מיפוי |
empmanager-src.state |
entity.user.managers.personal_address.state |
שינוי שם/מיפוי |
empmanager-src.businessPhones.0 |
entity.user.managers.phone_numbers |
ממוזג |
empmanager-src.id |
entity.user.managers.product_object_id |
שינוי שם/מיפוי |
empmanager-src.jobTitle |
entity.user.managers.title |
שינוי שם/מיפוי |
empmanager-src.displayName |
entity.user.managers.user_display_name |
שינוי שם/מיפוי |
empmanager-src.sAMAccountName |
entity.user.managers.userid |
שינוי שם/מיפוי |
empmanager-src.onPremisesSecurityIdentifier |
entity.user.managers.windows_sid |
שינוי שם/מיפוי |
country |
entity.user.personal_address.country_or_region |
מיפוי ישיר |
usageLocation |
entity.user.personal_address.country_or_region |
מיפוי ישיר |
phoneNumber |
entity.user.phone_numbers |
ממוזג |
onPremisesSamAccountName |
entity.user.userid |
שינוי שם/מיפוי |
sAMAccountName |
entity.user.userid |
שינוי שם/מיפוי |
gopher-device-item.createdDateTime |
metadata.event_timestamp |
נותח בתור RFC3339 |
| לא רלוונטי | entity.labels.key |
קבוע: wfc_AccountType |
| לא רלוונטי | entity.user.attribute.labels.key |
קבוע: gopher-manager onPremisesImmutableId |
| לא רלוונטי | entity.user.attribute.roles.type |
קבוע: SERVICE_ACCOUNT |
| לא רלוונטי | entity.user.managers.attribute.labels.key |
קבוע: manager accountEnabled |
| לא רלוונטי | entity.user.managers.attribute.roles.type |
קבוע: SERVICE_ACCOUNT |
| לא רלוונטי | entity.user.user_authentication_status |
קבוע: ACTIVE |
| לא רלוונטי | metadata.entity_type |
קבוע: USER |
| לא רלוונטי | metadata.event_metadata.log_type |
קבוע: AZURE_AD_CONTEXT |
| לא רלוונטי | metadata.product_name |
קבוע: Azure Active Directory |
| לא רלוונטי | metadata.vendor_name |
קבוע: Microsoft |
יומן שינויים
הצגת יומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.