פרויקטים ב-Google Cloud מאפשרים לארגן משאבים, לנהל את הגישה ולעקוב אחרי החיוב. כל המשאבים שלכם ב- Google Cloud שייכים לפרויקט, כולל משאבים של Cloud Storage כמו קטגוריות ואובייקטים.
פרויקט מורכב מקבוצה של משתמשים ומקבוצה של ממשקי API, והוא כולל את הגדרות החיוב, האימות והמעקב לאותם ממשקי ה-API. לדוגמה, כל הקטגוריות והאובייקטים שלכם ב-Cloud Storage, כולל הרשאות הגישה של המשתמשים אליהם, נמצאים בפרויקטים.
אתם יכולים ליצור פרויקט אחד, או אם אתם רוצים לארגן את המשאבים שלכם ב- Google Cloud בקבוצות לוגיות (כולל את הנתונים של Cloud Storage), תוכלו ליצור כמה פרויקטים.
למידע רקע, קראו את הסקירה הכללית על פרויקטים ב- Google Cloud.
מתי מציינים פרויקט
ברוב המקרים לא צריך לציין פרויקט כדי לבצע פעולות ב-Cloud Storage. אבל תצטרכו לכלול את מזהה הפרויקט או את מספר הפרויקט במקרים הבאים:
המסוף
כשמשתמשים ב-Cloud Storage במסוף Google Cloud , השיוך לפרויקט מתבצע באופן אוטומטי. אפשר לעבור בין פרויקטים באמצעות התפריט הנפתח שבחלק העליון של החלון במסוף Google Cloud .
כשניגשים בפעם הראשונה לקטגוריה שהופעלה בה האפשרות Requester Pays, תתבקשו לבחור פרויקט לחיוב הבקשות. בהמשך תוכלו לשנות את הפרויקט לחיוב בלחיצה על Change project שמעל רשימת האובייקטים בקטגוריה.
שורת הפקודה
הפקודות הבאות משתמשות במאפיין project שמוגדר בהגדרות של Google Cloud CLI, אלא אם תשתמשו בפקודה בדגל הגלובלי --project כדי לציין פרויקט אחר:
storage buckets create- הפקודה
storage ls(כשמציגים רשימת קטגוריות) והפקודהstorage buckets list storage service-agent- הפקודה
storage hmac createוהפקודהstorage hmac list
כדי לציין את הפרויקט לחיוב על גישה לקטגוריה, משתמשים בדגל הגלובלי --billing-project ומציינים את מזהה הפרויקט. האפשרות הזאת נדרשת רק כשניגשים לקטגוריה שמופעלת בה האפשרות Requester Pays. אחרת, היא אופציונלית.
ספריות לקוח
כשעובדים עם ספריות הלקוח של Cloud Storage, התנאים שבהם צריך לציין מזהה פרויקט זהים לתנאים שמפורטים ב-API בפורמט JSON.
API בפורמט JSON
כשמשתמשים בשיטות הבאות חייבים לציין את הפרויקט:
- List buckets
- Insert bucket
- Get project service agent
- כל השיטות שמשויכות למשאבים של מפתחות HMAC
מזהה הפרויקט עובר כפרמטר בכתובת ה-URL של הבקשה, כמו בדוגמה הבאה:
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
כדי לציין פרויקט לחיוב על גישה לקטגוריה, משתמשים בפרמטר השאילתה "userProject" ומציינים את מזהה הפרויקט, כמו בדוגמה הבאה:
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
פרמטר השאילתה הזה נדרש רק כשניגשים לקטגוריה שמופעלת בה האפשרות Requester Pays. אחרת, הוא אופציונלי.
API בפורמט XML
בבקשות הבאות חייבים לציין פרויקט, אלא אם הגדרתם פרויקט ברירת מחדל לגישה עם יכולת פעולה הדדית:
הפרויקט שמשויך לבקשות API מבוסס-XML מצוין בכותרת ה-HTTP x-goog-project-id, כמו בדוגמה הבאה:
x-goog-project-id: PROJECT_ID
בבקשות API בפורמט XML אחרות, הכותרת הזו אופציונלית.
כדי לציין פרויקט לחיוב על גישה לקטגוריה, משתמשים בכותרת 'x-goog-user-project' ומציינים את מזהה הפרויקט, כמו בדוגמה הבאה:
x-goog-user-project: PROJECT_ID
הכותרת הזאת נדרשת רק כשניגשים לקטגוריה שמופעלת בה האפשרות Requester Pays. אחרת, היא אופציונלית.
פרויקטים והרשאות
כדי לתת למשתמשים את היכולת לנהל פרויקטים ולעבוד איתם, משתמשים בניהול זהויות והרשאות גישה (IAM). כשמקצים תפקיד IAM לחשבון משתמש, למשל חשבון Google, חשבון המשתמש מקבל הרשאות מסוימות שמאפשרות לו לבצע פעולות. כשמקצים תפקיד ברמת הפרויקט, הגישה שהתפקיד מספק חלה על כל הקטגוריות והאובייקטים שבפרויקט. לחלופין, כשמקצים את התפקיד בקטגוריה מסוימת, הגישה שהתפקיד מספק מוגבלת רק לאותה הקטגוריה ולאובייקטים שבה.
במאמר תפקידי IAM ב-Cloud Storage מוצגת רשימת התפקידים הזמינים שחלים על Cloud Storage. בנוסף, תוכלו לקרוא הסבר על קבוצת התפקידים המיוחדת של תפקידים בסיסיים ואיך הם חלים על Cloud Storage.
במאמר שימוש ב-IAM עם פרויקטים מוסבר איך רואים מה התפקידים של חשבון משתמש ברמת הקטגוריה והפרויקט ואיך מקצים ומבטלים אותם.
חשבונות שירות
באמצעות חשבונות שירות, אפליקציות יכולות לבצע אימות מול משאבים ושירותים שלGoogle Cloud ולגשת אליהם. לדוגמה, אפשר ליצור חשבון שירות ולהשתמש בו במכונות של Compute Engine כדי לגשת לאובייקטים שמאוחסנים בקטגוריות של Cloud Storage. את חשבונות השירות יוצרים בתוך הפרויקט, ויש להם כתובת אימייל ייחודית שמזהה אותם.
ריכזנו כאן דוגמאות לפעולות שקשורות ל-Cloud Storage, ובדרך כלל מבוצעות באמצעות חשבונות שירות שאתם יוצרים ומנהלים:
- ביצוע העברות של Storage Transfer Service.
- העברה של נתונים אל מכונות של Cloud SQL ומהן.
- יצירת כתובות URL חתומות.
סוכני שירות
סוכן שירות הוא סוג מיוחד של חשבון שירות שפועל בשם שירות ב- Google Cloud . ב-Cloud Storage משתמשים בסוכן שירות לצורך שימוש בתכונות הבאות:
כשיוצרים פרויקט, בהתחלה סוכן השירות של Cloud Storage לא זמין. הוא מופעל באופן אוטומטי רק בפעם הראשונה שניגשים אליו, על ידי הפעלת אחת מהתכונות שצוינו למעלה או כששולחים בקשה לקריאת שם של סוכן השירות. כדי ללהקצות הרשאות לסוכן השירות, חייבים קודם להפעיל אותו.
כתובת האימייל הבאה היא דוגמה לסוכן השירות של Cloud Storage שמשויך למספר הפרויקט 123456789876:
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
מחיקות של פרויקטים
כשמוחקים (משביתים) פרויקט, גם הקטגוריות של Cloud Storage והאובייקטים שבתוכן נמחקים, אלא אם הם מוגנים באמצעות מחיקה זמנית. כדי להגן על הנתונים במקרה שפרויקט נמחק בטעות או בזדון, מומלץ להפעיל מחיקה זמנית בקטגוריות:
אם תמחקו את הפרויקט, כל קטגוריה שמופעלת בה מחיקה זמנית תישמר למשך תקופת השמירה של המחיקה הזמנית או למשך Google Cloud חלון הזמן לשחזור הפרויקט, לפי התקופה הקצרה מביניהן. אחרי פרק הזמן הזה, הקטגוריה נמחקת באופן סופי.
אם משחזרים פרויקט שנמחק, הקטגוריות משוחזרות למצב שבו הן היו כשהפרויקט נמחק. לדוגמה, קטגוריות שהיו פעילות כשהפרויקט נמחק משוחזרות כקטגוריות פעילות.
יכול להיות שקטגוריות שלא מוגנות על ידי מחיקה רכה יימחקו מיד כשהפרויקט יימחק, ולא יהיה אפשר לשחזר אותן.
כדי להגן על הנתונים מפני מחיקת פרויקטים, מומלץ גם:
להגביל את הגישה למחיקה ברמת הפרויקט באמצעות הצבת מנעול למניעת מחיקה בפרויקטים.
לגבות נתונים קריטיים לעסק בקטגוריות בפרויקט אחר.
מידע נוסף על אפשרויות להגנה על הנתונים ולשחזור שלהם זמין במאמר אפשרויות להגנה על נתונים, לגיבוי ולשחזור.
המאמרים הבאים
- השלמת אחד מהמדריכים למתחילים של Cloud Storage
- איך יוצרים פרויקט חדש ומנהלים פרויקטים קיימים
- איך מנהלים את הנתונים במסוף Google Cloud
- ניהול של חשבונות השירות בפרויקט