שילוב של Snowflake עם Google SecOps

במאמר הזה מוסבר איך לשלב את Snowflake עם Google Security Operations ‏ (Google SecOps).

נקודות קצה

השילוב עם Snowflake משתמש בנקודות הקצה הבאות של Snowflake API:

  • ‫/api/statements?async=false: משמש לבדיקת החיבור למופע Snowflake. נקודת הקצה הזו מריצה שאילתה פשוטה כדי לאמת את הקישוריות.

  • ‫/api/statements?async=true: משמש לשליחת שאילתות מותאמות אישית ופשוטות ל-Snowflake. הפרמטר async=true תומך בהרצה אסינכרונית ומאפשר לפעולות לאחזר מערכי נתונים גדולים בלי לחסום את פלטפורמת Google SecOps.

  • ‫/api/statements/QUERY_ID: משמש לאחזור התוצאות של שאילתה שנשלחה קודם. השילוב מחליף את placeholder QUERY_ID במזהה הייחודי שהנקודה /api/statements?async=true מחזירה.

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

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

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

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

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

השילוב עם Snowflake דורש את הפרמטרים הבאים:

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

חובה.

הבסיס של ה-API במופע Snowflake.

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

Account

חובה.

השם של חשבון Snowflake.

Username

חובה.

שם המשתמש לגישה ל-Snowflake.

Private Key

חובה.

מפתח פרטי לאימות.

Verify SSL

חובה.

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

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

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

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

פעולות

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

ביצוע שאילתה מותאמת אישית

משתמשים בפעולה Execute Custom Query (הפעלת שאילתה מותאמת אישית) כדי להפעיל שאילתה מותאמת אישית ב-Snowflake.

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

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

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

הפעולה Execute Custom Query (הפעלת שאילתה מותאמת אישית) דורשת את הפרמטרים הבאים:

פרמטר תיאור
Query

חובה.

שאילתת ה-SQL להרצה ב-Snowflake.

הפעולה מוסיפה באופן אוטומטי את מילת המפתח LIMIT לשאילתה. אל תגדירו את מילת המפתח LIMIT באופן ידני.

השאילתה תומכת רק במירכאות בודדות.

Database

חובה.

השם של מסד הנתונים ב-Snowflake שעליו רוצים להריץ שאילתה.

Schema

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

שם הסכמה במסד הנתונים שצוין שאליו רוצים לשלוח שאילתה.

Max Results To Return

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

המספר המקסימלי של תוצאות שיוחזרו מהשאילתה לכל הפעלה של פעולה.

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

פלט של פעולות

הפעולה Execute Custom Query (הפעלת שאילתה בהתאמה אישית) מספקת את הפלטים הבאים:

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

בדוגמה הבאה מוצג פלט של תוצאת JSON שהתקבל כשמשתמשים בפעולה Execute Custom Query:

{
    "C_CUSTKEY": "CUSTOMER_KEY",
    "C_NAME": "Customer#ID",
    "C_ADDRESS": "9Ii4zQn9cX",
    "C_NATIONKEY": "14",
    "C_PHONE": "800-555-0175"

}
הודעות פלט

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

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

Successfully executed query "QUERY" in Snowflake.

No results were found for the query "QUERY" in Snowflake.

הפעולה הסתיימה בהצלחה.
Error executing action "Execute Custom Query". Reason: ERROR_REASON

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

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

תוצאת סקריפט

בטבלה הבאה מפורט הערך של פלט תוצאת הסקריפט כשמשתמשים בפעולה Execute Custom Query:

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

ביצוע שאילתה פשוטה

משתמשים בפעולה Execute Simple Query כדי להריץ שאילתה שמבוססת על הפרמטרים שצוינו.

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

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

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

הפעולה Execute Simple Query (ביצוע שאילתה פשוטה) דורשת את הפרמטרים הבאים:

פרמטר תיאור
Database

חובה.

השם של מסד הנתונים שאליו מתבצעת השאילתה.

Table

חובה.

שם הטבלה שעליה רוצים להריץ שאילתה.

Schema

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

שם הסכימה לשאילתה.

Where Filter

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

הפסקה WHERE לסינון תוצאות השאילתה.

אל תשתמשו במילות המפתח LIMIT או SORT. אל תגדירו את המחרוזת WHERE במטען הייעודי (payload).

השאילתה תומכת רק במירכאות בודדות.

Fields To Return

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

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

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

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

Sort Field

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

הערך שלפיו ימוינו התוצאות.

Sort Order

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

סדר המיון (עולה או יורד).

הערכים האפשריים הם:

  • ASC
  • DESC

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

Max Results To Return

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

המספר המקסימלי של תוצאות שיוחזרו לכל הפעלה של פעולה.

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

פלט של פעולות

הפעולה Execute Simple Query מספקת את הפלט הבא:

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

בדוגמה הבאה מוצג פלט תוצאות ה-JSON שמתקבל כשמשתמשים בפעולה Execute Simple Query:

{
    "C_CUSTKEY": "CUSTOMER_KEY",
    "C_NAME": "Customer#ID",
    "C_ADDRESS": "9Ii4zQn9cX",
    "C_NATIONKEY": "14",
    "C_PHONE": "800-555-0175"

}
הודעות פלט

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

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

Successfully executed query "QUERY" in Snowflake.

No results were found for the query "QUERY" in Snowflake.

הפעולה הסתיימה בהצלחה.
Error executing action "Execute Simple Query". Reason: ERROR_REASON

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

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

תוצאת סקריפט

בטבלה הבאה מפורט הערך של פלט תוצאת הסקריפט כשמשתמשים בפעולה Execute Simple Query:

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

פינג

משתמשים בפעולה Ping כדי לבדוק את הקישוריות ל-Snowflake.

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

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

אין.

פלט של פעולות

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

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

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

הודעת פלט תיאור ההודעה
Successfully connected to the Snowflake server with the provided connection parameters! הפעולה הסתיימה בהצלחה.
Failed to connect to the Snowflake server! The error is ERROR_REASON

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

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

תוצאת סקריפט

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

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

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