שילוב של Google Cloud IAM עם Google SecOps

במאמר הזה מוסבר איך לשלב את Google Cloud ניהול הזהויות והרשאות הגישה (IAM) עם Google Security Operations.

תרחישים לדוגמה

שילוב Google Cloud IAM תומך בתרחישי השימוש הבאים:

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

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

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

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

  • ניהול בקרת גישה מבוססת-תפקידים (RBAC): יצירה וניהול של תפקידי IAM בהתאמה אישית עם קבוצות הרשאות ספציפיות בכל הארגון, כדי לשמור על שליטה מדויקת בגישה לסביבת הענן.

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

לפני שמגדירים את השילוב של Google Cloud IAM ב-Google SecOps, צריך לבצע את השלבים המקדימים הבאים:

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

  2. יצירת חשבון שירות: יוצרים את הזהות שמשמשת את האינטגרציה לביצוע פעולות.

  3. בחירת שיטת אימות: בוחרים בין Workload Identity המומלצת לבין מפתח JSON של חשבון שירות.

יצירה והגדרה של תפקיד IAM בהתאמה אישית

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

  1. במסוף Google Cloud , עוברים אל IAM & Admin > Roles.

  2. לוחצים על Create Role.

  3. מזינים שם פריט, תיאור ומזהה.

  4. מגדירים את Role launch stage ל-General Availability.

  5. לוחצים על Add Permissions ומוסיפים את ההרשאות הספציפיות הבאות:

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  6. לוחצים על יצירה.

יצירה של חשבון שירות

השילוב משתמש בחשבון שירות כדי לבצע אימות ולהפעיל פעולות IAM בפרויקט.

כדי ליצור חשבון שירות:

  1. במסוף Google Cloud , נכנסים אל IAM & Admin > Service Accounts.

  2. לוחצים על יצירת חשבון שירות.

  3. מזינים שם ותיאור ולוחצים על יצירה והמשך.

  4. בקטע Grant this service account access to project (הענקת גישה של חשבון השירות הזה לפרויקט), מקצים לחשבון השירות הזה את התפקיד המותאם אישית שיצרתם בשלב הקודם. לוחצים על סיום.

בחירה של שיטת אימות

‫Google SecOps תומך בשתי דרכים לאימות השילוב הזה:

  • אפשרות 1: Workload Identity (מומלץ): בשיטה הזו נעשה שימוש באסימונים לטווח קצר באמצעות התחזות לחשבון שירות. השיטה הזו מאובטחת יותר כי היא מבטלת את הצורך במפתחות JSON לטווח ארוך.

  • אפשרות 2: מפתח JSON של חשבון שירות: בשיטה הזו נעשה שימוש בקובץ מפתח סטטי. משתמשים בשיטה הזו רק אם Workload Identity לא זמין בסביבה שלכם.

אימות באמצעות Workload Identity (מומלץ)

כדי להשתמש ב-Workload Identity, צריך לתת לאירוע של Google SecOps הרשאה להתחזות לחשבון השירות שיצרתם.

  1. ב-Google SecOps, עוברים אל Content Hub > Response Integrations.

  2. בוחרים בשילוב Google Cloud IAM.

  3. מזינים את כתובת האימייל בחשבון השירות בשדה Workload Identity Email.

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

  5. כדי לראות את הודעת השגיאה, לוחצים על close_small לצד הבדיקה שנכשלה.

  6. מחפשים את כתובת האימייל הייחודית (בפורמט gke-init-python@... או soar-python@...) שמופיעה לקראת סוף הודעת השגיאה. מעתיקים את הכתובת הזו.

מתן הרשאות להתחזות

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

  1. במסוף Google Cloud , נכנסים אל IAM & Admin > Service Accounts.

  2. בוחרים את חשבון השירות שיצרתם לאינטגרציה הזו.

  3. עוברים לכרטיסייה Permissions ולוחצים על Grant Access.

  4. מדביקים את כתובת האימייל הייחודית שהעתקתם בשדה New principals.

  5. מקצים את התפקיד יצירת אסימונים בחשבון שירות (roles/iam.serviceAccountTokenCreator) ולוחצים על שמירה.

אימות באמצעות מפתח JSON

אם אי אפשר להשתמש ב-Workload Identity בסביבה שלכם, אתם יכולים לאמת את השילוב באמצעות מפתח JSON של חשבון שירות. השיטה הזו מסתמכת על קובץ סודי סטטי לטווח ארוך כדי ליצור את החיבור בין הפלטפורמה לבין משאבי Google Cloud הענן שלכם.

  1. במסוף Google Cloud , נכנסים אל IAM & Admin > Service Accounts ובוחרים את חשבון השירות.

  2. עוברים לכרטיסייה Keys.

  3. לוחצים על Add Key > Create new key.

  4. בוחרים באפשרות JSON בתור סוג המפתח ולוחצים על Create. הקובץ יורד למחשב.

  5. מעתיקים את כל התוכן של קובץ ה-JSON.

  6. כשמגדירים את השילוב הזה בפלטפורמה, מדביקים את התוכן בשדה Service Account Json File Content.

פרמטרים של שילוב

השילוב של Google Cloud IAM דורש את הפרמטרים הבאים:

פרמטר תיאור
API Root

זה שינוי אופציונלי.

כתובת ה-URL הבסיסית של Google Cloud מופע IAM.

ערך ברירת המחדל הוא https://iam.googleapis.com.

Account Type

זה שינוי אופציונלי.

סוג החשבון Google Cloud .

הערך הזה תואם לפרמטר type בקובץ ה-JSON של האימות.

ערך ברירת המחדל הוא service_account.

Project ID

זה שינוי אופציונלי.

מזהה הפרויקט של Google Cloud החשבון.

הערך הזה תואם לפרמטר project_id בקובץ ה-JSON של האימות.

Quota Project ID

זה שינוי אופציונלי.

מזהה הפרויקט שמשמש לצורכי מכסה וחיוב כששולחים בקשות API.

Private Key ID

זה שינוי אופציונלי.

המזהה של המפתח הפרטי של החשבון Google Cloud .

הערך הזה תואם לפרמטר private_key_id בקובץ ה-JSON של האימות.

Private Key

זה שינוי אופציונלי.

המפתח הפרטי של חשבון Google Cloud .

הערך הזה תואם לפרמטר private_key בקובץ ה-JSON של האימות.

Client Email

זה שינוי אופציונלי.

כתובת האימייל של הלקוח בחשבון Google Cloud .

הערך הזה תואם לפרמטר client_email בקובץ ה-JSON של האימות.

Client ID

זה שינוי אופציונלי.

מספר הלקוח של חשבון Google Cloud .

הערך הזה תואם לפרמטר client_id בקובץ ה-JSON של האימות.

Auth URI

זה שינוי אופציונלי.

ה-URI לאימות של חשבון Google Cloud .

הערך הזה תואם לפרמטר auth_uri בקובץ ה-JSON של האימות.

ערך ברירת המחדל הוא https://accounts.google.com/o/oauth2/auth.

Token URI

זה שינוי אופציונלי.

ה-URI של הטוקן עבור החשבון Google Cloud .

הערך הזה תואם לפרמטר token_uri בקובץ ה-JSON של האימות.

ערך ברירת המחדל הוא https://oauth2.googleapis.com/token.

Auth Provider X509 URL

זה שינוי אופציונלי.

כתובת ה-URL של אישור X.509 של ספק האימות.

הערך הזה תואם לפרמטר auth_provider_x509_cert_url בקובץ ה-JSON של האימות.

ערך ברירת המחדל הוא https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

זה שינוי אופציונלי.

כתובת ה-URL של אישור X.509 של הלקוח.

הערך הזה תואם לפרמטר client_x509_cert_url בקובץ ה-JSON של האימות.

Organization ID

זה שינוי אופציונלי.

המזהה הייחודי של הארגון Google Cloud .

Service Account Json File Content

זה שינוי אופציונלי.

התוכן המלא של קובץ ה-JSON של מפתח חשבון השירות.

אם הפרמטר הזה מסופק, המערכת מתעלמת מפרמטרים נפרדים של חיבור (כמו Private Key ID ו-Private Key).

Workload Identity Email

זה שינוי אופציונלי.

כתובת האימייל שמשויכת לחשבון השירות של Workload Identity.

Verify SSL

זה שינוי אופציונלי.

אם האפשרות הזו נבחרה, השילוב מאמת את אישור ה-SSL כשמתחברים לשירות Google Cloud IAM.

מופעל כברירת מחדל.

הוראות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.

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

פעולות

מידע נוסף על פעולות זמין במאמרים איך מגיבים לפעולות שממתינות לאישור ב-Your Workdesk ואיך מבצעים פעולה ידנית.

יצירה של תפקיד

יוצרים תפקיד בניהול הזהויות והרשאות הגישה (IAM).

פרמטרים

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

ריצה

הפעולה לא מופעלת בישויות.

דוגמה לקובץ JSON של מדיניות תפקיד

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]"
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעלת הפעולה הצליחה:(is_success=true)

    • נוצר בהצלחה תפקיד ניהול זהויות והרשאות גישה (IAM) מספר <roleid>.

  • If provided role_id already exists(is_success =false)

    • מזהה התפקיד שצוין, <role_id>, כבר קיים.

  • אם קובץ ה-JSON של התפקיד שסופק לא תקין (is_success =false)

    • מסמך ה-JSON של הגדרת התפקיד <role json> שסופק לא תקין.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'יצירת תפקיד'. הסיבה: {0}''.format(error.Stacktrace)

כללי

יצירת חשבון שירות

יוצרים חשבון שירות לניהול זהויות והרשאות גישה.

פרמטרים

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

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "projectId": "PROJECT_ID",
   "uniqueId": "UNIQUE_ID",
   "email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
   "etag": "ETAG_VALUE",
   "description": "SERVICE_ACCOUNT_DESCRIPTION",
   "oauth2ClientId": "UNIQUE_ID"
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעלת הפעולה הצליחה:(is_success=true)

    • Google Cloud חשבון השירות נוצר בהצלחה <מזהה ייחודי>.
  • אם הפעלת הפעולה נכשלה כי חשבון השירות שצוין כבר קיים(is_success =false)

    • חשבון השירות שצוין <מזהה ייחודי> כבר קיים.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'יצירת חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

מחיקת תפקיד

מחיקת תפקיד בניהול זהויות והרשאות גישה (IAM).

פרמטרים

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

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]",
   "deleted": true
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעלת הפעולה הצליחה:(is_success=true)

    • תפקיד ניהול הזהות והרשאות הגישה (IAM) <roleid> נמחק בהצלחה.

  • If provided role_id not exists(is_success =false)

    • מזהה התפקיד שצוין, <role_id>, לא קיים.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'מחיקת תפקיד'. הסיבה: {0}''.format(error.Stacktrace)

כללי

מחיקה של חשבון שירות

מחיקת חשבון שירות. הפעולה מצפה לכתובת האימייל בחשבון של חשבון שירות לניהול זהויות והרשאות גישה (IAM) בתור ישות משתמש של Google SecOps.

ריצה

הפעולה הזו מופעלת בישות User.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעולה בוצעה בהצלחה לפחות לאחת מהישויות שסופקו: 'החשבונות הבאים של שירותים נמחקו בהצלחה: {0}'.format([entity.Identifier]).

  • אם לא הצלחתם למחוק את כל הישויות שצוינו: "לא נמחקו חשבונות שירות".

  • אם לא הצלחתם למצוא נתונים בניהול זהויות וגישה כדי למחוק ישויות ספציפיות: "לא נמצאה התאמה בניהול זהויות וגישה לישויות שסופקו: {0}".format([entity.identifier])

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'מחיקת חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

השבתת חשבון שירות

משביתים את חשבון השירות. הפעולה מצפה לכתובת האימייל בחשבון שירות לניהול זהויות והרשאות גישה (IAM) בתור ישות משתמש של Google SecOps.

ריצה

הפעולה הזו מופעלת בישות User.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעולה הצליחה לפחות באחת מהישויות שצוינו: 'השבתנו בהצלחה את חשבונות השירות הבאים: {0}'.format([entity.Identifier]).

  • אם לא הצלחתם להשבית את כל הישויות שצוינו: "לא הושבתו חשבונות שירות".

  • אם לא הצלחתם למצוא נתונים ב Google Cloud ניהול זהויות וגישה כדי להשבית ישויות ספציפיות: "הפעולה לא הצליחה למצוא התאמה ב Google Cloud ניהול זהויות וגישה לישויות שסופקו: {0}".format([entity.identifier])

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'השבתת חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

הפעלת חשבון שירות

מפעילים את חשבון השירות. הפעולה מצפה לכתובת האימייל בחשבון שירות לניהול זהויות והרשאות גישה (IAM) בתור ישות משתמש של Google SecOps.

ריצה

הפעולה הזו מופעלת בישות User.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעולה הצליחה לפחות באחת מהישויות שצוינו: 'הפעלת חשבונות השירות הבאים הצליחה: {0}'.format([entity.Identifier]).

  • אם לא הצלחתם להפעיל את כל הישויות שצוינו: "לא הופעלו חשבונות שירות".

  • אם לא הצלחתם למצוא נתונים בממשק לניהול הזהויות והרשאות הגישה כדי להפעיל ישויות ספציפיות: "לא נמצאה התאמה בממשק לניהול הזהויות והרשאות הגישה לישויות שסופקו: {0}".format([entity.identifier])

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'הפעלת חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

העשרת ישויות

העשרת ישויות משתמשים ב-Google SecOps במידע על חשבונות שירות מתוך ניהול הזהויות והרשאות הגישה. הפעולה מצפה לכתובת האימייל בחשבון שירות לניהול זהויות והרשאות גישה (IAM) בתור ישות משתמש של Google SecOps.

ריצה

הפעולה הזו מופעלת בישות User.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
  "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "projectId": "[PROJECT_ID]",
  "uniqueId": "[UNIQUE_ID]",
  "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "displayName": "[DISPLAY_NAME]",
  "etag": "[ETAG]",
  "description": "[DESCRIPTION]",
  "oauth2ClientId": "[UNIQUE_ID]"
}
העשרה של ישויות
שם שדה ההעשרה לוגיקה – מתי להחיל
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעולה בוצעה בהצלחה ולפחות אחת מהישויות שסופקו עברה העשרה: 'העשרת הישויות הושלמה בהצלחה: {0}'.format([entity.Identifier]).
  • אם לא ניתן להעשיר את כל הישויות שסופקו: 'לא בוצע העשרה של אף ישות'.
  • אם לא נמצאו נתונים ב-Identity and Access Management להעשרת ישויות ספציפיות: 'לא נמצאה התאמה ב-Identity and Access Management להעשרת הישויות שסופקו: {0}'.format([entity.identifier])

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'הוספת פרטים לישויות'. הסיבה: {0}''.format(error.Stacktrace)

כללי
טבלה (העשרה)

שם הטבלה: טבלת העשרה של {entity}

עמודות: מפתח, ערך

ישות

קבלת מדיניות IAM לגבי חשבון שירות

מקבל את מדיניות בקרת הגישה לחשבון השירות. הפעולה מצפה לכתובת האימייל בחשבון של חשבון שירות של 'ניהול זהויות והרשאות גישה' (IAM) בתור ישות משתמש של Google SecOps. שימו לב שהמדיניות עשויה להיות ריקה אם לא הוקצתה מדיניות לחשבון השירות.

ריצה

הפעולה הזו מופעלת בישות User.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעלת הפעולה הצליחה:(is_success=true)

    • ‫"Successfully fetched Identity and Access Management policy for the following Google Cloud Service Accounts: <email id1, email id 2...>
  • אם הפעולה לא מצאה מידע על הישות (לדוגמה, אם היא לא קיימת ב-Google Identity and Access Management) כתובת האימייל שסופקה:

    • לא הייתה אפשרות לאחזר את מדיניות ניהול הזהויות והרשאות הגישה (IAM) של חשבונות השירות הבאים: <email id1, email id2 ..> Google Cloud
  • אם לא נמצאה מדיניות של ניהול זהויות והרשאות גישה (IAM) לאף אחת מהישויות שצוינו: "לא נמצאה מדיניות של ניהול זהויות והרשאות גישה (IAM) לאף אחת מהישויות שצוינו".

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'קבלת מדיניות IAM של חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

הצגת רשימת התפקידים

מציג רשימה של תפקידים בניהול זהויות והרשאות גישה (IAM) על סמך קריטריונים ספציפיים לחיפוש. הערה: הפעולה לא פועלת בישויות של Google SecOps.

פרמטרים

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

ריצה

הפעולה לא מופעלת בישויות.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       }
   ]
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

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

  • אם אין ערכים זמינים(is_success = false): 'לא הוחזרו תפקידים עבור פרמטרי הקלט שצוינו'.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, באזור לא תקין, בשגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'רשימת תפקידים'. הסיבה: {0}''.format(error.Stacktrace)

כללי
טבלה

שם הטבלה: Google Cloud IAM Roles

עמודות הטבלה:

שם התפקיד

שם התפקיד

תיאור התפקיד

שלב התפקיד

Role Etag

הרשאות תפקידים

כללי

הצגת רשימה של חשבונות שירות

מציג רשימה של חשבונות שירות של ניהול זהויות והרשאות גישה (IAM) על סמך קריטריוני החיפוש שצוינו. הערה: הפעולה לא פועלת בישויות של Google SecOps.

פרמטרים

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

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
  "accounts": [
    {
      "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "projectId": "[PROJECT_ID]",
      "uniqueId": "[UNIQUE_ID]",
      "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "displayName": "[DISPLAY_NAME]",
      "etag": "[ETAG_VALUE]",
      "description": "[SERVICE_ACCOUNT_DESCRIPTION]",
      "oauth2ClientId": "[UNIQUE_ID]"
    }
  ]
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם רשימת חשבונות השירות נוצרה בהצלחה (is_success = true):
    "Successfully fetched Google Cloud service accounts."
  • אם אין ערכים זמינים(is_success = false): "No service accounts were returned for the specified input parameters."

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, באזור לא תקין, בשגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'רשימת חשבונות שירות'". הסיבה: {0}''.format(error.Stacktrace)

כללי
טבלה

שם הטבלה: Google Cloud Service Accounts

עמודות הטבלה:

שם חשבון השירות

מזהה ייחודי של חשבון שירות

כתובת האימייל של חשבון השירות

השם המוצג של חשבון השירות

תיאור חשבון השירות

מזהה לקוח ב-Oauth2 של חשבון שירות

כללי

פינג

בודקים את הקישוריות לשירות לניהול הזהויות והגישה (IAM) באמצעות הפרמטרים שמופיעים בכרטיסייה Google Security Operations Marketplace בדף הגדרת השילוב.

פרמטרים

לא רלוונטי

ריצה

הפעולה הזו לא מופעלת על ישויות.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם הפעולה בוצעה בהצלחה: "Successfully connected to the Identity and Access Management service with the provided connection parameters!" (החיבור לשירות ניהול הזהויות והרשאות הגישה בוצע בהצלחה עם פרמטרי החיבור שסופקו).

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

  • אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים או אובדן קישוריות: "החיבור לשירות ניהול הזהויות והרשאות הגישה נכשל! השגיאה היא {0}".format(exception.stacktrace)
כללי

החלפת מפתחות של חשבונות שירות

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

הפעולה הזו מופעלת בישויות הבאות של Google SecOps:

  • Deployment

  • Username

הוספת נתונים לפעולה

הפעולה Rotate Service Account Keys (החלפת מפתחות של חשבונות שירות) דורשת את הפרמטרים הבאים:

פרמטר תיאור
Service Account

זה שינוי אופציונלי.

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

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

פלט של פעולות

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

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

בדוגמה הבאה מוצג פלט התוצאה ב-JSON שמתקבל כשמשתמשים בפעולה Rotate Service Account Keys:

[
    {
       "Entity": "123",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    },
    {
       "Entity": "1234",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    }
]
הודעות פלט

הפעולה Rotate Service Account Keys יכולה להחזיר את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה

Successfully rotated keys for service account SERVICE_ACCOUNT_EMAIL in Google Cloud IAM.

The following service accounts were not found in Google Cloud IAM: SERVICE_ACCOUNT_KEYS.

None of the provided service accounts were found in Google Cloud IAM.

הפעולה הסתיימה בהצלחה.
Error executing action "Rotate Service Account Keys". Reason: ERROR_REASON

הפעולה נכשלה.

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

תוצאת סקריפט

בטבלה הבאה מפורט הערך של פלט התוצאה של הסקריפט כשמשתמשים בפעולה Rotate Service Account Keys:

שם התוצאה של הסקריפט ערך
is_success true או false

הגדרת מדיניות IAM לחשבון שירות

מגדירה את מדיניות בקרת הגישה בחשבון השירות שצוין. הפעולה מצפה לכתובת האימייל בחשבון שירות לניהול זהויות וגישה (IAM) בתור ישות בחשבון Google SecOps. שימו לב: המדיניות שמופיעה בפעולה מחליפה כל מדיניות קיימת.

פרמטרים

שם התצוגה של הפרמטר סוג ערך ברירת המחדל חובה תיאור
מדיניות String לא רלוונטי כן מציינים מסמך מדיניות בפורמט JSON להגדרה עבור חשבון השירות.

ריצה

הפעולה הזו מתבצעת בישות Account.

תוצאות הפעולה

תוצאת סקריפט
שם תוצאת התסריט אפשרויות ערך
is_success is_success=False
is_success is_success=True
תוצאת JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Case Wall
סוג התוצאה ערך/תיאור סוג
הודעת פלט*

הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה:

  • אם חלק מהפעולות הצליחו (is_success=True):

    • הגדרת מדיניות ניהול זהויות והרשאות גישה (IAM) בוצעה בהצלחה עבור חשבונות השירות הבאים: <email id1, ...> Google Cloud

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

    • לא הייתה אפשרות להגדיר מדיניות של ניהול זהויות והרשאות גישה (IAM) עבור חשבונות השירות הבאים: Google Cloud <email id1, ....>

  • אם כל הפעולות נכשלו:

    • לא הוגדרו כללי מדיניות של ניהול זהויות והרשאות גישה (IAM) לחשבון השירות.

  • אם קובץ ה-JSON של המדיניות שסופק לא תקין (is_success =false)

    • מסמך ה-JSON של המדיניות שסופק, [policy], לא תקין.

הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה:

אם מדובר בשגיאה קריטית, שגיאת SDK, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'הגדרת מדיניות IAM של חשבון שירות'. הסיבה: {0}''.format(error.Stacktrace)

כללי

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