שילוב של מאגר משאבי ענן עם Google SecOps

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

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

השילוב של מאגר משאבי ענן משתמש ביכולות של Google SecOps כדי לתמוך בתרחישי השימוש הבאים:

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

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

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

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

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

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

  1. יוצרים חשבון שירות.

  2. יצירת תפקיד IAM בהתאמה אישית.

  3. מקצים את התפקידים הנדרשים לחשבון השירות.

  4. בוחרים אחת משיטות האימות הבאות ומגדירים אותה:

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

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

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

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

  1. במסוף Google Cloud , נכנסים לדף Credentials.

    כניסה לדף Credentials

  2. בתפריט Create credentials, בוחרים באפשרות Service account.

  3. מזינים שם בשדה Service account name ולוחצים על Create and continue.

  4. מדלגים על המסכים האופציונליים של הקצאת תפקידים וגישה לחשבונות משתמשים, בלחיצה על Continue > Done.

  5. מעתיקים את כתובת האימייל של חשבון השירות כדי להשתמש בה בשלבי ההגדרה.

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

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

  1. במסוף Google Cloud , נכנסים לדף IAM & Admin > Roles.

    לדף Roles

  2. לוחצים על Create role, נותנים לתפקיד Title (למשל SecOps Asset Searcher) ו-ID ייחודי.

  3. מגדירים את שלב ההשקה של התפקיד לזמינות לכלל המשתמשים (GA).

  4. לוחצים על Add Permissions ומוסיפים את cloudasset.assets.searchAllResources.

  5. לוחצים על יצירה.

הקצאת תפקידים לחשבון השירות

כדי לאפשר לשילוב לגשת למשאבים, מקצים את התפקידים הבאים לחשבון השירות:

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

  2. מאתרים את חשבון השירות ולוחצים על editEdit principal.

  3. לוחצים על Add another role ובוחרים את התפקידים הבאים:

    • תפקיד ה-IAM בהתאמה אישית שיצרתם בשלב הקודם.

    • צפייה בנכסים בענן.

    • Service Usage Consumer (נדרש רק אם משתמשים ב-Quota Project ID).

  4. לוחצים על Save.

הגדרת פרטי הכניסה של Workload Identity

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

זיהוי המופע הייחודי של הזהות

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

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

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

  3. לוחצים על שמירה > בדיקה. הבדיקה צפויה להיכשל.

  4. לוחצים על close_small משמאל ל-Test ומחפשים בהודעת השגיאה את כתובת האימייל של הזהות שמתחילה ב-gke-init-python@... או ב-soar-python@....

  5. מעתיקים את כתובת האימייל הייחודית הזו.

אישור זהות המכונה ב- Google Cloud

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

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

    לדף Service accounts

  2. בוחרים את חשבון השירות הרצוי ועוברים אל Permissions > Grant Access.

  3. מדביקים את כתובת האימייל הייחודית בשדה New principals ומקצים את התפקיד Service Account Token Creator (roles/iam.serviceAccountTokenCreator).

מתן גישה לפרויקט המכסות

כשמבצעים אימות באמצעות Workload Identity, צריך לציין Quota Project ID בהגדרות השילוב כדי לעקוב אחרי השימוש ב-API והחיוב.

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

  1. במסוף Google Cloud , נכנסים לדף IAM & Admin > IAM ובוחרים את הפרויקט.

    כניסה לדף IAM

  2. מאתרים את חשבון השירות ברשימת חשבונות המשתמשים ולוחצים על edit(Edit principal) בחשבון הזה.

  3. לוחצים על Add another role ובוחרים את התפקיד Service Usage Consumer (roles/serviceusage.serviceUsageConsumer).

  4. לוחצים על Save.

הגדרת מפתח JSON

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

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

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

    לדף Service accounts

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

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

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

  5. מעתיקים את כל התוכן של הקובץ הזה ומדביקים אותו ב-User's Service Account במהלך הגדרת השילוב.

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

כדי לשלב את מאגר משאבי הענן, צריך להגדיר את הפרמטרים הבאים:

פרמטר תיאור
API Root חובה

ה-API הבסיסי של המכונה של מאגר משאבי הענן.

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

Organization ID אופציונלי

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

Project ID אופציונלי

מזהה הפרויקט שבו משתמשים לשילוב עם מאגר משאבי ענן. אם לא מציינים ערך, השילוב מאחזר את מזהה הפרויקט מתוכן קובץ ה-JSON שצוין בפרמטר User's Service Account.

User's Service Account חובה

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

Quota Project ID אופציונלי

מזהה הפרויקט ב- Google Cloud שמשמש לממשקי ה-API ולחיוב ב- Google Cloud . כדי להשתמש בפרמטר הזה, צריך להקצות לחשבון השירות את התפקיד Service Usage Consumer.

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

Workload Identity Email אופציונלי.

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

Verify SSL חובה

אם בוחרים באפשרות הזו, השילוב מאמת את אישור ה-SSL כשמתחברים לשרת של מאגר משאבי ענן.

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

איך מגדירים שילובים ב-Google SecOps

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

פעולות

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

העשרת המשאב

משתמשים בפעולה Enrich Resource כדי להעשיר את המידע על משאב Google Cloudבאמצעות מאגר משאבי ענן.

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

כדי להגדיר את הפעולה Enrich Resource, משתמשים בפרמטרים הבאים:

פרמטר תיאור
Resource Names חובה

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

כדי להגדיר את הפרמטר הזה, מזינים את השם המלא של משאב המטא-נתונים בפורמט הבא: //cloudresourcemanager.googleapis.com/projects/PROJECT_ID.

Fields To Return אופציונלי

רשימה מופרדת בפסיקים של שדות שיוחזרו.

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

דוגמאות לערכים: assetType, project, folders, organization, displayName, description, location, labels, networkTags, kmsKeys, createTime, updateTime, state, additionalAttributes, parentFullResourceName, parentAssetType.

הפעולה תמיד מחזירה את השדה displayName.

אפשר גם להגדיר מסננים מתקדמים. לדוגמה, כדי להחזיר מפתח ספציפי מ-additionalAttributes, מזינים additionalAttributes.{key}. כדי להחריג מפתח ספציפי מ-additionalAttributes, מזינים את הערך -additionalAttributes.{key}.

ערכי פלט של פעולות

הפעולה Enrich Resource מספקת את הפלטים הבאים:

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

הדוגמה הבאה מראה את פלט התוצאה ב-JSON שמתקבל כשמשתמשים בפעולה Enrich Resource:

[
  {
    "Entity": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT/keys/KEY_ID",
    "EntityResult": {
      "additionalAttributes": {
        "email": "email@example.iam.gserviceaccount.com",
        "uniqueId": 123456789
      },
      "name": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT/keys/KEY_ID",
      "assetType": "iam.googleapis.com/ServiceAccountKey",
      "project": "projects/PROJECT",
      "displayName": "projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com/keys/KEY_ID",
      "createTime": "2022-05-26T17:35:07Z",
      "versionedResources": [
        {
          "version": "v1",
          "resource": {
            "keyAlgorithm": "KEY_ALG_RSA_2048",
            "keyOrigin": "GOOGLE_PROVIDED",
            "keyType": "USER_MANAGED",
            "name": "projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com/keys/KEY_ID",
            "validAfterTime": "2022-05-26T17:35:07Z",
            "validBeforeTime": "9999-12-31T23:59:59Z"
          }
        }
      ],
      "organization": "organizations/ORGANIZATION",
      "parentFullResourceName": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com",
      "parentAssetType": "iam.googleapis.com/ServiceAccount"
    }
  }
]
הודעות פלט

הפעולה Enrich Resource יכולה להחזיר את הודעות הפלט הבאות:

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

Successfully enriched the following resources using information from Google Cloud Asset Inventory: ASSET_IDENTIFIER

Action wasn't able to enrich the following resources using information from Google Cloud Asset Inventory: ASSET_IDENTIFIER

None of the provided resources were enriched.

הפעולה בוצעה בהצלחה.
Error executing action "Enrich resources". Reason: ERROR_REASON

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

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

תוצאת הסקריפט

בטבלה הבאה מפורטים הערכים של פלט תוצאת הסקריפט כשמשתמשים בפעולה Enrich Resource:

שם תוצאת הסקריפט ערך
is_success True או False

קבלת תמונת מצב של המשאב

כדי לקבל מידע על המשאב באמצעות "מאגר משאבי ענן", משתמשים בפעולה Get Resource Snapshot.

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

כדי להגדיר את הפעולה Get Resource Snapshot, משתמשים בפרמטרים הבאים:

פרמטר תיאור
Resource Names חובה

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

כדי להגדיר את הפרמטר הזה, מזינים את השם המלא של משאב המטא-נתונים בפורמט הבא: //cloudresourcemanager.googleapis.com/projects/PROJECT_ID.

Fields To Return אופציונלי

רשימה מופרדת בפסיקים של שדות שיוחזרו.

מזינים כל שדה בפורמט הבא:

assets.FIELD

דוגמאות לערכים: assets.asset.name, assets.asset.assetType, assets.asset.resource.data.

הפעולה תמיד מחזירה את השדה assets.asset.name.

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

ערכי פלט של פעולות

הפעולה Get Resource Snapshot מספקת את הפלטים הבאים:

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

בדוגמאות הבאות מוצגים פלטים של תוצאות JSON שמתקבלים כשמשתמשים בפעולה Get Resource Snapshot:

תוצאת JSON של Google Cloud
    [
 {
   "Entity": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/example-instance",
   "EntityResult": {
     "window": {
       "startTime": "2023-08-14T19:43:41.805828Z",
       "endTime": "2262-04-11T23:47:16.854775807Z"
     },
     "asset": {
       "name": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/example-instance",
       "assetType": "compute.googleapis.com/Instance",
       "resource": {
         "version": "v1",
         "discoveryDocumentUri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest",
         "discoveryName": "Instance",
         "parent": "//cloudresourcemanager.googleapis.com/projects/example-project-id",
         "data": {
           "description": "",
           "serviceAccounts": [
             {
               "email": "user@example.com",
               "scopes": [
                 "https://www.googleapis.com/auth/devstorage.read_only",
                 "https://www.googleapis.com/auth/logging.write",
                 "https://www.googleapis.com/auth/monitoring.write",
                 "https://www.googleapis.com/auth/servicecontrol",
                 "https://www.googleapis.com/auth/service.management.readonly",
                 "https://www.googleapis.com/auth/trace.append"
               ]
             }
           ],
           "lastStartTimestamp": "2022-05-26T01:44:52.756-07:00",
           "deletionProtection": false,
           "name": "example-name",
           "keyRevocationActionType": "NONE_ON_KEY_REVOCATION",
           "canIpForward": false,
           "shieldedInstanceIntegrityPolicy": {
             "updateAutoLearnPolicy": true
           },
           "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
           "resourceStatus": {},
           "scheduling": {
             "onHostMaintenance": "MIGRATE",
             "preemptible": false,
             "provisioningModel": "STANDARD",
             "automaticRestart": true
           },
           "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/machineTypes/e2-micro",
           "confidentialInstanceConfig": {
             "enableConfidentialCompute": false
           },
           "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance",
           "id": "example-id",
           "fingerprint": "example-fingerprint",
           "startRestricted": false,
           "networkInterfaces": [
             {
               "network": "https://www.googleapis.com/compute/v1/projects/example-project/global/networks/example-network",
               "stackType": "IPV4_ONLY",
               "name": "example",
               "subnetwork": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/subnetworks/example-network-subnet",
               "accessConfigs": [
                 {
                   "type": "ONE_TO_ONE_NAT",
                   "name": "External NAT",
                   "natIP": "192.0.2.1",
                   "networkTier": "PREMIUM"
                 }
               ],
               "fingerprint": "example-fingerprint",
               "networkIP": "203.0.113.2"
             }
           ],
           "allocationAffinity": {
             "consumeAllocationType": "ANY_ALLOCATION"
           },
           "labelFingerprint": "example-label",
           "shieldedInstanceConfig": {
             "enableSecureBoot": false,
             "enableVtpm": true,
             "enableIntegrityMonitoring": true
           },
           "cpuPlatform": "Intel Broadwell",
           "creationTimestamp": "2022-05-26T01:44:40.323-07:00",
           "status": "RUNNING",
           "disks": [
             {
               "guestOsFeatures": [
                 {
                   "type": "VIRTIO_SCSI_MULTIQUEUE"
                 },
                 {
                   "type": "SEV_CAPABLE"
                 },
                 {
                   "type": "UEFI_COMPATIBLE"
                 },
                 {
                   "type": "GVNIC"
                 }
               ],
               "interface": "SCSI",
               "shieldedInstanceInitialState": {
                 "dbxs": [
                   {
                     "content": "2gcDBhMRFQAAAAAAAAAAABENAAAAAvEOndK",
                     "fileType": "BIN"
                   }
                 ],
                 "dbx": [
                   {
                     "fileType": "BIN",
                     "content": "2gcDBhMRFQAAAAAAAAAAABENAAAAAvEOndK"
                   }
                 ]
               },
               "diskSizeGb": "10",
               "deviceName": "example-device-name",
               "type": "PERSISTENT",
               "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/disks/example-instance",
               "boot": true,
               "licenses": [
                 "https://www.googleapis.com/compute/v1/projects/example-project/global/licenses"
               ],
               "index": 0,
               "autoDelete": true,
               "mode": "READ_WRITE"
             }
           ],
           "tags": {
             "items": [
               "http-server"
             ],
             "fingerprint": "example-fingerprint"
           },
           "displayDevice": {
             "enableDisplay": false
           },
           "reservationAffinity": {
             "consumeReservationType": "ANY_ALLOCATION"
           }
         },
         "location": "us-central1-a"
       },
       "ancestors": [
         "projects/example-project-id",
         "organizations/example-org-id"
       ],
       "updateTime": "2023-08-14T19:43:41.805828Z"
     }
   }
 },
 {
   "Entity": "//iam.googleapis.com/projects/example-project/serviceAccounts/example-account-id",
   "EntityResult": {
     "window": {
       "startTime": "2023-12-22T13:37:50Z",
       "endTime": "2262-04-11T23:47:16.854775807Z"
     },
     "asset": {
       "name": "//iam.googleapis.com/projects/example-project/serviceAccounts/example-account-id",
       "assetType": "iam.googleapis.com/ServiceAccount",
       "resource": {
         "version": "v1",
         "discoveryDocumentUri": "https://iam.googleapis.com/$discovery/rest",
         "discoveryName": "ServiceAccount",
         "parent": "//cloudresourcemanager.googleapis.com/projects/example-project-id",
         "data": {
           "name": "projects/example-project/serviceAccounts/cloud-asset-inventory-auto@example-project.iam.gserviceaccount.com",
           "projectId": "example-project",
           "email": "cloud-asset-inventory-auto@example-project.iam.gserviceaccount.com",
           "uniqueId": "example-account-id",
           "displayName": "Cloud Asset Inventory Automation",
           "oauth2ClientId": "example-account-id"
         }
       },
       "ancestors": [
         "projects/example-project-id",
         "organizations/example-org-id"
       ],
       "updateTime": "2023-12-22T13:37:50Z"
     }
   }
 }
]
תוצאת JSON ל-AWS
[
   {
       "Entity": "//cloudasset.googleapis.com/organizations/example-org-id/otherCloudConnections/aws/arn:aws:s3:::aps-max-test-bucket",
       "EntityResult": {
           "assets": [
               {
                   "window": {
                       "startTime": "2024-01-24T17:51:03.412233028Z",
                       "endTime": "2262-04-11T23:47:16.854775807Z"
                   },
                   "asset": {
                       "name": "//cloudasset.googleapis.com/organizations/example-org-id/otherCloudConnections/aws/arn:aws:s3:::aps-max-test-bucket",
                       "assetType": "cloudasset.googleapis.com/AWS::S3::Bucket",
                       "resource": {
                           "version": "v1",
                           "discoveryDocumentUri": "n/a",
                           "discoveryName": "n/a",
                           "data": {
                               "dataSourceProvider": "AMAZON_WEB_SERVICES",
                               "supplementaryConfigurations": {
                                   "PublicAccessBlockConfiguration": {
                                       "BlockPublicPolicy": true,
                                       "RestrictPublicBuckets": true,
                                       "BlockPublicAcls": true,
                                       "IgnorePublicAcls": true
                                   },
                                   "TagSet": [
                                       {
                                           "Key": "my-key2",
                                           "Value": "my-value2"
                                       },
                                       {
                                           "Key": "my-key1",
                                           "Value": "my-value1"
                                       }
                                   ],
                                   "ServerSideEncryptionConfiguration": {
                                       "Rules": [
                                           {
                                               "ApplyServerSideEncryptionByDefault": {
                                                   "SSEAlgorithm": "AES256"
                                               },
                                               "BucketKeyEnabled": true
                                           }
                                       ]
                                   },
                                   "AccessControlPolicy": {
                                       "Grants": [
                                           {
                                               "Grantee": {
                                                   "DisplayName": "example",
                                                   "ID": "example-id",
                                                   "Type": "CanonicalUser"
                                               },
                                               "Permission": "FULL_CONTROL"
                                           }
                                       ],
                                       "Owner": {
                                           "DisplayName": "example",
                                           "ID": "example-id"
                                       }
                                   }
                               },
                               "configuration": {
                                   "Name": "aps-max-test-bucket",
                                   "CreationDate": "2023-12-04T15:29:50+00:00"
                               },
                               "tags": {
                                   "my-key2": "my-value2",
                                   "my-key1": "my-value1"
                               },
                               "originalResourceName": "arn:aws:s3:::aps-max-test-bucket",
                               "awsAccount": "arn:aws:organizations::example-id:account/example-account/example-account-id"
                           },
                           "location": "global"
                       },
                       "ancestors": [
                           "organizations/example-org-id"
                       ],
                       "updateTime": "2024-01-24T17:51:03.412233028Z"
                   }
               }
           ]
       }
   }
]
הודעות פלט

הפעולה Get Resource Snapshot יכולה להחזיר את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully returned information about the following resources using Google Cloud Asset Inventory: ASSET_IDENTIFIER

Action wasn't able to return information about the following resources using Google Cloud Asset Inventory: ASSET_IDENTIFIER.

No information was found for the provided resources.

הפעולה בוצעה בהצלחה.
Error executing action "Get Resource Snapshot". Reason: ERROR_REASON

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

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

תוצאת הסקריפט

בטבלה הבאה מפורטים הערכים של פלט תוצאת הסקריפט כשמשתמשים בפעולה Get Resource Snapshot:

שם תוצאת הסקריפט ערך
is_success True או False

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

משתמשים בפעולה List Service Account Roles כדי להציג רשימה של תפקידים שקשורים לחשבון השירות Google Cloud באמצעות "מאגר משאבי ענן".

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

כדי להגדיר את הפעולה List Service Account Roles, משתמשים בפרמטרים הבאים:

פרמטר תיאור
Service Accounts חובה

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

Check Roles אופציונלי

רשימה מופרדת בפסיקים של תפקידים שצריך לבדוק ביחס לחשבון השירות, כמו roles/cloudasset.owner.

Check Permissions אופציונלי

רשימה מופרדת בפסיקים של הרשאות שצריך לבדוק ביחס לחשבון השירות, כמו cloudasset.assets.listResource .

Expand Permissions אופציונלי

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

האפשרות הזו לא מסומנת כברירת מחדל.

Max Roles To Return חובה

מספר התפקידים שקשורים לחשבון השירות שצריך להחזיר.

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

Max Permissions To Return חובה

מספר ההרשאות שקשורות לחשבון השירות שצריך להחזיר.

ערכי פלט של פעולות

הפעולה List Service Account Roles מספקת את הפלטים הבאים:

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

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

{
   "roles": ["role1", "role2"],
   "unique_permissions": ["permission1", "permission2"]
}
הודעות פלט

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

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

Successfully enriched for the following service accounts using information from Google Cloud Asset Inventory: ASSET_IDENTIFIER

Action wasn't able to enrich the following service accounts using information from Google Cloud Asset Inventory: ASSET_IDENTIFIER

None of the service accounts were enriched.

הפעולה בוצעה בהצלחה.
Error executing action "List Service Account Roles". Reason: ERROR_REASON

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

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

פינג

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

הפעולה הזו לא פועלת על ישויות של Google SecOps.

קלט של הפעולה

אין.

ערכי פלט של פעולות

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

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

הפעולה Ping יכולה להחזיר את הודעות הפלט הבאות:

הודעת פלט תיאור ההודעה
Successfully connected to the Google Cloud Asset Inventory server with the provided connection parameters! הפעולה בוצעה בהצלחה.
Failed to connect to the Google Cloud Asset Inventory server! הפעולה נכשלה.
תוצאת הסקריפט

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

שם תוצאת הסקריפט ערך
is_success True או False

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