במדריך הזה מוסבר איך ליצור ולנהל תגים למשאבי Compute Engine. תג הוא צמד מפתח/ערך שאפשר לצרף לGoogle Cloud משאב. התגים משמשים למגוון מטרות, כולל:
- להגדיר תנאי לאישור או לדחייה של כללי מדיניות אם תג ספציפי מצורף או לא מצורף למשאב.
- הגדרת מקורות ויעדים במדיניות חומת אש בין רשתות גלובלית ובמדיניות חומת אש בין רשתות אזורית.
- ארגון המשאבים באופן לוגי.
אחרי שיוצרים תג ומעניקים גישה מתאימה לתג ולמשאב, אפשר לצרף את התג כצמד מפתח/ערך. אפשר לצרף רק ערך אחד לכל משאב של מפתח נתון. לדוגמה, אם מצמידים את התג environment: development, אי אפשר להצמיד את התגים environment: production או environment: test. לכל משאב אפשר לצרף עד 50 צמדי מפתח/ערך.
כדי לצרף תגים למשאבים, צריך ליצור משאב של קישור בין תגים שמקשר את ערך התג ל Google Cloud משאב. מידע נוסף על תגים ועל אופן הפעולה שלהם זמין במאמר סקירה כללית על תגים.
לפני שמתחילים
- אפשר לקרוא את הסקירה הכללית על תגים במאמרי העזרה של Resource Manager.
- אפשר לקרוא את המאמר יצירה וניהול של תגים בתיעוד של Resource Manager.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של תגים למשאבי Compute Engine, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון או בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי ליצור ולנהל תגים:
תפקיד Tag Administrator (
roles/resourcemanager.tagAdmin) -
כדי לנהל תגים קיימים:
Tag User (
roles/resourcemanager.tagUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירה ולניהול של תגים למשאבי Compute Engine. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור ולנהל תגים למשאבי Compute Engine, צריך את ההרשאות הבאות:
-
View tags:
-
resourcemanager.tagKeys.get -
resourcemanager.tagKeys.list -
resourcemanager.tagValues.list -
resourcemanager.tagValues.get -
compute.instances.listTagBindings -
compute.instances.listEffectiveTags -
resourcemanager.projects.get
-
-
יוצרים תגים:
-
resourcemanager.tagKeys.create -
resourcemanager.tagValues.create -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
ניהול תגים:
-
resourcemanager.tagKeys.update -
resourcemanager.tagValues.update -
resourcemanager.tagKeys.delete -
resourcemanager.tagValues.delete -
resourcemanager.tagKeys.getIamPolicy -
resourcemanager.tagValues.getIamPolicy -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
מוסיפים או מסירים תגים למופע של מכונת חישוב:
-
compute.instances.createTagBinding -
compute.instances.deleteTagBinding -
resourcemanager.tagValueBindings.create -
resourcemanager.tagValueBindings.delete
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
משאבים נתמכים
Compute Engine תומך בתיוג של המשאבים הבאים:
רק אחרי יצירת משאב:
- קבוצות של מופעי מכונה מנוהלים (MIG)
- בדיקות תקינות
גם במהלך יצירת המשאב וגם אחרי:
- מכונות וירטואליות (VM)
- דיסקים
- תמונות
- Snapshots
- רשתות VPC
- רשתות משנה של VPC
- כללי חומת אש ב-VPC
- מסלולי VPC
- Cloud Routers
הוספת תגים למשאב
אפשר לצרף תגים קיימים למשאבים מסוימים. אחרי שהמשאב נוצר, מצמידים לו תגים לפי ההוראות הבאות.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מצרפים תג למכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על שם המכונה הווירטואלית שרוצים להוסיף לה תגים.
בדף הפרטים של מכונת ה-VM, מבצעים את השלבים הבאים:
- לוחצים על Edit.
- בקטע Basic information, לוחצים על Manage tags ומוסיפים את התגים הרצויים למופע.
- לוחצים על Save.
gcloud
במאמר צירוף תגים למשאבים במאמרי העזרה של Resource Manager מוסבר איך להשתמש בדגלים האלה.
לדוגמה, הפקודה הבאה מצרפת תג למכונה וירטואלית:
gcloud resource-manager tags bindings create \
--location=LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. אם המשאב הוא גלובלי, לא מציינים את הדגל--location. -
TAGVALUE_ID: המזהה המספרי של ערך התג
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של מכונת ה-VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע של המכונה הווירטואלית
-
REST
כדי לצרף תג למשאב, קודם צריך ליצור ייצוג JSON של קישור תג שכולל את המזהה הקבוע או את שם מרחב השמות של ערך התג ואת המזהה הקבוע של המשאב. למידע נוסף על הפורמט של tagBinding, אפשר לעיין בחומר העזר בנושא tagBindings.
כדי לצרף את התג למשאב של תחום מוגדר, כמו מכונה וירטואלית, משתמשים בשיטה tagBindings.create עם נקודת הקצה האזורית שבה נמצא המשאב. לדוגמה:
POST https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings
גוף הבקשה יכול להיות אחת משתי האפשרויות הבאות:
{
"parent": "FULL_RESOURCE_NAME",
"tagValue": "tagValue/TAGVALUE_ID"
}
{
"parent": "FULL_RESOURCE_NAME",
"tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום האזורי של המשאב. למכונה וירטואלית, מציינים את האזור. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME-
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של מכונת ה-VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע של המכונה הווירטואלית
-
TAGVALUE_ID: המזהה הקבוע של ערך התג שמצורף. לדוגמה:4567890123
TAGVALUE_NAMESPACED_NAME: שם מרחב השמות של ערך התג שמצורף, בפורמט:parentNamespace/tagKeyShortName/tagValueShortName
הוספת תגים למשאב במהלך יצירת המשאב
בתרחישים מסוימים, יכול להיות שתרצו לתייג משאבים במהלך יצירת המשאבים, ולא אחרי שהמשאב נוצר.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. השלבים הבאים מיועדים למכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
לוחצים על Create instance. הדף Create an instance מופיע ובו החלונית Machine configuration.
בתפריט הניווט, לוחצים על מתקדם. בחלונית Advanced שמופיעה, מבצעים את הפעולות הבאות:
- מרחיבים את הקטע Manage tags and labels (ניהול תגים ותוויות).
- לוחצים על הוספת תגים.
- בחלונית Tags שנפתחת, פועלים לפי ההוראות להוספת תג למופע.
- לוחצים על Save.
מציינים אפשרויות הגדרה אחרות למופע. למידע נוסף, קראו את המאמר אפשרויות הגדרה במהלך יצירת מכונה.
כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.
gcloud
כדי לצרף תג למשאב במהלך יצירת המשאב, מוסיפים את הדגל --resource-manager-tags עם הפקודה המתאימה create. לדוגמה, כדי לצרף תג למכונה וירטואלית, משתמשים בפקודה הבאה:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_IDמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מופע מכונת ה-VM -
ZONE: האזור שמכיל את המופע של המכונה הווירטואלית -
TAGKEY_ID: המזהה המספרי של מפתח התג -
TAGVALUE_ID: המזהה המספרי הקבוע של ערך התג שמצורף – לדוגמה:4567890123
כדי לציין כמה תגים, מפרידים ביניהם באמצעות פסיק, למשל,
TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.
REST
שולחים בקשת POST לכתובת ה-URL הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances
כוללים את תוכן בקשת ה-JSON הבא:
{
"name": INSTANCE_NAME,
"params": {
"resourceManagerTags": {
"tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
},
}
// other fields omitted
}מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מופע מכונת ה-VM -
TAGKEY_ID: המזהה המספרי של מפתח התג -
TAGVALUE_ID: המזהה המספרי הקבוע של ערך התג שמצורף – לדוגמה:4567890123
שימוש בתגים עם כללים של חומת אש
כדי לאפשר תנועת רשת למכונה ספציפית של Compute Engine בצורה מאובטחת, אפשר להחיל על המכונה תג רשת או תג מאובטח. לאחר מכן, תוכלו ליצור כלל לחומת האש שמכוון לתג הזה. האפשרות הזו שימושית לניהול גישה למופעים שלכם בהיקף גדול.
לדוגמה, נניח שיש לכם מופע של מחשוב שמריץ שרת אינטרנט, ויצרתם אפליקציית אינטרנט חדשה שצריכה להיות נגישה לציבור ביציאת HTTP רגילה (80). אפשר להשתמש בתג רשת או בתג מאובטח כדי להטמיע כלל חומת אש שמעניק גישת HTTP רק למופע של Compute שבו פועל שרת האינטרנט.
הוראות ליצירת תגים לשימוש במדיניות של חומת האש מפורטות במאמרים הבאים:
- כדי להשתמש בתגי רשת עם כללי חומת אש של VPC, אפשר לעיין במאמר בנושא הוספת תגי רשת.
- כדי להשתמש בתגים מאובטחים עם מדיניות חומת אש היררכית, מדיניות חומת אש גלובלית או אזורית ברשת, או כדי להשתמש בהם עם מקורות שמחוברים באמצעות שירות VPC Network Peering, אפשר לעיין במאמר בנושא יצירה וניהול של תגים מאובטחים.
מידע על השימוש בחשבונות שירות או בתגי רשת כדי להגדיר יעדים ומקורות לכללי כניסה לרשת זמין במאמר סינון לפי חשבון שירות לעומת תג רשת.
ניתוק תג ממשאב
כדי לבטל את הקישור של תג למשאב, צריך למחוק את משאב הקישור בין התגים.
הוראות להסרת תגים מופיעות במאמר הסרת תג ממשאב בתיעוד של מנהל המשאבים.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מנתקים תג ממכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על שם המכונה שרוצים להסיר ממנה תגים.
בדף הפרטים של מכונת ה-VM, מבצעים את השלבים הבאים:
- לוחצים על Edit.
- בתגי Resource Manager, בקטע Basic information (מידע בסיסי), לוחצים על Manage Tags (ניהול תגים). מסירים את התגים שרוצים מהמופע. אפשר להסיר רק תגים שהוספתם ישירות למופע.
- במקרה של תגי רשת, בקטע Networking, מסירים את התג מהרשימה Network tags.
- לוחצים על Save.
gcloud
כדי לנתק תג ממכונת Compute, משתמשים בפקודה resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--location=LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. למשאב גלובלי, משמיטים את הדגל--location=LOCATION_NAME \ -
TAGVALUE_ID: המזהה המספרי של ערך התג
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-
כדי לעדכן או להחליף קישור תגים קיים בקישור אחר, צריך לבטל את הקישור הישן ולצרף את הקישור החדש.
REST
כדי למחוק קישור תג שצורף למשאב, כמו מכונת מחשוב, משתמשים בשיטה tagBindings.delete עם נקודת הקצה האזורית שבה נמצא המשאב.
DELETE https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום האזורי של המשאב. לדוגמה, צריך לציין את האזור של מופע. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME- -
TAGBINDINGS_NAME: המזהה הקבוע של TagBinding. לדוגמה:tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456
הצגת התגים שמצורפים למשאב
הוראות מפורטות להצגת רשימת התגים זמינות במאמר הצגת רשימה של כל התגים שמצורפים למשאב בתיעוד של מנהל המשאבים.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מראים איך לצפות בתגים של מכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על השם של המופע שרוצים לראות את התגים שלו.
בדף הפרטים של המכונה הווירטואלית, מחפשים תגים בקטע תגים.
gcloud
כדי לקבל רשימה של תגי tag bindings שמצורפים ישירות למשאב, משתמשים בפקודה gcloud resource-manager tags bindings list. אם מוסיפים את הדגל --effective, מוחזרת גם רשימה של תגים שעברו בירושה על ידי המשאב הזה. לדוגמה:
gcloud resource-manager tags bindings list \
--location=LOCATION_NAME \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. למשאב גלובלי, משמיטים את הדגל--location=LOCATION_NAME \
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-
אם מוסיפים את הדגל --effective לפקודה tags bindings list, מקבלים גם רשימה של כל התגים שהמשאב הזה ירש.
הפלט אמור להיראות כך:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
אם כל התגים שמוערכים במשאב מצורפים ישירות, השדה inherited הוא false ומושמט.
REST
כדי להציג רשימה של צירופי תגים שמצורפים למשאב אזורי, כמו מכונות של Compute Engine, משתמשים בשיטה tagBindings.list עם נקודת הקצה האזורית שבה נמצא המשאב. לדוגמה:
GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings
{
"parent": "FULL_RESOURCE_NAME"
}
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום האזורי של המשאב. לדוגמה, צריך לציין את האזור של מופע. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME-
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-