איסוף יומני AWS IAM

גרסת כלי הניתוח: 1.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע נתוני הגדרה של ניהול זהויות והרשאות גישה (IAM) ב-AWS ב-Google Security Operations באמצעות פיד של API של צד שלישי.

כלי הניתוח של AWS IAM הופך את נתוני הישות של IAM (משתמשים, קבוצות, תפקידים ומדיניות) למודל נתונים מאוחד (UDM) מובנה, ומוציא שדות כמו פרטי משתמש, מידע על תפקידים, הרשאות וחותמות זמן לניתוח אבטחה עקבי.

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

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מכונה של Google SecOps
  • גישה עם הרשאות למסוף AWS
  • הרשאות ליצירת משתמשים וכללי מדיניות ב-IAM

קבלת טווחי כתובות ה-IP של Google SecOps

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. רושמים את טווחי כתובות ה-IP שמוצגים בחלק העליון של הדף.
    • אפשר גם לאחזר טווחים של כתובות IP באופן פרוגרמטי באמצעות Feed Management API.

יצירת משתמש IAM עם ההרשאות הנדרשות

חשוב: כדי לאפשר ל-Google SecOps לאחזר נתוני AWS IAM באמצעות ה-API, צריך ליצור משתמש IAM עם הרשאות קריאה מתאימות.

  1. יוצרים משתמש לפי ההוראות במדריך הזה: יצירת משתמש IAM.
  2. בוחרים את המשתמש שנוצר.
  3. לוחצים על הכרטיסייה פרטי כניסה מאובטחים.
  4. בקטע Access Keys, לוחצים על Create Access Key.
  5. בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.
  6. לוחצים על הבא.
    • אופציונלי: מוסיפים תג תיאור.
  7. לוחצים על Create access key (יצירת מפתח גישה).
  8. לוחצים על הורדת קובץ CSV כדי לשמור את מזהה מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
  9. לוחצים על סיום.
  10. לוחצים על הכרטיסייה הרשאות.
  11. בקטע Permissions policies, לוחצים על Add permissions.
  12. לוחצים על הוספת הרשאות.
  13. בוחרים באפשרות צירוף מדיניות ישירות.
  14. מחפשים את IAMReadOnlyAccess (מדיניות מנוהלת של AWS).
  15. בוחרים את המדיניות.
  16. לוחצים על הבא.
  17. לוחצים על הוספת הרשאות.

חשוב: המדיניות IAMReadOnlyAccess כוללת את כל ההרשאות הנדרשות:

  • iam:GetUser
  • iam:ListUsers
  • iam:GetGroup
  • iam:ListGroups
  • iam:GetPolicy
  • iam:ListPolicies
  • iam:GetRole
  • iam:ListRoles
  • iam:ListAttachedUserPolicies
  • iam:ListAttachedGroupPolicies
  • iam:ListAttachedRolePolicies
  • iam:GetAccountSummary

אפשרות ב': יצירת מדיניות בהתאמה אישית (הרשאות מינימליות)

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

  1. במסוף AWS, עוברים אל IAM > Policies > Create policy > הכרטיסייה JSON.
  2. מדביקים את המדיניות הבאה:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "iam:GetUser",
            "iam:ListUsers",
            "iam:GetGroup",
            "iam:ListGroups",
            "iam:GetPolicy",
            "iam:ListPolicies",
            "iam:GetRole",
            "iam:ListRoles",
            "iam:ListAttachedUserPolicies",
            "iam:ListAttachedGroupPolicies",
            "iam:ListAttachedRolePolicies",
            "iam:GetAccountSummary"
          ],
          "Resource": "*"
        }
      ]
    }
    
  3. לוחצים על הבא.

  4. נותנים למדיניות את השם chronicle-iam-api-read-policy.

  5. לוחצים על יצירת מדיניות.

  6. יוצרים משתמש לפי ההוראות במדריך הזה: יצירת משתמש IAM.

  7. בוחרים את המשתמש שנוצר.

  8. לוחצים על הכרטיסייה פרטי כניסה מאובטחים.

  9. בקטע Access Keys, לוחצים על Create Access Key.

  10. בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.

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

    • אופציונלי: מוסיפים תג תיאור.
  12. לוחצים על Create access key (יצירת מפתח גישה).

  13. לוחצים על הורדת קובץ CSV כדי לשמור את מזהה מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.

  14. לוחצים על סיום.

  15. לוחצים על הכרטיסייה הרשאות.

  16. בקטע Permissions policies, לוחצים על Add permissions.

  17. לוחצים על הוספת הרשאות.

  18. בוחרים באפשרות Attach policies directly.

  19. מחפשים את האפשרות chronicle-iam-api-read-policy ולוחצים עליה.

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

  21. לוחצים על הוספת הרשאות.

הגדרת פיד ב-Google SecOps כדי להטמיע נתוני הגדרות של IAM

פיד AWS IAM אוסף רשימה אחת של ישויות IAM לכל פיד, שנבחרה על ידי השדה API type (Users,‏ Roles או Groups). כדי לאסוף את כל ישויות ה-IAM, יוצרים פיד אחד לכל סוג API, כולם באמצעות סוג היומן AWS IAM.

  1. עוברים אל מרכז התוכן > חבילות תוכן > תחילת העבודה.
  2. לוחצים על החבילה Amazon Cloud Platform.
  3. מוצאים ברשימה את סוג היומן AWS IAM.
  4. בתפריט הנפתח סוג המקור, בוחרים באפשרות API של צד שלישי.
  5. מזינים את פרטי ההגדרה הבאים:
    • שם משתמש: מזהה מפתח הגישה של משתמש ה-IAM שנוצר קודם.
    • ‫Secret: מפתח הגישה הסודי ממשתמש IAM שנוצר קודם.
    • סוג ה-API: בוחרים את רשימת ישויות ה-IAM לאיסוף: משתמשים, תפקידים או קבוצות.
    • שם הפיד: ערך שמאכלס מראש את השדה ומזהה את הפיד (לדוגמה, AWS IAM Users).
    • מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
    • תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
  6. לוחצים על יצירת פיד.

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

שימוש בהגדרות SIEM

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה שם הפיד, מזינים שם לפיד (לדוגמה, AWS IAM API Configuration).
  5. בוחרים באפשרות API של צד שלישי בתור סוג המקור.
  6. בוחרים באפשרות AWS IAM בתור סוג היומן.
  7. לוחצים על הבא.
  8. מציינים ערכים לפרמטרים הבאים של הקלט:
    • שם משתמש: מזהה מפתח הגישה של משתמש ה-IAM שנוצר קודם לכן.
    • ‫Secret: מפתח הגישה הסודי ממשתמש IAM שנוצר קודם.
    • סוג ה-API: בוחרים את רשימת הישויות של IAM שרוצים לאסוף: משתמשים, תפקידים או קבוצות.
    • מרחב השמות של הנכס: מרחב השמות של הנכס.
    • תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה.
  9. לוחצים על הבא.
  10. בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
Group.CreateDate entity.group.attribute.creation_time ניתוח הכתובות שברשימה: ISO8601
Group.Path entity.group.attribute.labels.value מיפוי ישיר
IsTruncated entity.group.attribute.labels.value מיפוי ישיר
Marker entity.group.attribute.labels.value מיפוי ישיר
Group.GroupName entity.group.email_addresses ממוזג
Group.GroupName entity.group.group_display_name מיפוי ישיר
Group.GroupID entity.group.product_object_id מיפוי ישיר
RoleLastUsed.Region entity.location.name מיפוי ישיר
CreateDate entity.resource.attribute.creation_time ניתוח הכתובות שברשימה: ISO8601
MaxSessionDuration entity.resource.attribute.labels.value מיפוי ישיר
Path entity.resource.attribute.labels.value מיפוי ישיר
RoleLastUsed.LastUsedDate entity.resource.attribute.labels.value מיפוי ישיר
AssumeRolePolicyDocument entity.resource.attribute.permissions.name מיפוי ישיר
Description entity.resource.attribute.roles.description מיפוי ישיר
RoleName entity.resource.attribute.roles.name מיפוי ישיר
Arn entity.resource.name מיפוי ישיר
Group.Arn entity.resource.name מיפוי ישיר
RoleID entity.resource.product_object_id מיפוי ישיר
CreateDate entity.user.attribute.creation_time נותח בתור ISO8601
PasswordLastUsed entity.user.last_login_time נותח בתור ISO8601
UserID entity.user.product_object_id מיפוי ישיר
UserName entity.user.userid מיפוי ישיר
PermissionsBoundary.PermissionsBoundaryArn relations.entity.resource.attribute.labels.value מיפוי ישיר
PermissionsBoundary.PermissionsBoundaryType relations.entity.resource.attribute.labels.value מיפוי ישיר
user.PermissionsBoundary.PermissionsBoundaryArn relations.entity.resource.attribute.labels.value מיפוי ישיר
user.PermissionsBoundary.PermissionsBoundaryType relations.entity.resource.attribute.labels.value מיפוי ישיר
user.Arn relations.entity.resource.name מיפוי ישיר
user.CreateDate relations.entity.user.attribute.creation_time ניתוח הכתובות שברשימה: ISO8601
tag.Key relations.entity.user.attribute.labels.key מיפוי ישיר
Path relations.entity.user.attribute.labels.value מיפוי ישיר
tag.Value relations.entity.user.attribute.labels.value מיפוי ישיר
user.Path relations.entity.user.attribute.labels.value מיפוי ישיר
user.PasswordLastUsed relations.entity.user.last_login_time ניתוח הכתובות שברשימה: ISO8601
user.UserID relations.entity.user.product_object_id מיפוי ישיר
user.UserName relations.entity.user.userid מיפוי ישיר
לא רלוונטי entity.group.attribute.labels.key קבוע: is_truncated
לא רלוונטי entity.resource.attribute.cloud.environment קבוע: AMAZON_WEB_SERVICES
לא רלוונטי entity.resource.attribute.labels.key קבוע: max_session_duration
לא רלוונטי entity.resource.resource_subtype קבוע: User
לא רלוונטי entity.resource.resource_type קבוע: ACCESS_POLICY
לא רלוונטי metadata.entity_type קבוע: USER
לא רלוונטי metadata.product_name קבוע: AWS IAM
לא רלוונטי metadata.vendor_name קבוע: AWS
לא רלוונטי relations.direction קבוע: UNIDIRECTIONAL
לא רלוונטי relations.entity.resource.attribute.labels.key קבוע: permissions_boundary_arn
לא רלוונטי relations.entity.resource.resource_subtype קבוע: User
לא רלוונטי relations.entity.user.attribute.labels.key קבוע: path
לא רלוונטי relations.entity_type קבוע: USER
לא רלוונטי relations.relationship קבוע: MEMBER

יומן שינויים

צפייה ביומן השינויים של המנתח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.