VPC Service Controls הוא Google Cloud תכונה שמאפשרת להגדיר מתחם אבטחה היקפית כדי להגן מפני זליגת נתונים. במדריך הזה מוסבר איך לכלול עבודות של Cloud Scheduler בגבולות גזרה של VPC Service Controls.
מגבלות
ההגבלות הבאות חלות על התמיכה של VPC Service Controls ב-Cloud Scheduler.
פעולות שנאכפות
האכיפה של VPC Service Controls מתבצעת רק בפעולות הבאות:
- יצירת משימה ב-Cloud Scheduler
- עדכונים לגבי משימות ב-Cloud Scheduler
למה זה חשוב?
מכיוון ש-VPC Service Controls נאכף רק כשיוצרים משימות וכשמעדכנים אותן, הוא לא נאכף באופן אוטומטי על משימות שנוצרו לפני שהוספתם את Cloud Scheduler להיקף של VPC Service Controls. העבודות ממשיכות להתבצע גם אם יעדי העבודה לא נכללים בהיקף של VPC Service Controls או שהם לא יעדים נתמכים. כדי לאכוף את VPC Service Controls על כל המשימות ב-Cloud Scheduler:
- משימות עם יעדים שלא נתמכים או שנמצאים מחוץ להיקף שלכם: מוחקים את המשימות. להסבר, ראו איך מוחקים משרות שלא עומדות בדרישות.
- משימות עם יעדים שנתמכים ונמצאים בתוך גבולות הגזרה: מריצים עדכון לכל משימה אחרי שמוסיפים את Cloud Scheduler לגבולות הגזרה. להסבר, ראו איך אוכפים את VPC Service Controls על עבודות קיימות במסמך הזה.
יעדים נתמכים
השילוב של Cloud Scheduler עם VPC Service Controls תומך ביעדים הבאים. נקודות קצה של HTTP נתמכות אם הן מופיעות ברשימה, אבל לא נתמכות נקודות קצה שרירותיות של HTTP.
- שירותי Cloud Run – בכתובת ה-URL
run.app. - פונקציות Cloud Run – בכתובת ה-URL
functions.net. Google Cloud APIs שתואמים ל-VPC Service Controls (בגרסת Preview או ב-GA) – יכולים להיות בפרויקט אחר Google Cloud מהמשימה של Cloud Scheduler.
במשימות ב-Cloud Run, הפורמט הנתמך של ה-URI הוא:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:runכדי להבין את ההבדל בין משאבי שירות ומשימות ב-Cloud Run, אפשר לעיין במאמר שירותים ומשימות: שתי דרכים להפעלת הקוד.
Pub/Sub
יעדים לא נתמכים
אם Cloud Scheduler הוא שירות מוגבל בגבולות הגזרה של VPC Service Controls, כל ניסיון ליצור או לעדכן משימה עם יעד לא נתמך ייכשל עם קוד השגיאה TARGET_TYPE_NOT_PERMITTED_FOR_VPC. הפעולה הזו לא יוצרת יומן הפרות כשמשתמשים במצב הרצה יבשה.
כדי למנוע חסימה לא צפויה של עומסי העבודה, צריך למחוק את כל המשימות עם יעדים שלא נתמכים או עם יעדים שנמצאים מחוץ לגבולות הגזרה של VPC Service Controls שמתכננים להשתמש בהם, לפני שמעבירים את גבולות הגזרה למצב אכיפה.
מחיקת משרות שלא עומדות בדרישות
מומלץ. מחיקת משימות של Cloud Scheduler עם יעדים שהם:
- לא נתמך (ראו יעדים נתמכים)
- מחוץ לגבולות הגזרה של VPC Service Controls שבהם אתם מתכננים להשתמש
הוראות למחיקת משרות זמינות במאמר מחיקת משרה.
אם לא תמחקו את המשימות האלה לפני שתוסיפו את Cloud Scheduler לגבולות הגזרה של VPC Service Controls, המשימות ימשיכו לפעול, אבל לא יחול עליהן VPC Service Controls. להסבר, ראו פעולות שנאכפות.
לדוגמה, אם יש לכם משימה ב-Cloud Scheduler שמכוונת ליעד לא נתמך (כמו דומיין מותאם אישית של Cloud Run), המשימה תמשיך לפעול אחרי שתוסיפו את Cloud Scheduler למתחם ההיקפי של VPC Service Controls, אבל היא לא תהיה מוגנת על ידי VPC Service Controls. הדבר נכון גם לגבי עבודות קיימות עם יעד מחוץ לגבולות הגזרה של VPC Service Controls.
הוספת תפקידי IAM נדרשים
חובה. כדי להשתמש ב-VPC Service Controls, לחשבון השירות של Cloud Scheduler צריך להיות תפקיד IAM של Cloud Scheduler Service Agent. חשבון השירות של Cloud Scheduler נוצר אוטומטית עבור הפרויקט. כדי לוודא שלסוכן השירות מוקצה תפקיד IAM של Cloud Scheduler, או כדי להקצות לו את התפקיד הזה, מבצעים את השלבים הבאים:
במסוף Google Cloud , נכנסים אל IAM.
מסמנים את התיבה Include Google-provided role grants.
במסנן, מקלידים Cloud Scheduler Service Account ובוחרים את הגורם הזה.
בודקים את העמודה תפקיד של החשבון הראשי Cloud Scheduler Service Account. אפשר להמשיך אם התפקיד הבא מופיע ברשימה:
- סוכן שירות של Cloud Scheduler
אם התפקיד של חשבון השירות של Cloud Scheduler לא מופיע, לוחצים על סמל העריכה ומעניקים את התפקיד Cloud Scheduler Service Agent לחשבון המשתמש של חשבון השירות של Cloud Scheduler.
ציון גבול גזרה של VPC Service Controls
חובה. אתם יכולים להשתמש בגבולות גזרה קיימים או ליצור גבולות גזרה חדשים כדי להגן על משימות Cloud Scheduler שיש להן יעדים נתמכים. בשתי הגישות יש אפשרות לציין שירותים להגבלה. מציינים את Cloud Scheduler API.
גבולות גזרה קיימים: כדי לעדכן גבול גזרה קיים של VPC Service Controls כך שיכלול את Cloud Scheduler, פועלים לפי השלבים של עדכון גבול גזרה לשירות.
גבולות גזרה חדשים: כדי ליצור גבול גזרה חדש ל-Cloud Scheduler, פועלים לפי השלבים ליצירת גבול גזרה לשירות.
אכיפת VPC Service Controls על משימות קיימות
מומלץ. כדי לאכוף את VPC Service Controls על משימות Cloud Scheduler שיצרתם לפני שהוספתם את Cloud Scheduler לגבולות הגזרה של VPC Service Controls, מריצים update על המשימה. לא צריך לשנות את העבודה, אבל צריך להריץ את העדכון כדי ש-VPC Service Controls יחול על העבודה ועל ההרצות העתידיות שלה.
אפשר להריץ עדכון למשימה ממסוף Google Cloud (בוחרים את המשימה ומשתמשים בלחצן עריכה), באמצעות ה-API או באמצעות ה-CLI של gcloud.
כדי לאכוף את VPC Service Controls על עבודה קיימת באמצעות ה-CLI של gcloud, מריצים את הפקודה הבאה:
יעדי HTTP
gcloud scheduler jobs update http JOB_ID
מחליפים את JOB_ID במזהה המשימה.
יעדים של Pub/Sub
gcloud scheduler jobs update pubsub JOB_ID
מחליפים את JOB_ID במזהה המשימה.