התחברות ל-Microsoft Azure לצורך הגדרה ואיסוף נתוני משאבים

אתם יכולים לקשר את Security Command Center במהדורת Enterprise לסביבת Microsoft Azure כדי:

  • הפעלת הזיהוי של ממצאים שקשורים להגדרות שגויות.
  • לזהות נתיבי תקיפה פוטנציאליים מהאינטרנט הציבורי לנכסי Microsoft Azure בעלי ערך גבוה.
  • מיפוי התאימות של משאבי Microsoft Azure לתקנים ולמדדים שונים.

החיבור בין Security Command Center ל-Microsoft Azure מאפשר לצוות שלכם לנהל ולתקן במקום אחד את ההגדרות הלא תקינות ב- Google Cloud וב-Azure.

מגדירים חיבור מהימן בין Security Command Center לבין Azure באמצעות Google Cloud סוכן שירות וזהות מנוהלת שהוקצתה למשתמש ב-Microsoft Azure עם גישה למשאבי Azure שרוצים לנטר. אתם מנהלים ושולטים בהגדרות האמון בסביבת Microsoft Azure.

אפשר ליצור חיבור אחד ל-Azure לכל ארגון. Google Cloud

‫Security Command Center משתמש בחיבור הזה כדי לאסוף מעת לעת נתונים על משאבי Microsoft Azure שאתם מגדירים. הנתונים האלה מטופלים באותו אופן כמו נתוני שירות, בהתאם להודעת הפרטיות של Google Cloud. המחבר משתמש בקריאות API כדי לאסוף נתוני נכסים של Azure. יכול להיות שיחולו חיובים על קריאות ה-API האלה ב-Microsoft Azure.

במהלך סריקה, צינור הנתונים של איסוף הנתונים מסתמך על סוכן השירות כדי לבצע אימות לסביבת Microsoft Azure באמצעות הזהות המנוהלת שהוקצתה למשתמש.

בתרשים הבא מוצג איך נוצר אמון בין Security Command Center לבין Azure.

הגדרות של Azure ו-Security Command Center.

במאמר הזה מוסבר איך להגדיר את החיבור ל-Microsoft Azure. באופן כללי, השלבים הם:

  1. מבצעים את השלבים המקדימים שמפורטים בקטע לפני שמתחילים.

  2. יוצרים את המחבר של Azure ומגדירים אילו מינויים ומיקומים לסרוק. כדי לבצע את השלבים האלה, צריך את מזהה הדייר ב-Microsoft Azure. כך נוצר מזהה סוכן השירות.

  3. מגדירים את סביבת Azure כדי ליצור זהות מנוהלת ייעודית שהוקצתה למשתמש עם התפקידים הבאים:

    • Reader (קריאה) במסגרת קבוצת הניהול הבסיסית של Microsoft Azure כדי לקרוא משאבים, מינויים והיררכיה של קבוצת הניהול.

    • Key Vault Reader (קורא מאגרי מפתחות) בהיקף של קבוצת הניהול הבסיסית של Microsoft Azure כדי לקרוא מטא-נתונים על מאגרי מפתחות ועל אישורים, מפתחות וסודות קשורים.

    • Storage Blob Data Reader בהיקף של קבוצת הניהול הבסיסית של Microsoft Azure כדי לקרוא מטא-נתונים על משאבים. צריך להקצות את התפקיד הזה אם מתכננים להפעיל את ההגדרה Grant permissions for Sensitive Data Protection discovery כשמגדירים את מחבר Azure.

    • הרשאת קריאה בספרייה ב-Microsoft Entra ID כדי לקרוא קבוצות וחברות בקבוצות.

    • קורא אבטחה ב-Microsoft Entra ID כדי לקרוא מדיניות הרשאות.

    שם ברירת המחדל של קבוצת הניהול הבסיסית הוא Tenant root group.

    ההרשאות האלה נדרשות כדי ש-Security Command Center יוכל לזהות קבוצות ניהול, קבוצות עם חברות והגדרות תפקידים, שנמצאים ברמה גבוהה יותר מהמינויים בהיררכיית המשאבים.

    אתם גם מגדירים פרטי כניסה של זהות מאוחדת עבור הזהות המנוהלת שהוקצתה למשתמש, באמצעות מידע על סוכן השירות.

    אפשר לבצע את השלבים באופן ידני או להשתמש ב-Terraform. אם מבצעים את השלבים באופן ידני, צריך את מזהה סוכן השירות.

  4. משלימים את ההגדרה של מחבר Azure ובודקים את החיבור. כדי לבצע את השלבים האלה, צריך להשתמש במידע על הזהות המנוהלת שהוקצתה למשתמש.

סוגים של איסוף נתונים

בהתאם ליעדי האבטחה שלכם, אתם יכולים לקשר את Security Command Center ל-Microsoft Azure כדי לאסוף סוגים שונים של נתונים:

  • נתוני משאבים והגדרות: המחבר של Azure שהוגדר בדף הזה אוסף מטא-נתונים של הגדרות ונתוני משאבים כדי לגלות הגדרות שגויות, להעריך את מצב האבטחה ולזהות נתיבי תקיפה.
  • נתוני יומן: כדי להפעיל את יכולות הזיהוי המאורגנות של SIEM ולנתח יומני אירועים של Microsoft Azure, צריך להגדיר חיבור נפרד להזנת יומנים. מידע נוסף זמין במאמר בנושא התחברות ל-Microsoft Azure לצורך איסוף נתוני יומנים.

לפני שמתחילים

בקטעים הבאים מתוארים התנאים המוקדמים, ההחלטות והמידע שצריך לפני שמגדירים את החיבור בין Security Command Center לבין Microsoft Azure.

בדיקת התכונות של Microsoft Azure

חשוב להכיר את המושגים והיכולות הבאים ב-Microsoft Azure:

תכנון איסוף הנתונים

כשמתכננים את אסטרטגיית איסוף הנתונים, צריך לבצע את הפעולות הבאות. תצטרכו את המידע הזה כדי לבצע את השלבים שמתוארים במאמר הזה.

  • יוצרים או מזהים את קבוצת המשאבים שבה תיצרו את הזהות המנוהלת שמוגדרת על ידי המשתמש. תצטרכו את שם קבוצת המשאבים במהלך ההגדרה.

    מחליפים את המשתנה RESOURCE_GROUP_NAME בשם של קבוצת המשאבים כדי לאכלס את הערך בשלבים הבאים של המסמך הזה.

  • מזהים את המשאבים שעבורם רוצים לאסוף נתונים. אם אתם מתכננים לאסוף נתונים רק ממנויים או מאזורים ספציפיים, כדאי לזהות ולתעד אותם במהלך התכנון.

    אפשר גם להגדיר את מחבר Azure כך שיאתר משאבים באופן אוטומטי בכל המינויים והאזורים.

הגדרת הרשאות ב Google Cloud

כדי ליצור ולנהל חיבור לספקי ענן של צד שלישי ב- Google Cloud, צריך לקבל את התפקיד בעלים של נכסי ענן (roles/cloudasset.owner) בארגון. מידע נוסף על מתן תפקידים מופיע במאמר בנושא ניהול גישה.

הגדרת הרשאות ב-Microsoft Azure

כדי לבצע את השלבים במאמרים הגדרה ידנית של Microsoft Azure או הגדרה של Microsoft Azure באמצעות Terraform, אתם צריכים זהות ב-Azure עם לפחות קבוצת משאבים אחת שנוצרה, וגם את ההרשאות הבאות להגדרת מדיניות IAM עבור Microsoft Azure ו-Microsoft Entra.

  • הרשאת Microsoft.Authorization/roleAssignments/write בהיקף של קבוצת הניהול הבסיסית. ההרשאה הזו זמינה באחד מהתפקידים המובנים הבאים: אדמין של בקרת גישה מבוססת-תפקידים או אדמין של גישת משתמשים.

  • ההרשאות הבאות בהיקף של קבוצת משאבים שבה תיווצר זהות מנוהלת שהוקצתה למשתמש:

    • Microsoft.ManagedIdentity/userAssignedIdentities/write
    • Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write

    ההרשאות האלה זמינות בתפקיד המובנה Managed Identity Contributor.

  • ההרשאה של Microsoft Entra, ‏ microsoft.directory/roleAssignments/allProperties/allTasks. ההרשאה הזו זמינה בתפקיד המובנה Privileged Role Administrator ב-Microsoft Entra.

צריכה להיות לכם הרשאת גישה גבוהה כדי להגדיר הרשאות בהיקף של קבוצת הניהול הבסיסית. במאמר העלאת רמת הגישה לניהול כל המינויים וקבוצות הניהול ב-Azure מוסבר איך להעלות את רמת הגישה של אדמין גלובלי.

הפעלה והגדרה של מחבר Azure ב-Security Command Center

כדי ליצור ולהגדיר את המחבר של Azure:

התחלת הגדרת המחבר

  1. חשוב לוודא שיש לכם את ההרשאות שמוגדרות בקטע הגדרת הרשאות ב Google Cloud.

  2. מוודאים שיש לכם את מזהה הדייר ב-Microsoft Azure, שמורכב מ-36 תווים.

  3. פותחים את הכרטיסייה מחברים בדף הגדרות.

    כניסה לדף Connectors

  4. בוחרים את הארגון שבו הפעלתם את Security Command Center Enterprise.

  5. לוחצים על הוספת מחבר > Microsoft Azure.

  6. בדף Configure connector, מזינים את מזהה הדייר ב-Azure.

  7. כדי לאפשר ל-Sensitive Data Protection ליצור פרופיל של נתוני Azure, צריך להשאיר את האפשרות Grant permissions for Sensitive Data Protection discovery מסומנת. האפשרות הזו מוסיפה את התפקיד Storage Blob Data Reader (קריאת נתונים של Blob אחסון) בתבנית Terraform עבור הזהות המנוהלת שמוגדרת על ידי המשתמש.

ציון מיקומים והרשמות

  1. בוחרים באחת מהאפשרויות הבאות:

    • הוספת מינויים באופן אוטומטי: מערכת Security Command Center תגלה ותכלול באופן אוטומטי מינויים וקבוצות ניהול. אפשר גם להחריג מזהי מינויים מאיסוף הנתונים על ידי הוספתם לשדה Exclude Azure subscriptions (החרגת מינויים ל-Azure).

    • הוספת מינויים בנפרד: מערכת Security Command Center לא תזהה מינויים באופן אוטומטי. צריך להגדיר לפחות מינוי אחד באמצעות השדה Add Azure Subscription (הוספת מינוי ל-Azure).

  2. בקטע Select Azure locations to collect data from (בחירת מיקומי Azure לאיסוף נתונים), אפשר לבחור מיקום אחד או יותר של Microsoft Azure לאיסוף נתונים. כדי לאסוף נתונים מכל המיקומים, צריך להשאיר את השדה הזה ריק. כשבוחרים מיקום מהתפריט, המיקומים שלא נבחרו לא נכללים.

    ההגדרות המומלצות הן Automatically discover your Azure subscriptions (גילוי אוטומטי של המינויים שלכם ל-Azure) ו-use all Microsoft Azure locations (שימוש בכל המיקומים של Microsoft Azure).

  3. לוחצים על הבא. נפתח הדף Connect to Azure (התחברות ל-Azure).

    משם, צריך להגדיר את Microsoft Azure לפני ששומרים או ממשיכים בדף הזה. הוראות מפורטות מופיעות במאמר הגדרת סביבת Microsoft Azure.

    אחרי שמגדירים את Microsoft Azure, פועלים לפי ההוראות שבקטע השלמת ההגדרה של מחבר Azure.

הגדרת הסביבה של Microsoft Azure

ממלאים את אחד מהקטעים הבאים:

הגדרה ידנית של Microsoft Azure

בקטע הבא מתוארים השלבים הכלליים להגדרת סביבת Azure שיוצרת אמון בין Security Command Center לבין Microsoft Azure. ההליך הזה לא מקיף. בכל קטע יש קישורים לתיעוד של Microsoft Azure שמסביר איך לבצע את המשימה.

דרישות מוקדמות

שלב 1: יצירת זהות מנוהלת שהוקצתה למשתמש בקבוצת משאבים

  1. פועלים לפי השלבים במאמר ניהול זהויות מנוהלות שהוקצו למשתמש כדי ליצור את הזהות המנוהלת שהוקצתה למשתמש.

    כשיוצרים את הזהות, מציינים את הפרטים הבאים:

    • מינוי: בוחרים את המינוי שבו יתבצע ניהול הזהות.
    • קבוצת משאבים: מציינים את שם קבוצת המשאבים, RESOURCE_GROUP_NAME, שבה ינוהל הזהות. הגדרתם את זה כשתכננתם את איסוף הנתונים.
    • אזור: בוחרים אזור, למשל East US.
    • שם: מזינים שם לזהות המנוהלת שהוקצתה למשתמש, לדוגמה: gcp-managed-identity. מחליפים את המשתנה USER_ASSIGNED_MANAGED_IDENTITY_NAME בשם הזהות, והוא יאוכלס בשלבים של המסמך הזה שבהם הוא נדרש.
  2. רושמים את הפרטים הבאים. תשתמשו בזה בשלבים הבאים.

    • מזהה לקוח: הערך בן 36 התווים שהוקצה לזהות.
    • מזהה האובייקט (הגורם המרכזי): הערך בן 36 התווים שהוקצה לזהות.
    • שם הזהות: הערך שהגדרתם בשדה Name.

שלב 2: יצירת פרטי כניסה מאוחדים לזהות מנוהלת שהוקצתה למשתמש

כדי להוסיף פרטי כניסה מאוחדים לזהות מנוהלת שהוקצתה למשתמש, פועלים לפי השלבים במאמר הגדרת זהות מנוהלת שהוקצתה למשתמש כדי לתת אמון בספק זהויות חיצוני.

פועלים לפי ההנחיות שמתוארות בתרחיש של מוסד מנפיק אחר ומגדירים את הפרטים הבאים:

  • Federated credential scenario: בוחרים באפשרות Other: Configure an identity managed by an external OpenID Connect provider to access Microsoft Azure resources as this application.
  • Issuer URL: מזינים https://accounts.google.com.
  • מזהה הנושא: מזינים את מזהה סוכן השירות שנוצר כשיצרתם את המחבר של Security Command Center ל-Azure.
  • שם: מזינים שם לפרטי הכניסה המאוחדים, לדוגמה: gcp-managed-identity-fic.
  • קהל: מזינים https://cloud.google.com.

שלב 3: הקצאת תפקידים מובנים של Microsoft Azure

פועלים לפי השלבים במאמר הקצאת תפקידים ב-Azure באמצעות Azure Portal כדי להקצות את התפקידים המובנים הבאים ב-Microsoft Azure לזהות המנוהלת שהוקצתה למשתמש:

  • Key Vault Reader
  • משתמש בעל הרשאת קריאה
  • קריאת נתונים של Blob באחסון

צריך להקצות את התפקידים האלה בהיקף של קבוצת הניהול הבסיסית.

שלב 4: הקצאת התפקידים המובנים של Microsoft Entra ID

פועלים לפי השלבים במאמר הקצאת תפקידים ב-Microsoft Entra למשתמשים כדי להקצות את התפקידים המובנים הבאים ב-Microsoft Entra ID לזהות מנוהלת שהוקצתה למשתמש:

  • קוראי מדריכים
  • בעל הרשאת קריאה בנושא אבטחה

אחרי שמקצים את התפקידים, משלימים את ההגדרה של מחבר Azure.

הגדרת Microsoft Azure באמצעות Terraform

בשלבים הבאים מוסבר איך להשתמש ב-Terraform כדי להגדיר את Microsoft Azure. ההליך הזה לא מקיף. לפרטים נוספים על שימוש ב-Terraform כדי להקצות משאבים, אפשר לעיין במסמכי התיעוד של Terraform ב-Azure.

הורדה של תבניות Terraform

  1. פותחים את הדף Connect to Azure שהשארתם פתוח כשיצרתם את מחבר Azure.

  2. לוחצים על הורדת תבניות Terraform. הקובץ שמכיל כמה קובצי JSON יורד.azure_terraform.zip

הכנת סביבת Terraform

  1. נכנסים ל-Microsoft Azure, ואז פותחים את Azure Cloud Shell עם Bash או Azure PowerShell.

  2. מגדירים את Terraform בהתאם למדיניות הארגון באמצעות אחת מההוראות הבאות:

  3. מעתיקים את הקובץ azure_terraform.zip לסביבת Azure Cloud Shell, ואז מחלצים את התוכן. יוצגו הקבצים הבאים: main.tf.json, outputs.tf.json, providers.tf.json ו-variables.tf.json.

  4. יוצרים עותקים של הקבצים האלה בספרייה נפרדת:

    1. יוצרים ספרייה חדשה כדי לבדוק את קוד Terraform לדוגמה, ומגדירים אותה כספרייה הנוכחית.
    2. בספרייה החדשה שנוצרה, יוצרים עותקים של קובצי ה-JSON שחולצו עם אותו שם כמו של הקובץ המקורי:

      • יוצרים קובץ חדש בשם main.tf.json, ואז מעתיקים ומדביקים את הקוד מהקובץ main.tf.json שחולץ.
      • יוצרים קובץ חדש בשם providers.tf.json, ואז מעתיקים ומדביקים את הקוד מהקובץ providers.tf.json שחולץ.
      • יוצרים קובץ חדש בשם outputs.tf.json, ואז מעתיקים ומדביקים את הקוד מהקובץ outputs.tf.json שחולץ.
      • יוצרים קובץ חדש בשם variables.tf.json, ואז מעתיקים ומדביקים את הקוד מהקובץ variables.tf.json שחולץ.

פריסת תוכנית הביצוע

  1. מריצים את הפקודה הבאה כדי לאתחל את הפריסה של Terraform.

    terraform init -upgrade
    
  2. מריצים את הפקודה הבאה כדי ליצור תוכנית ביצוע.

    terraform plan -out main.tfplan -var="resource_group_name=RESOURCE_GROUP_NAME" -var="user_assigned_managed_identity_name=USER_ASSIGNED_MANAGED_IDENTITY_NAME"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • RESOURCE_GROUP_NAME: השם של קבוצת המשאבים ב-Microsoft Azure שבה תיווצר הזהות המנוהלת שהוקצתה למשתמש.
    • USER_ASSIGNED_MANAGED_IDENTITY_NAME: השם של הזהות המנוהלת שמוקצית למשתמש שרוצים ליצור. אם לא מציינים ערך, ברירת המחדל היא google-cloud-managed-identity.
  3. מריצים את הפקודה הבאה כדי להחיל את תוכנית הביצוע על התשתית של Microsoft Azure.

    terraform apply main.tfplan
    

אחרי שמסיימים את השלבים האלה, משלימים את ההגדרה של מחבר Azure.

השלמת ההגדרה של מחבר Azure

  1. חשוב לוודא שיש לכם את הפרטים הבאים לגבי הזהות המנוהלת שמוקצית למשתמש ב-Microsoft Azure:

    • Client ID: הערך בן 36 התווים שהוקצה לזהות.
    • מזהה האובייקט (החשבון הראשי): הערך בן 36 התווים שמוקצה לזהות.

    מידע על איתור הפרטים האלה זמין במאמר בנושא רשימת זהויות מנוהלות שהוקצו למשתמשים.

  2. פותחים את הדף Connect to Azure שהשארתם פתוח כשיצרתם את מחבר Azure.

  3. בקטע פרטי הזהות המנוהלת ב-Azure, מזינים את הפרטים הבאים:

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

  5. בדף Test connector (בדיקת המחבר), לוחצים על Test Connector (בדיקת המחבר) כדי לוודא ש-Security Command Center יכול להתחבר לסביבת Microsoft Azure.

    אם החיבור מצליח, סוכן השירות יכול להניח את הזהות המנוהלת שהוקצתה למשתמש ב-Microsoft Azure, ויש לו את ההרשאות הנדרשות ב-Microsoft Azure וב-Microsoft Entra. Google Cloud אם החיבור לא מצליח, אפשר לעיין במאמר בנושא פתרון בעיות שגיאה בבדיקת החיבור.

  6. לוחצים על Save. יופיע הדף Connectors.

המחבר מתחיל לסרוק ולאסוף נתונים מהמיקומים וממינויי Azure שציינתם. יכול להיות שיחלפו עד 24 שעות עד שהממצאים יופיעו.

פתרון שגיאות בבדיקת החיבור

בקטע הבא מפורטות שגיאות שיכולות להתרחש כשבודקים את החיבור בין Security Command Center לבין Microsoft Azure, ומוסבר איך לפתור כל אחת מהן.

שגיאה AZURE_ENABLED_SUBSCRIPTIONS_NOT_FOUND

המחבר של Azure לא מצא מינויים פעילים בדייר שמזוהה בשדה מזהה הדייר ב-Azure. כדאי לבדוק את הדברים הבאים:

  • אם האפשרות הוספת מינויים באופן אוטומטי מסומנת, צריך לוודא שהדייר כולל מינויים שנמצאים במצב Enabled ושלא מופיעים בשדה החרגת מינויים ל-Azure.
  • אם האפשרות הוספת מינויים בנפרד מסומנת, צריך לוודא שהמינויים שציינתם נמצאים במצב Enabled.

שגיאה AZURE_FAILED_TO_ASSUME_MANAGED_IDENTITY

החיבור לא תקין כי סוכן השירות Google Cloud לא יכול להניח את הזהות המנוהלת שהוקצתה למשתמש ב-Microsoft Azure. אלה כמה מהסיבות האפשריות:

  • הזהות המנוהלת שהוקצתה למשתמש שצוינה בחיבור לא קיימת או שההגדרה שגויה.
  • יכול להיות שחסרים לזהות המנוהלת שהוקצתה למשתמש, שצוינה בחיבור, פרטי הכניסה של הזהות המאוחדת שנדרשים כדי לבטוח בסוכן השירות של Google Cloud .

כדי לפתור את הבעיה:

שגיאה: AZURE_MANAGED_IDENTITY_MISSING_REQUIRED_PERMISSION

החיבור לא תקין כי לזהות המנוהלת שהוקצתה למשתמש ב-Azure חסר תפקיד נדרש ב-Microsoft Azure או ב-Microsoft Entra. הודעת השגיאה תכלול את התפקיד החסר.

כדי לפתור את הבעיה, צריך לבדוק את ההגדרות שקבעתם כשביצעתם את ההגדרה של תפקידים מובנים ב-Microsoft Azure ושל תפקידים מובנים ב-Microsoft Entra, כדי לוודא שההגדרה נכונה.

שגיאה: AZURE_MANAGED_IDENTITY_ASSUMPTION_FAILED_AND_MISSING_REQUIRED_PERMISSION

החיבור לא תקין כי סוכן השירות לא הצליח להניח את הזהות המנוהלת שהוקצתה למשתמש ב-Microsoft Azure, ובמקביל חסרים לו חלק מהתפקידים הנדרשים ב-Microsoft Azure או ב-Microsoft Entra. Google Cloud

הודעת השגיאה כוללת פרטים על ההיקף שהזהות המנוהלת שהוקצתה למשתמש לא הצליחה להניח, ועל התפקידים שחסרים.

כדי לפתור את הבעיה:

טיפים נוספים לפתרון בעיות

בקטע הבא מתוארות התנהגויות ושלבים אפשריים לטיפול בהן.

התוצאה 'נמצא' מוחזרת עבור משאב Azure שנמחק

אחרי שמוחקים משאב ב-Azure, יכולות לעבור עד 40 שעות עד שהוא יוסר ממערכת מלאי הנכסים של Security Command Center. אם תבחרו לפתור את הממצא על ידי מחיקת המשאב, יכול להיות שהממצא ידווח במהלך התקופה הזו כי הנכס עדיין לא הוסר ממערכת מלאי הנכסים של Security Command Center.

שינוי מחבר Azure קיים

אתם יכולים לשנות מחבר Azure קיים כדי לעדכן הרשאות, להוסיף או להסיר מינויים ל-Azure או לשנות מיקומים. הוראות מפורטות מופיעות במאמר שינוי המחבר ל-Azure.

המאמרים הבאים