חיבור חוצה-עננים ל-Workday Data Lake מאפשר לכם לשלוח שאילתות לנתוני Workday ישירות ב- Google Cloud. היכולת הזו מאחדת את ניתוח הנתונים שלכם על ידי שילוב של מקורות נתונים חיצוניים עם סביבתGoogle Cloud הקיימת שלכם.
לאחר מכן, תוכלו להשתמש ב-borderless Lakehouse כדי לנהל את הגישה לנתונים המאוחדים.
תרחישים לדוגמה
הקישור של Lakehouse ל-Workday Data Lake תומך בכמה תרחישי שימוש מרכזיים:
- איחוד נתונים לצורך ניתוח: אפשר ליצור קורלציה בין נתוני משאבי אנוש ופיצויים של Workday לבין נתוניGoogle Cloud , למשל, כדי לספק הקשר למכירות ולמכסות.
- מינוף האקוסיסטם של Google Cloud: לדוגמה, אפשר להשתמש במסגרת הסוכנים של Google עם BigQuery ML ונתוני משאבי אנוש של Workday כדי לחזות את שיעור שימור העובדים.
- העברת נתונים בזמן אמת ללא העתקה: ניתוח נתונים של רכש ושל חשבונות לתשלום ב-Workday לצד נתונים של לוגיסטיקה ומלאי שמאוחסנים ב-Google Cloud , כדי לדווח על חוסר יעילות בשרשרת האספקה ולבצע אופטימיזציה של עלויות הספקים.
לפני שמתחילים
- כדאי לעיין בסקירה הכללית על Lakehouseכדי להבין איך Lakehouse מנהל את הגישה לנתונים.
- כדי להבין איך זה עובד, אפשר לקרוא על גישה לנתונים חוצי-ענן.
- כדי לוודא תאימות, כדאי לעיין בקטלוגים הנתמכים.
- הסבר על שימוש בסודות אזוריים של Secret Manager כדי לבצע אימות ב-Workday Data Lake.
- כדאי לפנות לאדמינים של Workday Data Lake כדי להגדיר אימות כמו שמתואר במסמך הזה. יכול להיות שאדמינים יצטרכו לפנות לתמיכה של Workday כדי להפעיל גישה ל-Data Lake, וזה יכול לקחת זמן.
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Secret Manager APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Secret Manager APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת גישה חוצת-עננים (cross-cloud), צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
ניהול קטלוגים של Lakehouse:
אדמין BigLake (
roles/biglake.admin) -
ניהול סודות:
אדמין Secret Manager (
roles/secretmanager.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מגבלות ושיקולים
בקטע הזה מפורטות המגבלות והשיקולים לגבי גישה לנתונים חוצי-ענן.
- קריאה בלבד: קטלוגים מאוחדים ב-Lakehouse הם תצוגות לקריאה בלבד של הקטלוג המרוחק. אין תמיכה במניפולציה של משאבים (למשל יצירה, עדכון או מחיקה של משאבים), וצריך לבצע אותה ישירות בקטלוג המרוחק.
- עדכניות הנתונים: הדגל
--refresh-intervalבקטלוג מאוחד קובע את תדירות הסנכרון של המטא-נתונים. הערך צריך להיות0s(מושבת) או לפחות300s(5 דקות). יכול להיות שרענון המטא-נתונים ברקע של קטלוג ייקח יותר זמן ככל שיש יותר משאבים של מרחבי שמות וטבלאות. אם החידוש הקודם חורג מהזמן, החידוש הנוכחי יידחה, אבל החידוש הבא יתוזמן במרווח הבא. - שמירת נתונים במטמון ב-Lakehouse: שמירת נתונים במטמון ב-Lakehouse מופעלת באופן אוטומטי לכל השאילתות חוצות הענן כדי לחסוך בעלויות של תעבורת נתונים יוצאת על ידי אחסון בלוקים של נתונים באופן מקומי ב- Google Cloud. אין תמיכה במפתחות הצפנה בניהול הלקוח (CMEK) לצורך שמירה במטמון. הנתונים שנשמרים במטמון מוצפנים באמצעות Google-owned and Google-managed encryption keys. אם האילוץ
constraints/gcp.restrictNonCmekServicesשל מדיניות הארגון נאכף על טבלה כלשהי בשאילתה, השמירה במטמון מושבתת באופן אוטומטי עבור השאילתה הזו. מידע נוסף זמין במאמר בנושא שמירה חכמה במטמון. - מיקום הנתונים ותאימות: כשיוצרים קטלוג מאוחד או חיבור באזור Google Cloud , הנתונים שנשמרים במטמון מאוחסנים באותו אזור יעד. אם נתוני הענן המרוחקים שלכם נמצאים בתחום שיפוט אחר, צריך לוודא שהשמירה במטמון בין אזורים עומדת בדרישות של הארגון בנוגע למיקום אחסון הנתונים ולעמידה בתקנות.
תהליך עבודה כללי
כדי לגשת לנתונים חוצי-עננים (cross-cloud) ב-Workday Data Lake, פועלים לפי השלבים הבאים:
- הגדרת איחוד: מגדירים אימות מבוסס-סוד ויוצרים קטלוג מאוחד ב-Lakehouse.
- ב-Workday, מגדירים את פרטי הכניסה ל-Data Lake ול-Workday API.
- יוצרים סוד ב-Secret Manager עם פרטי הכניסה של Workday API.
- יוצרים קטלוג מאוחד ב-Lakehouse ומעניקים לחשבון השירות של הקטלוג גישה לסוד.
- בודקים את החיבור: מוודאים ש-Lakehouse יכול להתחבר לקטלוג המרוחק ולסנכרן את המטא-נתונים.
- שליחת שאילתות לנתונים: אתם יכולים להריץ שאילתות על הנתונים המאוחדים באמצעות BigQuery או Managed Service for Apache Spark. מידע נוסף זמין במאמר בנושא שאילתות על נתונים מרוחקים.
- הגדרת הרשאות: משתמשים בממשק של ניהול הזהויות והרשאות הגישה (IAM) כדי לקבוע למי תהיה אפשרות לצפות בנתונים המאוחדים ולשאול עליהם שאילתות.
הגדרת איחוד
כדי לשלוח שאילתות על הנתונים, צריך להגדיר קטלוג מאוחד של Lakehouse שמחובר ל-Workday Data Lake המרוחק.
הגדרת אימות
כדי להשתמש באיחוד, צריך לבצע אימות ב-Workday Data Lake המרוחק באמצעות פרטי כניסה שמאוחסנים בצורה מאובטחת בסודות של Secret Manager האזורי.
ב-Workday, מבצעים את הפעולות הבאות:
- מגדירים את אגם הנתונים.
- רישום לקוח API ל-Data Lake (הרשאת טוקן רענון).
- הגדרת אבטחה וייצוא טבלאות ב-Data Lake.
הוראות מלאות להשלמת התהליך הזה זמינות במאמר תחילת העבודה עם Workday Data Lake.
יוצרים קובץ JSON בשם
credentials.jsonעם פרטי הכניסה מהשלב הקודם:{ "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "refresh_token": "REFRESH_TOKEN" }
מחליפים את מה שכתוב בשדות הבאים:
-
CLIENT_ID: מזהה הלקוח ב-OAuth מלקוח ה-API של Workday לשילובים. -
CLIENT_SECRET: סוד לקוח OAuth מלקוח Workday API for Integrations. -
REFRESH_TOKEN: אסימון הרענון שלא פג תוקפו שנוצר עבור Workday ISU.
-
מגדירים את נקודת הקצה האזורית של Secret Manager:
כברירת מחדל, Secret Manager משתמש בנקודת קצה גלובלית. כדי להימנע מבעיות בקישוריות ולמזער את זמן האחזור ואת עלויות העברת הנתונים, מומלץ ליצור את הסוד ואת הקטלוג באותו אזור. כדי לשנות את נקודת הקצה הגלובלית שמוגדרת כברירת מחדל לסוד אזורי, מריצים את הפקודה הבאה:
gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: ה Google Cloud אזור שבו מאחסנים את הסוד ב-Secret Manager. לדוגמה:us-east4.
-
מעלים את מטען הייעודי (payload) ל-Secret Manager:
gcloud secrets create WORKDAY_SECRET_NAME \ --location="REGION" \ --project="PROJECT_ID" \ --data-file=credentials.json
כדי למנוע דליפת פרטי כניסה, מוחקים את הקובץ
credentials.jsonבצורה מאובטחת.מחליפים את מה שכתוב בשדות הבאים:
-
WORKDAY_SECRET_NAME: שם ייחודי לסוד של Workday ב-Secret Manager, לדוגמה,workday-api-credentialsאוworkday-data-lake-secret. -
REGION: Google Cloud האזור שבו יוצרים את הסוד, לדוגמה,us-east4. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
-
יצירת קטלוג מאוחד
יוצרים את הקטלוג המאוחד באמצעות מסוף Google Cloud או gcloud CLI:
המסוף
כדי ליצור קטלוג מאוחד:
במסוף Google Cloud , עוברים אל Lakehouse.
לוחצים על יצירת קטלוג ואז על קטלוג מאוחד.
מופיע הדף יצירת קטלוג מאוחד.
בקטע Catalog configuration (הגדרת קטלוג):
- ברשימה מקור קטלוג מאוחד, בוחרים באפשרות Workday (Data Lake).
- בשדה Catalog name (in Lakehouse), מזינים שם לקטלוג.
- ברשימה Data location, בוחרים את האזור שבו רוצים ליצור את הקטלוג המאוחד, לדוגמה,
us-east4. האזור הזה צריך להיות זהה לאזור של הסוד ב-Secret Manager. כדי לצמצם את זמן האחזור ואת עלויות העברת הנתונים, כשבוחרים אזור צריך לבצע את הפעולות הבאות:- אם מופע Workday שלכם נמצא ב-Amazon Web Services (AWS), בוחרים אתGoogle Cloud האזור הכי קרוב לאזור AWS שלכם.
- אם מופעלת מכונת Workday Google Cloud, צריך לבחור את אותו אזור בדיוק.
- לוחצים על Continue.
בקטע פרטי החיבור:
- בקטע פרטים של קטלוג מרוחק:
- בשדה Workday Base URL (כתובת בסיסית של Workday), מזינים את כתובת הבסיס של מופע Workday. לדוגמה,
impl-services1.wd12.myworkday.comאוwd501.myworkday.com. - בשדה Workday Tenant (דייר Workday), מזינים את שם הדייר ב-Workday. לדוגמה,
google_dp3.
- בשדה Workday Base URL (כתובת בסיסית של Workday), מזינים את כתובת הבסיס של מופע Workday. לדוגמה,
- בקטע Authentication Method (שיטת אימות), בשדה Secret Manager Secret (סוד של Secret Manager), מזינים את שם המשאב של הסוד האזורי. משתמשים בפורמט הבא:
projects/PROJECT_ID/locations/REGION/secrets/WORKDAY_SECRET_NAME. - בקטע מרווח רענון, בשדה מרווח רענון, מזינים את התדירות (בשניות) שבה יתעדכנו המטא-נתונים של הקטלוג (לדוגמה,
300). כדי להשבית את הרענון ברקע, מזינים0.
- בקטע פרטים של קטלוג מרוחק:
לוחצים על יצירה.
CLI של gcloud
כדי ליצור קטלוג מאוחד באמצעות gcloud CLI, מריצים את הפקודה הבאה:
gcloud alpha biglake iceberg catalogs create FEDERATED_CATALOG_NAME \ --project="PROJECT_ID" \ --primary-location="REGION" \ --catalog-type="federated" \ --federated-catalog-type="workday" \ --secret-name="projects/PROJECT_ID/locations/REGION/secrets/WORKDAY_SECRET_NAME" \ --workday-base-url="WORKDAY_BASE_URL" \ --workday-tenant="WORKDAY_TENANT" \ --refresh-interval="REFRESH_INTERVAL" \ --namespace-filters="NAMESPACE_FILTERS"
מחליפים את מה שכתוב בשדות הבאים:
-
FEDERATED_CATALOG_NAME: שם לקטלוג המאוחד ב-Lakehouse. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: האזור של Lakehouse שבו יוצרים את הקטלוג המאוחד, לדוגמה,us-east4. האזור הזה צריך להיות זהה לאזור שבו שמרתם את הסוד. כדי לצמצם את זמן האחזור ואת עלויות העברת הנתונים, כשבוחרים אזור צריך לבצע את הפעולות הבאות:- אם מופעלת בדומיין שלכם מערכת Workday ב-AWS, צריך לבחור אתGoogle Cloud האזור שהכי קרוב לאזור AWS שלכם.
- אם מופע Workday שלכם נמצא ב- Google Cloud, בוחרים את אותו האזור בדיוק.
-
WORKDAY_SECRET_NAME: השם של הסוד שלכם ב-Workday ב-Secret Manager. -
WORKDAY_BASE_URL: כתובת ה-URL הבסיסית של מופע Workday. לדוגמה,impl-services1.wd12.myworkday.comאוwd501.myworkday.com. -
WORKDAY_TENANT: שם הדייר ב-Workday. -
REFRESH_INTERVAL: אופציונלי: מציין את התדירות שבה המידע בקטלוג מתעדכן. מגדירים את הערך הזה כמשך זמן, למשל300sאו5m. אם בוחרים במרווחי זמן קצרים יותר, הנתונים מתעדכנים בתדירות גבוהה יותר, אבל עלות הפעלות ה-API עשויה להיות גבוהה יותר. מרווחים ארוכים יותר יכולים להיות זולים יותר, אבל יכול להיות שהנתונים שנשלחו בשאילתה לא ישקפו את קבוצת הנתונים העדכנית ביותר שלכם. אם לא מציינים ערך, מרווח הרענון מוגדר כברירת מחדל ל-5 דקות (300s). אם מגדירים את הערך ל-0s, רענון המטא-נתונים ברקע מושבת. -
NAMESPACE_FILTERS: אופציונלי: רשימה מופרדת בפסיקים של מרחבי שמות לאיחוד, לדוגמה,finance,hr. אם לא מציינים מרחב שמות, Lakehouse כולל את כל מרחבי השמות.
השלמת הגדרת האימות
אחרי שיוצרים את הקטלוג, Lakehouse מקצה לו חשבון שירות ייחודי, שמזוהה כ-biglake-service-account בתיאור המשאב.
צריך להקצות לחשבון השירות הזה את התפקיד Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) בסוד שיצרתם קודם.
יכול להיות שיחלפו כמה דקות עד שהמדיניות החדשה ב-IAM תיכנס לתוקף.
המסוף
במסוף Google Cloud , עוברים אל Lakehouse.
לוחצים על השם של הקטלוג המאוחד שיצרתם עבור Workday.
בדף Catalog details, בבאנר ההתראה, לוחצים על Grant secret permissions.
Lakehouse מקצה לחשבון השירות שהוקצה את התפקיד
roles/secretmanager.secretAccessorבסוד.
CLI של gcloud
מעניקים לחשבון השירות של הקטלוג הרשאה לגשת לסוד:
gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/ gcloud secrets add-iam-policy-binding WORKDAY_SECRET_NAME \ --project="PROJECT_ID" \ --location="REGION" \ --member="serviceAccount:$(gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \ --project="PROJECT_ID" \ --format='value(biglake-service-account)')" \ --role="roles/secretmanager.secretAccessor"
כדי לוודא שלחשבון השירות של קטלוג מאוחד יש גישה לסוד, מריצים את הפקודה הבאה:
gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/ gcloud secrets get-iam-policy WORKDAY_SECRET_NAME \ --project="PROJECT_ID" \ --location="REGION"
בפלט, מוודאים שלחשבון השירות
biglake-service-accountיש את התפקידroles/secretmanager.secretAccessor.
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: האזור Google Cloud שבו מאוחסן הסוד של Secret Manager ושבו נוצר הקטלוג המאוחד, לדוגמה,us-east4. -
WORKDAY_SECRET_NAME: השם של הסוד שלכם ב-Workday ב-Secret Manager. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
FEDERATED_CATALOG_NAME: השם של הקטלוג המאוחד ב-Lakehouse.
אימות החיבור
מוודאים שרענון המטא-נתונים ברקע הושלם בהצלחה ושהמרחבים והטבלאות שלכם סונכרנו.
מוודאים שסטטוס הרענון מציין שהפעולה הצליחה:
gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \ --project="PROJECT_ID"
מוודאים שמרחבי השמות מסונכרנים:
gcloud alpha biglake iceberg namespaces list \ --project="PROJECT_ID" \ --catalog="FEDERATED_CATALOG_NAME"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
FEDERATED_CATALOG_NAME: השם של הקטלוג המאוחד ב-Lakehouse.